2 from juju
.client
.facade
import Type
, ReturnMapping
5 _toSchema
= {'name': 'name', 'parameters': 'parameters', 'tag': 'tag', 'receiver': 'receiver'}
6 _toPy
= {'name': 'name', 'parameters': 'parameters', 'tag': 'tag', 'receiver': 'receiver'}
7 def __init__(self
, name
=None, parameters
=None, receiver
=None, tag
=None):
10 parameters : typing.Mapping[str, typing.Any]
15 self
.parameters
= parameters
16 self
.receiver
= receiver
20 class ActionResult(Type
):
21 _toSchema
= {'completed': 'completed', 'started': 'started', 'message': 'message', 'action': 'action', 'output': 'output', 'status': 'status', 'error': 'error', 'enqueued': 'enqueued'}
22 _toPy
= {'completed': 'completed', 'started': 'started', 'message': 'message', 'action': 'action', 'output': 'output', 'status': 'status', 'error': 'error', 'enqueued': 'enqueued'}
23 def __init__(self
, action
=None, completed
=None, enqueued
=None, error
=None, message
=None, output
=None, started
=None, status
=None):
30 output : typing.Mapping[str, typing.Any]
34 self
.action
= Action
.from_json(action
) if action
else None
35 self
.completed
= completed
36 self
.enqueued
= enqueued
37 self
.error
= Error
.from_json(error
) if error
else None
38 self
.message
= message
40 self
.started
= started
44 class ActionResults(Type
):
45 _toSchema
= {'results': 'results'}
46 _toPy
= {'results': 'results'}
47 def __init__(self
, results
=None):
49 results : typing.Sequence[~ActionResult]
51 self
.results
= [ActionResult
.from_json(o
) for o
in results
or []]
55 _toSchema
= {'actions': 'actions'}
56 _toPy
= {'actions': 'actions'}
57 def __init__(self
, actions
=None):
59 actions : typing.Sequence[~Action]
61 self
.actions
= [Action
.from_json(o
) for o
in actions
or []]
64 class ActionsByName(Type
):
65 _toSchema
= {'name': 'name', 'error': 'error', 'actions': 'actions'}
66 _toPy
= {'name': 'name', 'error': 'error', 'actions': 'actions'}
67 def __init__(self
, actions
=None, error
=None, name
=None):
69 actions : typing.Sequence[~ActionResult]
73 self
.actions
= [ActionResult
.from_json(o
) for o
in actions
or []]
74 self
.error
= Error
.from_json(error
) if error
else None
78 class ActionsByNames(Type
):
79 _toSchema
= {'actions': 'actions'}
80 _toPy
= {'actions': 'actions'}
81 def __init__(self
, actions
=None):
83 actions : typing.Sequence[~ActionsByName]
85 self
.actions
= [ActionsByName
.from_json(o
) for o
in actions
or []]
88 class ActionsByReceiver(Type
):
89 _toSchema
= {'error': 'error', 'actions': 'actions', 'receiver': 'receiver'}
90 _toPy
= {'error': 'error', 'actions': 'actions', 'receiver': 'receiver'}
91 def __init__(self
, actions
=None, error
=None, receiver
=None):
93 actions : typing.Sequence[~ActionResult]
97 self
.actions
= [ActionResult
.from_json(o
) for o
in actions
or []]
98 self
.error
= Error
.from_json(error
) if error
else None
99 self
.receiver
= receiver
102 class ActionsByReceivers(Type
):
103 _toSchema
= {'actions': 'actions'}
104 _toPy
= {'actions': 'actions'}
105 def __init__(self
, actions
=None):
107 actions : typing.Sequence[~ActionsByReceiver]
109 self
.actions
= [ActionsByReceiver
.from_json(o
) for o
in actions
or []]
112 class Entities(Type
):
113 _toSchema
= {'entities': 'Entities'}
114 _toPy
= {'Entities': 'entities'}
115 def __init__(self
, entities
=None):
117 entities : typing.Sequence[~Entity]
119 self
.entities
= [Entity
.from_json(o
) for o
in entities
or []]
123 _toSchema
= {'tag': 'Tag'}
124 _toPy
= {'Tag': 'tag'}
125 def __init__(self
, tag
=None):
133 _toSchema
= {'message': 'Message', 'code': 'Code', 'info': 'Info'}
134 _toPy
= {'Code': 'code', 'Message': 'message', 'Info': 'info'}
135 def __init__(self
, code
=None, info
=None, message
=None):
142 self
.info
= ErrorInfo
.from_json(info
) if info
else None
143 self
.message
= message
146 class ErrorInfo(Type
):
147 _toSchema
= {'macaroon': 'Macaroon', 'macaroonpath': 'MacaroonPath'}
148 _toPy
= {'MacaroonPath': 'macaroonpath', 'Macaroon': 'macaroon'}
149 def __init__(self
, macaroon
=None, macaroonpath
=None):
154 self
.macaroon
= Macaroon
.from_json(macaroon
) if macaroon
else None
155 self
.macaroonpath
= macaroonpath
158 class FindActionsByNames(Type
):
159 _toSchema
= {'names': 'names'}
160 _toPy
= {'names': 'names'}
161 def __init__(self
, names
=None):
163 names : typing.Sequence[str]
168 class FindTags(Type
):
169 _toSchema
= {'prefixes': 'prefixes'}
170 _toPy
= {'prefixes': 'prefixes'}
171 def __init__(self
, prefixes
=None):
173 prefixes : typing.Sequence[str]
175 self
.prefixes
= prefixes
178 class FindTagsResults(Type
):
179 _toSchema
= {'matches': 'matches'}
180 _toPy
= {'matches': 'matches'}
181 def __init__(self
, matches
=None):
183 matches : typing.Sequence[~Entity]
185 self
.matches
= [Entity
.from_json(o
) for o
in matches
or []]
188 class Macaroon(Type
):
189 _toSchema
= {'caveats': 'caveats', 'data': 'data', 'location': 'location', 'id_': 'id', 'sig': 'sig'}
190 _toPy
= {'caveats': 'caveats', 'data': 'data', 'sig': 'sig', 'location': 'location', 'id': 'id_'}
191 def __init__(self
, caveats
=None, data
=None, id_
=None, location
=None, sig
=None):
193 caveats : typing.Sequence[~caveat]
194 data : typing.Sequence[int]
197 sig : typing.Sequence[int]
199 self
.caveats
= [caveat
.from_json(o
) for o
in caveats
or []]
201 self
.id_
= packet
.from_json(id_
) if id_
else None
202 self
.location
= packet
.from_json(location
) if location
else None
206 class RunParams(Type
):
207 _toSchema
= {'machines': 'Machines', 'timeout': 'Timeout', 'commands': 'Commands', 'services': 'Services', 'units': 'Units'}
208 _toPy
= {'Services': 'services', 'Units': 'units', 'Timeout': 'timeout', 'Commands': 'commands', 'Machines': 'machines'}
209 def __init__(self
, commands
=None, machines
=None, services
=None, timeout
=None, units
=None):
212 machines : typing.Sequence[str]
213 services : typing.Sequence[str]
215 units : typing.Sequence[str]
217 self
.commands
= commands
218 self
.machines
= machines
219 self
.services
= services
220 self
.timeout
= timeout
224 class ServiceCharmActionsResult(Type
):
225 _toSchema
= {'servicetag': 'servicetag', 'error': 'error', 'actions': 'actions'}
226 _toPy
= {'servicetag': 'servicetag', 'error': 'error', 'actions': 'actions'}
227 def __init__(self
, actions
=None, error
=None, servicetag
=None):
233 self
.actions
= Actions
.from_json(actions
) if actions
else None
234 self
.error
= Error
.from_json(error
) if error
else None
235 self
.servicetag
= servicetag
238 class ServicesCharmActionsResults(Type
):
239 _toSchema
= {'results': 'results'}
240 _toPy
= {'results': 'results'}
241 def __init__(self
, results
=None):
243 results : typing.Sequence[~ServiceCharmActionsResult]
245 self
.results
= [ServiceCharmActionsResult
.from_json(o
) for o
in results
or []]
249 _toSchema
= {'verificationid': 'verificationId', 'caveatid': 'caveatId', 'location': 'location'}
250 _toPy
= {'verificationId': 'verificationid', 'location': 'location', 'caveatId': 'caveatid'}
251 def __init__(self
, caveatid
=None, location
=None, verificationid
=None):
255 verificationid : packet
257 self
.caveatid
= packet
.from_json(caveatid
) if caveatid
else None
258 self
.location
= packet
.from_json(location
) if location
else None
259 self
.verificationid
= packet
.from_json(verificationid
) if verificationid
else None
263 _toSchema
= {'headerlen': 'headerLen', 'start': 'start', 'totallen': 'totalLen'}
264 _toPy
= {'start': 'start', 'totalLen': 'totallen', 'headerLen': 'headerlen'}
265 def __init__(self
, headerlen
=None, start
=None, totallen
=None):
271 self
.headerlen
= headerlen
273 self
.totallen
= totallen
276 class BoolResult(Type
):
277 _toSchema
= {'error': 'Error', 'result': 'Result'}
278 _toPy
= {'Result': 'result', 'Error': 'error'}
279 def __init__(self
, error
=None, result
=None):
284 self
.error
= Error
.from_json(error
) if error
else None
288 class EntitiesWatchResult(Type
):
289 _toSchema
= {'error': 'Error', 'changes': 'Changes', 'entitywatcherid': 'EntityWatcherId'}
290 _toPy
= {'Changes': 'changes', 'EntityWatcherId': 'entitywatcherid', 'Error': 'error'}
291 def __init__(self
, changes
=None, entitywatcherid
=None, error
=None):
293 changes : typing.Sequence[str]
294 entitywatcherid : str
297 self
.changes
= changes
298 self
.entitywatcherid
= entitywatcherid
299 self
.error
= Error
.from_json(error
) if error
else None
302 class ErrorResult(Type
):
303 _toSchema
= {'message': 'Message', 'code': 'Code', 'info': 'Info'}
304 _toPy
= {'Code': 'code', 'Message': 'message', 'Info': 'info'}
305 def __init__(self
, code
=None, info
=None, message
=None):
312 self
.info
= ErrorInfo
.from_json(info
) if info
else None
313 self
.message
= message
316 class AgentGetEntitiesResult(Type
):
317 _toSchema
= {'jobs': 'Jobs', 'error': 'Error', 'containertype': 'ContainerType', 'life': 'Life'}
318 _toPy
= {'Life': 'life', 'ContainerType': 'containertype', 'Jobs': 'jobs', 'Error': 'error'}
319 def __init__(self
, containertype
=None, error
=None, jobs
=None, life
=None):
323 jobs : typing.Sequence[str]
326 self
.containertype
= containertype
327 self
.error
= Error
.from_json(error
) if error
else None
332 class AgentGetEntitiesResults(Type
):
333 _toSchema
= {'entities': 'Entities'}
334 _toPy
= {'Entities': 'entities'}
335 def __init__(self
, entities
=None):
337 entities : typing.Sequence[~AgentGetEntitiesResult]
339 self
.entities
= [AgentGetEntitiesResult
.from_json(o
) for o
in entities
or []]
342 class EntityPassword(Type
):
343 _toSchema
= {'password': 'Password', 'tag': 'Tag'}
344 _toPy
= {'Password': 'password', 'Tag': 'tag'}
345 def __init__(self
, password
=None, tag
=None):
350 self
.password
= password
354 class EntityPasswords(Type
):
355 _toSchema
= {'changes': 'Changes'}
356 _toPy
= {'Changes': 'changes'}
357 def __init__(self
, changes
=None):
359 changes : typing.Sequence[~EntityPassword]
361 self
.changes
= [EntityPassword
.from_json(o
) for o
in changes
or []]
364 class ErrorResults(Type
):
365 _toSchema
= {'results': 'Results'}
366 _toPy
= {'Results': 'results'}
367 def __init__(self
, results
=None):
369 results : typing.Sequence[~ErrorResult]
371 self
.results
= [ErrorResult
.from_json(o
) for o
in results
or []]
374 class IsMasterResult(Type
):
375 _toSchema
= {'master': 'Master'}
376 _toPy
= {'Master': 'master'}
377 def __init__(self
, master
=None):
384 class ModelConfigResult(Type
):
385 _toSchema
= {'config': 'Config'}
386 _toPy
= {'Config': 'config'}
387 def __init__(self
, config
=None):
389 config : typing.Mapping[str, typing.Any]
394 class NotifyWatchResult(Type
):
395 _toSchema
= {'error': 'Error', 'notifywatcherid': 'NotifyWatcherId'}
396 _toPy
= {'NotifyWatcherId': 'notifywatcherid', 'Error': 'error'}
397 def __init__(self
, error
=None, notifywatcherid
=None):
400 notifywatcherid : str
402 self
.error
= Error
.from_json(error
) if error
else None
403 self
.notifywatcherid
= notifywatcherid
406 class StateServingInfo(Type
):
407 _toSchema
= {'stateport': 'StatePort', 'caprivatekey': 'CAPrivateKey', 'sharedsecret': 'SharedSecret', 'apiport': 'APIPort', 'privatekey': 'PrivateKey', 'cert': 'Cert', 'systemidentity': 'SystemIdentity'}
408 _toPy
= {'CAPrivateKey': 'caprivatekey', 'Cert': 'cert', 'SystemIdentity': 'systemidentity', 'PrivateKey': 'privatekey', 'StatePort': 'stateport', 'SharedSecret': 'sharedsecret', 'APIPort': 'apiport'}
409 def __init__(self
, apiport
=None, caprivatekey
=None, cert
=None, privatekey
=None, sharedsecret
=None, stateport
=None, systemidentity
=None):
419 self
.apiport
= apiport
420 self
.caprivatekey
= caprivatekey
422 self
.privatekey
= privatekey
423 self
.sharedsecret
= sharedsecret
424 self
.stateport
= stateport
425 self
.systemidentity
= systemidentity
428 class AllWatcherNextResults(Type
):
429 _toSchema
= {'deltas': 'Deltas'}
430 _toPy
= {'Deltas': 'deltas'}
431 def __init__(self
, deltas
=None):
433 deltas : typing.Sequence[~Delta]
435 self
.deltas
= [Delta
.from_json(o
) for o
in deltas
or []]
439 _toSchema
= {'removed': 'Removed'}
440 _toPy
= {'Removed': 'removed'}
441 def __init__(self
, removed
=None):
445 self
.removed
= removed
448 class AnnotationsGetResult(Type
):
449 _toSchema
= {'error': 'Error', 'entitytag': 'EntityTag', 'annotations': 'Annotations'}
450 _toPy
= {'EntityTag': 'entitytag', 'Error': 'error', 'Annotations': 'annotations'}
451 def __init__(self
, annotations
=None, entitytag
=None, error
=None):
453 annotations : typing.Mapping[str, str]
457 self
.annotations
= annotations
458 self
.entitytag
= entitytag
459 self
.error
= ErrorResult
.from_json(error
) if error
else None
462 class AnnotationsGetResults(Type
):
463 _toSchema
= {'results': 'Results'}
464 _toPy
= {'Results': 'results'}
465 def __init__(self
, results
=None):
467 results : typing.Sequence[~AnnotationsGetResult]
469 self
.results
= [AnnotationsGetResult
.from_json(o
) for o
in results
or []]
472 class AnnotationsSet(Type
):
473 _toSchema
= {'annotations': 'Annotations'}
474 _toPy
= {'Annotations': 'annotations'}
475 def __init__(self
, annotations
=None):
477 annotations : typing.Sequence[~EntityAnnotations]
479 self
.annotations
= [EntityAnnotations
.from_json(o
) for o
in annotations
or []]
482 class EntityAnnotations(Type
):
483 _toSchema
= {'entitytag': 'EntityTag', 'annotations': 'Annotations'}
484 _toPy
= {'EntityTag': 'entitytag', 'Annotations': 'annotations'}
485 def __init__(self
, annotations
=None, entitytag
=None):
487 annotations : typing.Mapping[str, str]
490 self
.annotations
= annotations
491 self
.entitytag
= entitytag
494 class BackupsCreateArgs(Type
):
495 _toSchema
= {'notes': 'Notes'}
496 _toPy
= {'Notes': 'notes'}
497 def __init__(self
, notes
=None):
504 class BackupsInfoArgs(Type
):
505 _toSchema
= {'id_': 'ID'}
506 _toPy
= {'ID': 'id_'}
507 def __init__(self
, id_
=None):
514 class BackupsListArgs(Type
):
524 class BackupsListResult(Type
):
525 _toSchema
= {'list_': 'List'}
526 _toPy
= {'List': 'list_'}
527 def __init__(self
, list_
=None):
529 list_ : typing.Sequence[~BackupsMetadataResult]
531 self
.list_
= [BackupsMetadataResult
.from_json(o
) for o
in list_
or []]
534 class BackupsMetadataResult(Type
):
535 _toSchema
= {'cacert': 'CACert', 'finished': 'Finished', 'hostname': 'Hostname', 'model': 'Model', 'checksumformat': 'ChecksumFormat', 'checksum': 'Checksum', 'size': 'Size', 'notes': 'Notes', 'stored': 'Stored', 'started': 'Started', 'caprivatekey': 'CAPrivateKey', 'version': 'Version', 'id_': 'ID', 'machine': 'Machine'}
536 _toPy
= {'CAPrivateKey': 'caprivatekey', 'ID': 'id_', 'Machine': 'machine', 'Notes': 'notes', 'Checksum': 'checksum', 'Version': 'version', 'Stored': 'stored', 'ChecksumFormat': 'checksumformat', 'Finished': 'finished', 'Hostname': 'hostname', 'Started': 'started', 'Size': 'size', 'CACert': 'cacert', 'Model': 'model'}
537 def __init__(self
, cacert
=None, caprivatekey
=None, checksum
=None, checksumformat
=None, finished
=None, hostname
=None, id_
=None, machine
=None, model
=None, notes
=None, size
=None, started
=None, stored
=None, version
=None):
555 self
.caprivatekey
= caprivatekey
556 self
.checksum
= checksum
557 self
.checksumformat
= checksumformat
558 self
.finished
= finished
559 self
.hostname
= hostname
561 self
.machine
= machine
565 self
.started
= started
567 self
.version
= Number
.from_json(version
) if version
else None
570 class BackupsRemoveArgs(Type
):
571 _toSchema
= {'id_': 'ID'}
572 _toPy
= {'ID': 'id_'}
573 def __init__(self
, id_
=None):
581 _toSchema
= {'build': 'Build', 'major': 'Major', 'tag': 'Tag', 'patch': 'Patch', 'minor': 'Minor'}
582 _toPy
= {'Tag': 'tag', 'Build': 'build', 'Patch': 'patch', 'Major': 'major', 'Minor': 'minor'}
583 def __init__(self
, build
=None, major
=None, minor
=None, patch
=None, tag
=None):
598 class RestoreArgs(Type
):
599 _toSchema
= {'backupid': 'BackupId'}
600 _toPy
= {'BackupId': 'backupid'}
601 def __init__(self
, backupid
=None):
605 self
.backupid
= backupid
609 _toSchema
= {'tag': 'tag', 'message': 'message', 'type_': 'type', 'id_': 'id'}
610 _toPy
= {'id': 'id_', 'tag': 'tag', 'message': 'message', 'type': 'type_'}
611 def __init__(self
, id_
=None, message
=None, tag
=None, type_
=None):
619 self
.message
= message
624 class BlockResult(Type
):
625 _toSchema
= {'error': 'error', 'result': 'result'}
626 _toPy
= {'error': 'error', 'result': 'result'}
627 def __init__(self
, error
=None, result
=None):
632 self
.error
= Error
.from_json(error
) if error
else None
633 self
.result
= Block
.from_json(result
) if result
else None
636 class BlockResults(Type
):
637 _toSchema
= {'results': 'results'}
638 _toPy
= {'results': 'results'}
639 def __init__(self
, results
=None):
641 results : typing.Sequence[~BlockResult]
643 self
.results
= [BlockResult
.from_json(o
) for o
in results
or []]
646 class BlockSwitchParams(Type
):
647 _toSchema
= {'type_': 'type', 'message': 'message'}
648 _toPy
= {'message': 'message', 'type': 'type_'}
649 def __init__(self
, message
=None, type_
=None):
654 self
.message
= message
658 class CharmInfo(Type
):
659 _toSchema
= {'charmurl': 'CharmURL'}
660 _toPy
= {'CharmURL': 'charmurl'}
661 def __init__(self
, charmurl
=None):
665 self
.charmurl
= charmurl
668 class CharmsList(Type
):
669 _toSchema
= {'names': 'Names'}
670 _toPy
= {'Names': 'names'}
671 def __init__(self
, names
=None):
673 names : typing.Sequence[str]
678 class CharmsListResult(Type
):
679 _toSchema
= {'charmurls': 'CharmURLs'}
680 _toPy
= {'CharmURLs': 'charmurls'}
681 def __init__(self
, charmurls
=None):
683 charmurls : typing.Sequence[str]
685 self
.charmurls
= charmurls
688 class IsMeteredResult(Type
):
689 _toSchema
= {'metered': 'Metered'}
690 _toPy
= {'Metered': 'metered'}
691 def __init__(self
, metered
=None):
695 self
.metered
= metered
698 class APIHostPortsResult(Type
):
699 _toSchema
= {'servers': 'Servers'}
700 _toPy
= {'Servers': 'servers'}
701 def __init__(self
, servers
=None):
703 servers : typing.Sequence[~HostPort]
705 self
.servers
= [HostPort
.from_json(o
) for o
in servers
or []]
708 class AddCharm(Type
):
709 _toSchema
= {'channel': 'Channel', 'url': 'URL'}
710 _toPy
= {'Channel': 'channel', 'URL': 'url'}
711 def __init__(self
, channel
=None, url
=None):
716 self
.channel
= channel
720 class AddCharmWithAuthorization(Type
):
721 _toSchema
= {'channel': 'Channel', 'charmstoremacaroon': 'CharmStoreMacaroon', 'url': 'URL'}
722 _toPy
= {'Channel': 'channel', 'URL': 'url', 'CharmStoreMacaroon': 'charmstoremacaroon'}
723 def __init__(self
, channel
=None, charmstoremacaroon
=None, url
=None):
726 charmstoremacaroon : Macaroon
729 self
.channel
= channel
730 self
.charmstoremacaroon
= Macaroon
.from_json(charmstoremacaroon
) if charmstoremacaroon
else None
734 class AddMachineParams(Type
):
735 _toSchema
= {'series': 'Series', 'jobs': 'Jobs', 'disks': 'Disks', 'containertype': 'ContainerType', 'constraints': 'Constraints', 'instanceid': 'InstanceId', 'placement': 'Placement', 'parentid': 'ParentId', 'addrs': 'Addrs', 'hardwarecharacteristics': 'HardwareCharacteristics', 'nonce': 'Nonce'}
736 _toPy
= {'Series': 'series', 'Placement': 'placement', 'Disks': 'disks', 'Addrs': 'addrs', 'Jobs': 'jobs', 'ParentId': 'parentid', 'InstanceId': 'instanceid', 'Nonce': 'nonce', 'ContainerType': 'containertype', 'HardwareCharacteristics': 'hardwarecharacteristics', 'Constraints': 'constraints'}
737 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):
739 addrs : typing.Sequence[~Address]
742 disks : typing.Sequence[~Constraints]
743 hardwarecharacteristics : HardwareCharacteristics
745 jobs : typing.Sequence[str]
748 placement : Placement
751 self
.addrs
= [Address
.from_json(o
) for o
in addrs
or []]
752 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
753 self
.containertype
= containertype
754 self
.disks
= [Constraints
.from_json(o
) for o
in disks
or []]
755 self
.hardwarecharacteristics
= HardwareCharacteristics
.from_json(hardwarecharacteristics
) if hardwarecharacteristics
else None
756 self
.instanceid
= instanceid
759 self
.parentid
= parentid
760 self
.placement
= Placement
.from_json(placement
) if placement
else None
764 class AddMachines(Type
):
765 _toSchema
= {'machineparams': 'MachineParams'}
766 _toPy
= {'MachineParams': 'machineparams'}
767 def __init__(self
, machineparams
=None):
769 machineparams : typing.Sequence[~AddMachineParams]
771 self
.machineparams
= [AddMachineParams
.from_json(o
) for o
in machineparams
or []]
774 class AddMachinesResult(Type
):
775 _toSchema
= {'error': 'Error', 'machine': 'Machine'}
776 _toPy
= {'Machine': 'machine', 'Error': 'error'}
777 def __init__(self
, error
=None, machine
=None):
782 self
.error
= Error
.from_json(error
) if error
else None
783 self
.machine
= machine
786 class AddMachinesResults(Type
):
787 _toSchema
= {'machines': 'Machines'}
788 _toPy
= {'Machines': 'machines'}
789 def __init__(self
, machines
=None):
791 machines : typing.Sequence[~AddMachinesResult]
793 self
.machines
= [AddMachinesResult
.from_json(o
) for o
in machines
or []]
797 _toSchema
= {'value': 'Value', 'type_': 'Type', 'scope': 'Scope', 'spacename': 'SpaceName'}
798 _toPy
= {'Value': 'value', 'SpaceName': 'spacename', 'Type': 'type_', 'Scope': 'scope'}
799 def __init__(self
, scope
=None, spacename
=None, type_
=None, value
=None):
807 self
.spacename
= spacename
812 class AgentVersionResult(Type
):
813 _toSchema
= {'build': 'Build', 'major': 'Major', 'tag': 'Tag', 'patch': 'Patch', 'minor': 'Minor'}
814 _toPy
= {'Tag': 'tag', 'Build': 'build', 'Patch': 'patch', 'Major': 'major', 'Minor': 'minor'}
815 def __init__(self
, build
=None, major
=None, minor
=None, patch
=None, tag
=None):
830 class AllWatcherId(Type
):
831 _toSchema
= {'allwatcherid': 'AllWatcherId'}
832 _toPy
= {'AllWatcherId': 'allwatcherid'}
833 def __init__(self
, allwatcherid
=None):
837 self
.allwatcherid
= allwatcherid
841 _toSchema
= {'series': 'Series', 'arch': 'Arch', 'number': 'Number'}
842 _toPy
= {'Series': 'series', 'Arch': 'arch', 'Number': 'number'}
843 def __init__(self
, arch
=None, number
=None, series
=None):
850 self
.number
= Number
.from_json(number
) if number
else None
854 class BundleChangesChange(Type
):
855 _toSchema
= {'method': 'method', 'args': 'args', 'id_': 'id', 'requires': 'requires'}
856 _toPy
= {'id': 'id_', 'requires': 'requires', 'args': 'args', 'method': 'method'}
857 def __init__(self
, args
=None, id_
=None, method
=None, requires
=None):
859 args : typing.Sequence[typing.Any]
862 requires : typing.Sequence[str]
867 self
.requires
= requires
870 class Constraints(Type
):
871 _toSchema
= {'size': 'Size', 'pool': 'Pool', 'count': 'Count'}
872 _toPy
= {'Size': 'size', 'Count': 'count', 'Pool': 'pool'}
873 def __init__(self
, count
=None, pool
=None, size
=None):
884 class DestroyMachines(Type
):
885 _toSchema
= {'force': 'Force', 'machinenames': 'MachineNames'}
886 _toPy
= {'MachineNames': 'machinenames', 'Force': 'force'}
887 def __init__(self
, force
=None, machinenames
=None):
890 machinenames : typing.Sequence[str]
893 self
.machinenames
= machinenames
896 class DetailedStatus(Type
):
897 _toSchema
= {'kind': 'Kind', 'since': 'Since', 'version': 'Version', 'data': 'Data', 'status': 'Status', 'info': 'Info', 'life': 'Life'}
898 _toPy
= {'Life': 'life', 'Data': 'data', 'Info': 'info', 'Kind': 'kind', 'Version': 'version', 'Since': 'since', 'Status': 'status'}
899 def __init__(self
, data
=None, info
=None, kind
=None, life
=None, since
=None, status
=None, version
=None):
901 data : typing.Mapping[str, typing.Any]
915 self
.version
= version
918 class EndpointStatus(Type
):
919 _toSchema
= {'name': 'Name', 'subordinate': 'Subordinate', 'role': 'Role', 'servicename': 'ServiceName'}
920 _toPy
= {'Subordinate': 'subordinate', 'Name': 'name', 'Role': 'role', 'ServiceName': 'servicename'}
921 def __init__(self
, name
=None, role
=None, servicename
=None, subordinate
=None):
930 self
.servicename
= servicename
931 self
.subordinate
= subordinate
934 class EntityStatus(Type
):
935 _toSchema
= {'data': 'Data', 'since': 'Since', 'status': 'Status', 'info': 'Info'}
936 _toPy
= {'Since': 'since', 'Data': 'data', 'Status': 'status', 'Info': 'info'}
937 def __init__(self
, data
=None, info
=None, since
=None, status
=None):
939 data : typing.Mapping[str, typing.Any]
950 class FindToolsParams(Type
):
951 _toSchema
= {'majorversion': 'MajorVersion', 'series': 'Series', 'arch': 'Arch', 'number': 'Number', 'minorversion': 'MinorVersion'}
952 _toPy
= {'Series': 'series', 'MinorVersion': 'minorversion', 'MajorVersion': 'majorversion', 'Arch': 'arch', 'Number': 'number'}
953 def __init__(self
, arch
=None, majorversion
=None, minorversion
=None, number
=None, series
=None):
962 self
.majorversion
= majorversion
963 self
.minorversion
= minorversion
964 self
.number
= Number
.from_json(number
) if number
else None
968 class FindToolsResult(Type
):
969 _toSchema
= {'error': 'Error', 'list_': 'List'}
970 _toPy
= {'List': 'list_', 'Error': 'error'}
971 def __init__(self
, error
=None, list_
=None):
974 list_ : typing.Sequence[~Tools]
976 self
.error
= Error
.from_json(error
) if error
else None
977 self
.list_
= [Tools
.from_json(o
) for o
in list_
or []]
980 class FullStatus(Type
):
981 _toSchema
= {'machines': 'Machines', 'modelname': 'ModelName', 'availableversion': 'AvailableVersion', 'services': 'Services', 'relations': 'Relations'}
982 _toPy
= {'Services': 'services', 'ModelName': 'modelname', 'Relations': 'relations', 'AvailableVersion': 'availableversion', 'Machines': 'machines'}
983 def __init__(self
, availableversion
=None, machines
=None, modelname
=None, relations
=None, services
=None):
985 availableversion : str
986 machines : typing.Mapping[str, ~MachineStatus]
988 relations : typing.Sequence[~RelationStatus]
989 services : typing.Mapping[str, ~ServiceStatus]
991 self
.availableversion
= availableversion
992 self
.machines
= {k
: MachineStatus
.from_json(v
) for k
, v
in (machines
or dict()).items()}
993 self
.modelname
= modelname
994 self
.relations
= [RelationStatus
.from_json(o
) for o
in relations
or []]
995 self
.services
= {k
: ServiceStatus
.from_json(v
) for k
, v
in (services
or dict()).items()}
998 class GetBundleChangesParams(Type
):
999 _toSchema
= {'yaml': 'yaml'}
1000 _toPy
= {'yaml': 'yaml'}
1001 def __init__(self
, yaml
=None):
1008 class GetBundleChangesResults(Type
):
1009 _toSchema
= {'errors': 'errors', 'changes': 'changes'}
1010 _toPy
= {'errors': 'errors', 'changes': 'changes'}
1011 def __init__(self
, changes
=None, errors
=None):
1013 changes : typing.Sequence[~BundleChangesChange]
1014 errors : typing.Sequence[str]
1016 self
.changes
= [BundleChangesChange
.from_json(o
) for o
in changes
or []]
1017 self
.errors
= errors
1020 class GetConstraintsResults(Type
):
1021 _toSchema
= {'tags': 'tags', 'container': 'container', 'mem': 'mem', 'arch': 'arch', 'cpu_cores': 'cpu-cores', 'cpu_power': 'cpu-power', 'root_disk': 'root-disk', 'instance_type': 'instance-type', 'spaces': 'spaces', 'virt_type': 'virt-type'}
1022 _toPy
= {'tags': 'tags', 'container': 'container', 'instance-type': 'instance_type', 'mem': 'mem', 'virt-type': 'virt_type', 'cpu-cores': 'cpu_cores', 'arch': 'arch', 'spaces': 'spaces', 'root-disk': 'root_disk', 'cpu-power': 'cpu_power'}
1023 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):
1032 spaces : typing.Sequence[str]
1033 tags : typing.Sequence[str]
1037 self
.container
= container
1038 self
.cpu_cores
= cpu_cores
1039 self
.cpu_power
= cpu_power
1040 self
.instance_type
= instance_type
1042 self
.root_disk
= root_disk
1043 self
.spaces
= spaces
1045 self
.virt_type
= virt_type
1048 class HardwareCharacteristics(Type
):
1049 _toSchema
= {'tags': 'Tags', 'rootdisk': 'RootDisk', 'mem': 'Mem', 'availabilityzone': 'AvailabilityZone', 'cpupower': 'CpuPower', 'arch': 'Arch', 'cpucores': 'CpuCores'}
1050 _toPy
= {'CpuPower': 'cpupower', 'Arch': 'arch', 'AvailabilityZone': 'availabilityzone', 'Tags': 'tags', 'Mem': 'mem', 'RootDisk': 'rootdisk', 'CpuCores': 'cpucores'}
1051 def __init__(self
, arch
=None, availabilityzone
=None, cpucores
=None, cpupower
=None, mem
=None, rootdisk
=None, tags
=None):
1054 availabilityzone : str
1059 tags : typing.Sequence[str]
1062 self
.availabilityzone
= availabilityzone
1063 self
.cpucores
= cpucores
1064 self
.cpupower
= cpupower
1066 self
.rootdisk
= rootdisk
1070 class HostPort(Type
):
1071 _toSchema
= {'port': 'Port', 'address': 'Address'}
1072 _toPy
= {'Address': 'address', 'Port': 'port'}
1073 def __init__(self
, address
=None, port
=None):
1078 self
.address
= Address
.from_json(address
) if address
else None
1082 class MachineStatus(Type
):
1083 _toSchema
= {'jobs': 'Jobs', 'hasvote': 'HasVote', 'hardware': 'Hardware', 'dnsname': 'DNSName', 'agentstatus': 'AgentStatus', 'wantsvote': 'WantsVote', 'instanceid': 'InstanceId', 'containers': 'Containers', 'series': 'Series', 'id_': 'Id', 'instancestatus': 'InstanceStatus'}
1084 _toPy
= {'Containers': 'containers', 'Series': 'series', 'InstanceStatus': 'instancestatus', 'Jobs': 'jobs', 'HasVote': 'hasvote', 'Id': 'id_', 'Hardware': 'hardware', 'DNSName': 'dnsname', 'InstanceId': 'instanceid', 'WantsVote': 'wantsvote', 'AgentStatus': 'agentstatus'}
1085 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):
1087 agentstatus : DetailedStatus
1088 containers : typing.Mapping[str, ~MachineStatus]
1094 instancestatus : DetailedStatus
1095 jobs : typing.Sequence[str]
1099 self
.agentstatus
= DetailedStatus
.from_json(agentstatus
) if agentstatus
else None
1100 self
.containers
= {k
: MachineStatus
.from_json(v
) for k
, v
in (containers
or dict()).items()}
1101 self
.dnsname
= dnsname
1102 self
.hardware
= hardware
1103 self
.hasvote
= hasvote
1105 self
.instanceid
= instanceid
1106 self
.instancestatus
= DetailedStatus
.from_json(instancestatus
) if instancestatus
else None
1108 self
.series
= series
1109 self
.wantsvote
= wantsvote
1112 class MeterStatus(Type
):
1113 _toSchema
= {'message': 'Message', 'color': 'Color'}
1114 _toPy
= {'Color': 'color', 'Message': 'message'}
1115 def __init__(self
, color
=None, message
=None):
1121 self
.message
= message
1124 class ModelConfigResults(Type
):
1125 _toSchema
= {'config': 'Config'}
1126 _toPy
= {'Config': 'config'}
1127 def __init__(self
, config
=None):
1129 config : typing.Mapping[str, typing.Any]
1131 self
.config
= config
1134 class ModelInfo(Type
):
1135 _toSchema
= {'name': 'Name', 'defaultseries': 'DefaultSeries', 'users': 'Users', 'uuid': 'UUID', 'serveruuid': 'ServerUUID', 'status': 'Status', 'ownertag': 'OwnerTag', 'life': 'Life', 'providertype': 'ProviderType'}
1136 _toPy
= {'Name': 'name', 'Life': 'life', 'OwnerTag': 'ownertag', 'UUID': 'uuid', 'ProviderType': 'providertype', 'DefaultSeries': 'defaultseries', 'Users': 'users', 'Status': 'status', 'ServerUUID': 'serveruuid'}
1137 def __init__(self
, defaultseries
=None, life
=None, name
=None, ownertag
=None, providertype
=None, serveruuid
=None, status
=None, uuid
=None, users
=None):
1145 status : EntityStatus
1147 users : typing.Sequence[~ModelUserInfo]
1149 self
.defaultseries
= defaultseries
1152 self
.ownertag
= ownertag
1153 self
.providertype
= providertype
1154 self
.serveruuid
= serveruuid
1155 self
.status
= EntityStatus
.from_json(status
) if status
else None
1157 self
.users
= [ModelUserInfo
.from_json(o
) for o
in users
or []]
1160 class ModelSet(Type
):
1161 _toSchema
= {'config': 'Config'}
1162 _toPy
= {'Config': 'config'}
1163 def __init__(self
, config
=None):
1165 config : typing.Mapping[str, typing.Any]
1167 self
.config
= config
1170 class ModelUnset(Type
):
1171 _toSchema
= {'keys': 'Keys'}
1172 _toPy
= {'Keys': 'keys'}
1173 def __init__(self
, keys
=None):
1175 keys : typing.Sequence[str]
1180 class ModelUserInfo(Type
):
1181 _toSchema
= {'displayname': 'displayname', 'access': 'access', 'user': 'user', 'lastconnection': 'lastconnection'}
1182 _toPy
= {'displayname': 'displayname', 'access': 'access', 'user': 'user', 'lastconnection': 'lastconnection'}
1183 def __init__(self
, access
=None, displayname
=None, lastconnection
=None, user
=None):
1187 lastconnection : str
1190 self
.access
= access
1191 self
.displayname
= displayname
1192 self
.lastconnection
= lastconnection
1196 class ModelUserInfoResult(Type
):
1197 _toSchema
= {'error': 'error', 'result': 'result'}
1198 _toPy
= {'error': 'error', 'result': 'result'}
1199 def __init__(self
, error
=None, result
=None):
1202 result : ModelUserInfo
1204 self
.error
= Error
.from_json(error
) if error
else None
1205 self
.result
= ModelUserInfo
.from_json(result
) if result
else None
1208 class ModelUserInfoResults(Type
):
1209 _toSchema
= {'results': 'results'}
1210 _toPy
= {'results': 'results'}
1211 def __init__(self
, results
=None):
1213 results : typing.Sequence[~ModelUserInfoResult]
1215 self
.results
= [ModelUserInfoResult
.from_json(o
) for o
in results
or []]
1218 class Placement(Type
):
1219 _toSchema
= {'scope': 'Scope', 'directive': 'Directive'}
1220 _toPy
= {'Directive': 'directive', 'Scope': 'scope'}
1221 def __init__(self
, directive
=None, scope
=None):
1226 self
.directive
= directive
1230 class PrivateAddress(Type
):
1231 _toSchema
= {'target': 'Target'}
1232 _toPy
= {'Target': 'target'}
1233 def __init__(self
, target
=None):
1237 self
.target
= target
1240 class PrivateAddressResults(Type
):
1241 _toSchema
= {'privateaddress': 'PrivateAddress'}
1242 _toPy
= {'PrivateAddress': 'privateaddress'}
1243 def __init__(self
, privateaddress
=None):
1245 privateaddress : str
1247 self
.privateaddress
= privateaddress
1250 class ProvisioningScriptParams(Type
):
1251 _toSchema
= {'datadir': 'DataDir', 'nonce': 'Nonce', 'disablepackagecommands': 'DisablePackageCommands', 'machineid': 'MachineId'}
1252 _toPy
= {'MachineId': 'machineid', 'Nonce': 'nonce', 'DataDir': 'datadir', 'DisablePackageCommands': 'disablepackagecommands'}
1253 def __init__(self
, datadir
=None, disablepackagecommands
=None, machineid
=None, nonce
=None):
1256 disablepackagecommands : bool
1260 self
.datadir
= datadir
1261 self
.disablepackagecommands
= disablepackagecommands
1262 self
.machineid
= machineid
1266 class ProvisioningScriptResult(Type
):
1267 _toSchema
= {'script': 'Script'}
1268 _toPy
= {'Script': 'script'}
1269 def __init__(self
, script
=None):
1273 self
.script
= script
1276 class PublicAddress(Type
):
1277 _toSchema
= {'target': 'Target'}
1278 _toPy
= {'Target': 'target'}
1279 def __init__(self
, target
=None):
1283 self
.target
= target
1286 class PublicAddressResults(Type
):
1287 _toSchema
= {'publicaddress': 'PublicAddress'}
1288 _toPy
= {'PublicAddress': 'publicaddress'}
1289 def __init__(self
, publicaddress
=None):
1293 self
.publicaddress
= publicaddress
1296 class RelationStatus(Type
):
1297 _toSchema
= {'scope': 'Scope', 'endpoints': 'Endpoints', 'key': 'Key', 'interface': 'Interface', 'id_': 'Id'}
1298 _toPy
= {'Id': 'id_', 'Scope': 'scope', 'Key': 'key', 'Endpoints': 'endpoints', 'Interface': 'interface'}
1299 def __init__(self
, endpoints
=None, id_
=None, interface
=None, key
=None, scope
=None):
1301 endpoints : typing.Sequence[~EndpointStatus]
1307 self
.endpoints
= [EndpointStatus
.from_json(o
) for o
in endpoints
or []]
1309 self
.interface
= interface
1314 class ResolveCharmResult(Type
):
1315 _toSchema
= {'error': 'Error', 'url': 'URL'}
1316 _toPy
= {'URL': 'url', 'Error': 'error'}
1317 def __init__(self
, error
=None, url
=None):
1323 self
.url
= URL
.from_json(url
) if url
else None
1326 class ResolveCharmResults(Type
):
1327 _toSchema
= {'urls': 'URLs'}
1328 _toPy
= {'URLs': 'urls'}
1329 def __init__(self
, urls
=None):
1331 urls : typing.Sequence[~ResolveCharmResult]
1333 self
.urls
= [ResolveCharmResult
.from_json(o
) for o
in urls
or []]
1336 class ResolveCharms(Type
):
1337 _toSchema
= {'references': 'References'}
1338 _toPy
= {'References': 'references'}
1339 def __init__(self
, references
=None):
1341 references : typing.Sequence[~URL]
1343 self
.references
= [URL
.from_json(o
) for o
in references
or []]
1346 class Resolved(Type
):
1347 _toSchema
= {'unitname': 'UnitName', 'retry': 'Retry'}
1348 _toPy
= {'Retry': 'retry', 'UnitName': 'unitname'}
1349 def __init__(self
, retry
=None, unitname
=None):
1355 self
.unitname
= unitname
1358 class ServiceStatus(Type
):
1359 _toSchema
= {'canupgradeto': 'CanUpgradeTo', 'relations': 'Relations', 'units': 'Units', 'charm': 'Charm', 'status': 'Status', 'meterstatuses': 'MeterStatuses', 'life': 'Life', 'subordinateto': 'SubordinateTo', 'exposed': 'Exposed'}
1360 _toPy
= {'Life': 'life', 'MeterStatuses': 'meterstatuses', 'Exposed': 'exposed', 'Relations': 'relations', 'Units': 'units', 'Status': 'status', 'CanUpgradeTo': 'canupgradeto', 'SubordinateTo': 'subordinateto', 'Charm': 'charm'}
1361 def __init__(self
, canupgradeto
=None, charm
=None, exposed
=None, life
=None, meterstatuses
=None, relations
=None, status
=None, subordinateto
=None, units
=None):
1367 meterstatuses : typing.Mapping[str, ~MeterStatus]
1368 relations : typing.Sequence[str]
1369 status : DetailedStatus
1370 subordinateto : typing.Sequence[str]
1371 units : typing.Mapping[str, ~UnitStatus]
1373 self
.canupgradeto
= canupgradeto
1375 self
.exposed
= exposed
1377 self
.meterstatuses
= {k
: MeterStatus
.from_json(v
) for k
, v
in (meterstatuses
or dict()).items()}
1378 self
.relations
= relations
1379 self
.status
= DetailedStatus
.from_json(status
) if status
else None
1380 self
.subordinateto
= subordinateto
1381 self
.units
= {k
: UnitStatus
.from_json(v
) for k
, v
in (units
or dict()).items()}
1384 class SetConstraints(Type
):
1385 _toSchema
= {'servicename': 'ServiceName', 'constraints': 'Constraints'}
1386 _toPy
= {'ServiceName': 'servicename', 'Constraints': 'constraints'}
1387 def __init__(self
, constraints
=None, servicename
=None):
1392 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
1393 self
.servicename
= servicename
1396 class SetModelAgentVersion(Type
):
1397 _toSchema
= {'build': 'Build', 'major': 'Major', 'tag': 'Tag', 'patch': 'Patch', 'minor': 'Minor'}
1398 _toPy
= {'Tag': 'tag', 'Build': 'build', 'Patch': 'patch', 'Major': 'major', 'Minor': 'minor'}
1399 def __init__(self
, build
=None, major
=None, minor
=None, patch
=None, tag
=None):
1414 class StatusHistoryArgs(Type
):
1415 _toSchema
= {'kind': 'Kind', 'name': 'Name', 'size': 'Size'}
1416 _toPy
= {'Kind': 'kind', 'Size': 'size', 'Name': 'name'}
1417 def __init__(self
, kind
=None, name
=None, size
=None):
1428 class StatusHistoryResults(Type
):
1429 _toSchema
= {'statuses': 'Statuses'}
1430 _toPy
= {'Statuses': 'statuses'}
1431 def __init__(self
, statuses
=None):
1433 statuses : typing.Sequence[~DetailedStatus]
1435 self
.statuses
= [DetailedStatus
.from_json(o
) for o
in statuses
or []]
1438 class StatusParams(Type
):
1439 _toSchema
= {'patterns': 'Patterns'}
1440 _toPy
= {'Patterns': 'patterns'}
1441 def __init__(self
, patterns
=None):
1443 patterns : typing.Sequence[str]
1445 self
.patterns
= patterns
1449 _toSchema
= {'version': 'version', 'url': 'url', 'size': 'size', 'sha256': 'sha256'}
1450 _toPy
= {'version': 'version', 'url': 'url', 'size': 'size', 'sha256': 'sha256'}
1451 def __init__(self
, sha256
=None, size
=None, url
=None, version
=None):
1458 self
.sha256
= sha256
1461 self
.version
= Binary
.from_json(version
) if version
else None
1465 _toSchema
= {'name': 'Name', 'revision': 'Revision', 'series': 'Series', 'user': 'User', 'channel': 'Channel', 'schema': 'Schema'}
1466 _toPy
= {'Name': 'name', 'Channel': 'channel', 'Series': 'series', 'Revision': 'revision', 'User': 'user', 'Schema': 'schema'}
1467 def __init__(self
, channel
=None, name
=None, revision
=None, schema
=None, series
=None, user
=None):
1476 self
.channel
= channel
1478 self
.revision
= revision
1479 self
.schema
= schema
1480 self
.series
= series
1484 class UnitStatus(Type
):
1485 _toSchema
= {'subordinates': 'Subordinates', 'charm': 'Charm', 'agentstatus': 'AgentStatus', 'publicaddress': 'PublicAddress', 'openedports': 'OpenedPorts', 'workloadstatus': 'WorkloadStatus', 'machine': 'Machine'}
1486 _toPy
= {'OpenedPorts': 'openedports', 'Subordinates': 'subordinates', 'WorkloadStatus': 'workloadstatus', 'Machine': 'machine', 'PublicAddress': 'publicaddress', 'AgentStatus': 'agentstatus', 'Charm': 'charm'}
1487 def __init__(self
, agentstatus
=None, charm
=None, machine
=None, openedports
=None, publicaddress
=None, subordinates
=None, workloadstatus
=None):
1489 agentstatus : DetailedStatus
1492 openedports : typing.Sequence[str]
1494 subordinates : typing.Mapping[str, ~UnitStatus]
1495 workloadstatus : DetailedStatus
1497 self
.agentstatus
= DetailedStatus
.from_json(agentstatus
) if agentstatus
else None
1499 self
.machine
= machine
1500 self
.openedports
= openedports
1501 self
.publicaddress
= publicaddress
1502 self
.subordinates
= {k
: UnitStatus
.from_json(v
) for k
, v
in (subordinates
or dict()).items()}
1503 self
.workloadstatus
= DetailedStatus
.from_json(workloadstatus
) if workloadstatus
else None
1507 _toSchema
= {'tags': 'tags', 'container': 'container', 'mem': 'mem', 'arch': 'arch', 'cpu_cores': 'cpu-cores', 'cpu_power': 'cpu-power', 'root_disk': 'root-disk', 'instance_type': 'instance-type', 'spaces': 'spaces', 'virt_type': 'virt-type'}
1508 _toPy
= {'tags': 'tags', 'container': 'container', 'instance-type': 'instance_type', 'mem': 'mem', 'virt-type': 'virt_type', 'cpu-cores': 'cpu_cores', 'arch': 'arch', 'spaces': 'spaces', 'root-disk': 'root_disk', 'cpu-power': 'cpu_power'}
1509 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):
1518 spaces : typing.Sequence[str]
1519 tags : typing.Sequence[str]
1523 self
.container
= container
1524 self
.cpu_cores
= cpu_cores
1525 self
.cpu_power
= cpu_power
1526 self
.instance_type
= instance_type
1528 self
.root_disk
= root_disk
1529 self
.spaces
= spaces
1531 self
.virt_type
= virt_type
1534 class DestroyControllerArgs(Type
):
1535 _toSchema
= {'destroy_models': 'destroy-models'}
1536 _toPy
= {'destroy-models': 'destroy_models'}
1537 def __init__(self
, destroy_models
=None):
1539 destroy_models : bool
1541 self
.destroy_models
= destroy_models
1544 class InitiateModelMigrationArgs(Type
):
1545 _toSchema
= {'specs': 'specs'}
1546 _toPy
= {'specs': 'specs'}
1547 def __init__(self
, specs
=None):
1549 specs : typing.Sequence[~ModelMigrationSpec]
1551 self
.specs
= [ModelMigrationSpec
.from_json(o
) for o
in specs
or []]
1554 class InitiateModelMigrationResult(Type
):
1555 _toSchema
= {'model_tag': 'model-tag', 'error': 'error', 'id_': 'id'}
1556 _toPy
= {'model-tag': 'model_tag', 'id': 'id_', 'error': 'error'}
1557 def __init__(self
, error
=None, id_
=None, model_tag
=None):
1563 self
.error
= Error
.from_json(error
) if error
else None
1565 self
.model_tag
= model_tag
1568 class InitiateModelMigrationResults(Type
):
1569 _toSchema
= {'results': 'results'}
1570 _toPy
= {'results': 'results'}
1571 def __init__(self
, results
=None):
1573 results : typing.Sequence[~InitiateModelMigrationResult]
1575 self
.results
= [InitiateModelMigrationResult
.from_json(o
) for o
in results
or []]
1579 _toSchema
= {'name': 'Name', 'uuid': 'UUID', 'ownertag': 'OwnerTag'}
1580 _toPy
= {'Name': 'name', 'OwnerTag': 'ownertag', 'UUID': 'uuid'}
1581 def __init__(self
, name
=None, ownertag
=None, uuid
=None):
1588 self
.ownertag
= ownertag
1592 class ModelBlockInfo(Type
):
1593 _toSchema
= {'name': 'name', 'blocks': 'blocks', 'model_uuid': 'model-uuid', 'owner_tag': 'owner-tag'}
1594 _toPy
= {'name': 'name', 'blocks': 'blocks', 'owner-tag': 'owner_tag', 'model-uuid': 'model_uuid'}
1595 def __init__(self
, blocks
=None, model_uuid
=None, name
=None, owner_tag
=None):
1597 blocks : typing.Sequence[str]
1602 self
.blocks
= blocks
1603 self
.model_uuid
= model_uuid
1605 self
.owner_tag
= owner_tag
1608 class ModelBlockInfoList(Type
):
1609 _toSchema
= {'models': 'models'}
1610 _toPy
= {'models': 'models'}
1611 def __init__(self
, models
=None):
1613 models : typing.Sequence[~ModelBlockInfo]
1615 self
.models
= [ModelBlockInfo
.from_json(o
) for o
in models
or []]
1618 class ModelMigrationSpec(Type
):
1619 _toSchema
= {'model_tag': 'model-tag', 'target_info': 'target-info'}
1620 _toPy
= {'model-tag': 'model_tag', 'target-info': 'target_info'}
1621 def __init__(self
, model_tag
=None, target_info
=None):
1624 target_info : ModelMigrationTargetInfo
1626 self
.model_tag
= model_tag
1627 self
.target_info
= ModelMigrationTargetInfo
.from_json(target_info
) if target_info
else None
1630 class ModelMigrationTargetInfo(Type
):
1631 _toSchema
= {'ca_cert': 'ca-cert', 'auth_tag': 'auth-tag', 'addrs': 'addrs', 'password': 'password', 'controller_tag': 'controller-tag'}
1632 _toPy
= {'ca-cert': 'ca_cert', 'auth-tag': 'auth_tag', 'addrs': 'addrs', 'password': 'password', 'controller-tag': 'controller_tag'}
1633 def __init__(self
, addrs
=None, auth_tag
=None, ca_cert
=None, controller_tag
=None, password
=None):
1635 addrs : typing.Sequence[str]
1638 controller_tag : str
1642 self
.auth_tag
= auth_tag
1643 self
.ca_cert
= ca_cert
1644 self
.controller_tag
= controller_tag
1645 self
.password
= password
1648 class ModelStatus(Type
):
1649 _toSchema
= {'model_tag': 'model-tag', 'owner_tag': 'owner-tag', 'service_count': 'service-count', 'life': 'life', 'hosted_machine_count': 'hosted-machine-count'}
1650 _toPy
= {'model-tag': 'model_tag', 'owner-tag': 'owner_tag', 'life': 'life', 'hosted-machine-count': 'hosted_machine_count', 'service-count': 'service_count'}
1651 def __init__(self
, hosted_machine_count
=None, life
=None, model_tag
=None, owner_tag
=None, service_count
=None):
1653 hosted_machine_count : int
1659 self
.hosted_machine_count
= hosted_machine_count
1661 self
.model_tag
= model_tag
1662 self
.owner_tag
= owner_tag
1663 self
.service_count
= service_count
1666 class ModelStatusResults(Type
):
1667 _toSchema
= {'models': 'models'}
1668 _toPy
= {'models': 'models'}
1669 def __init__(self
, models
=None):
1671 models : typing.Sequence[~ModelStatus]
1673 self
.models
= [ModelStatus
.from_json(o
) for o
in models
or []]
1676 class RemoveBlocksArgs(Type
):
1677 _toSchema
= {'all_': 'all'}
1678 _toPy
= {'all': 'all_'}
1679 def __init__(self
, all_
=None):
1686 class UserModel(Type
):
1687 _toSchema
= {'model': 'Model', 'lastconnection': 'LastConnection'}
1688 _toPy
= {'Model': 'model', 'LastConnection': 'lastconnection'}
1689 def __init__(self
, lastconnection
=None, model
=None):
1691 lastconnection : str
1694 self
.lastconnection
= lastconnection
1695 self
.model
= Model
.from_json(model
) if model
else None
1698 class UserModelList(Type
):
1699 _toSchema
= {'usermodels': 'UserModels'}
1700 _toPy
= {'UserModels': 'usermodels'}
1701 def __init__(self
, usermodels
=None):
1703 usermodels : typing.Sequence[~UserModel]
1705 self
.usermodels
= [UserModel
.from_json(o
) for o
in usermodels
or []]
1708 class BytesResult(Type
):
1709 _toSchema
= {'result': 'Result'}
1710 _toPy
= {'Result': 'result'}
1711 def __init__(self
, result
=None):
1713 result : typing.Sequence[int]
1715 self
.result
= result
1718 class DeployerConnectionValues(Type
):
1719 _toSchema
= {'stateaddresses': 'StateAddresses', 'apiaddresses': 'APIAddresses'}
1720 _toPy
= {'APIAddresses': 'apiaddresses', 'StateAddresses': 'stateaddresses'}
1721 def __init__(self
, apiaddresses
=None, stateaddresses
=None):
1723 apiaddresses : typing.Sequence[str]
1724 stateaddresses : typing.Sequence[str]
1726 self
.apiaddresses
= apiaddresses
1727 self
.stateaddresses
= stateaddresses
1730 class LifeResult(Type
):
1731 _toSchema
= {'error': 'Error', 'life': 'Life'}
1732 _toPy
= {'Life': 'life', 'Error': 'error'}
1733 def __init__(self
, error
=None, life
=None):
1738 self
.error
= Error
.from_json(error
) if error
else None
1742 class LifeResults(Type
):
1743 _toSchema
= {'results': 'Results'}
1744 _toPy
= {'Results': 'results'}
1745 def __init__(self
, results
=None):
1747 results : typing.Sequence[~LifeResult]
1749 self
.results
= [LifeResult
.from_json(o
) for o
in results
or []]
1752 class StringResult(Type
):
1753 _toSchema
= {'error': 'Error', 'result': 'Result'}
1754 _toPy
= {'Result': 'result', 'Error': 'error'}
1755 def __init__(self
, error
=None, result
=None):
1760 self
.error
= Error
.from_json(error
) if error
else None
1761 self
.result
= result
1764 class StringsResult(Type
):
1765 _toSchema
= {'error': 'Error', 'result': 'Result'}
1766 _toPy
= {'Result': 'result', 'Error': 'error'}
1767 def __init__(self
, error
=None, result
=None):
1770 result : typing.Sequence[str]
1772 self
.error
= Error
.from_json(error
) if error
else None
1773 self
.result
= result
1776 class StringsWatchResult(Type
):
1777 _toSchema
= {'stringswatcherid': 'StringsWatcherId', 'error': 'Error', 'changes': 'Changes'}
1778 _toPy
= {'StringsWatcherId': 'stringswatcherid', 'Changes': 'changes', 'Error': 'error'}
1779 def __init__(self
, changes
=None, error
=None, stringswatcherid
=None):
1781 changes : typing.Sequence[str]
1783 stringswatcherid : str
1785 self
.changes
= changes
1786 self
.error
= Error
.from_json(error
) if error
else None
1787 self
.stringswatcherid
= stringswatcherid
1790 class StringsWatchResults(Type
):
1791 _toSchema
= {'results': 'Results'}
1792 _toPy
= {'Results': 'results'}
1793 def __init__(self
, results
=None):
1795 results : typing.Sequence[~StringsWatchResult]
1797 self
.results
= [StringsWatchResult
.from_json(o
) for o
in results
or []]
1800 class AddSubnetParams(Type
):
1801 _toSchema
= {'subnettag': 'SubnetTag', 'zones': 'Zones', 'spacetag': 'SpaceTag', 'subnetproviderid': 'SubnetProviderId'}
1802 _toPy
= {'SubnetProviderId': 'subnetproviderid', 'Zones': 'zones', 'SubnetTag': 'subnettag', 'SpaceTag': 'spacetag'}
1803 def __init__(self
, spacetag
=None, subnetproviderid
=None, subnettag
=None, zones
=None):
1806 subnetproviderid : str
1808 zones : typing.Sequence[str]
1810 self
.spacetag
= spacetag
1811 self
.subnetproviderid
= subnetproviderid
1812 self
.subnettag
= subnettag
1816 class AddSubnetsParams(Type
):
1817 _toSchema
= {'subnets': 'Subnets'}
1818 _toPy
= {'Subnets': 'subnets'}
1819 def __init__(self
, subnets
=None):
1821 subnets : typing.Sequence[~AddSubnetParams]
1823 self
.subnets
= [AddSubnetParams
.from_json(o
) for o
in subnets
or []]
1826 class CreateSpaceParams(Type
):
1827 _toSchema
= {'providerid': 'ProviderId', 'public': 'Public', 'spacetag': 'SpaceTag', 'subnettags': 'SubnetTags'}
1828 _toPy
= {'SubnetTags': 'subnettags', 'Public': 'public', 'ProviderId': 'providerid', 'SpaceTag': 'spacetag'}
1829 def __init__(self
, providerid
=None, public
=None, spacetag
=None, subnettags
=None):
1834 subnettags : typing.Sequence[str]
1836 self
.providerid
= providerid
1837 self
.public
= public
1838 self
.spacetag
= spacetag
1839 self
.subnettags
= subnettags
1842 class CreateSpacesParams(Type
):
1843 _toSchema
= {'spaces': 'Spaces'}
1844 _toPy
= {'Spaces': 'spaces'}
1845 def __init__(self
, spaces
=None):
1847 spaces : typing.Sequence[~CreateSpaceParams]
1849 self
.spaces
= [CreateSpaceParams
.from_json(o
) for o
in spaces
or []]
1852 class DiscoverSpacesResults(Type
):
1853 _toSchema
= {'results': 'Results'}
1854 _toPy
= {'Results': 'results'}
1855 def __init__(self
, results
=None):
1857 results : typing.Sequence[~ProviderSpace]
1859 self
.results
= [ProviderSpace
.from_json(o
) for o
in results
or []]
1862 class ListSubnetsResults(Type
):
1863 _toSchema
= {'results': 'Results'}
1864 _toPy
= {'Results': 'results'}
1865 def __init__(self
, results
=None):
1867 results : typing.Sequence[~Subnet]
1869 self
.results
= [Subnet
.from_json(o
) for o
in results
or []]
1872 class ProviderSpace(Type
):
1873 _toSchema
= {'name': 'Name', 'providerid': 'ProviderId', 'subnets': 'Subnets', 'error': 'Error'}
1874 _toPy
= {'Name': 'name', 'ProviderId': 'providerid', 'Error': 'error', 'Subnets': 'subnets'}
1875 def __init__(self
, error
=None, name
=None, providerid
=None, subnets
=None):
1880 subnets : typing.Sequence[~Subnet]
1882 self
.error
= Error
.from_json(error
) if error
else None
1884 self
.providerid
= providerid
1885 self
.subnets
= [Subnet
.from_json(o
) for o
in subnets
or []]
1889 _toSchema
= {'staticrangehighip': 'StaticRangeHighIP', 'vlantag': 'VLANTag', 'spacetag': 'SpaceTag', 'cidr': 'CIDR', 'providerid': 'ProviderId', 'status': 'Status', 'zones': 'Zones', 'life': 'Life', 'staticrangelowip': 'StaticRangeLowIP'}
1890 _toPy
= {'StaticRangeLowIP': 'staticrangelowip', 'Life': 'life', 'StaticRangeHighIP': 'staticrangehighip', 'ProviderId': 'providerid', 'SpaceTag': 'spacetag', 'VLANTag': 'vlantag', 'Zones': 'zones', 'CIDR': 'cidr', 'Status': 'status'}
1891 def __init__(self
, cidr
=None, life
=None, providerid
=None, spacetag
=None, staticrangehighip
=None, staticrangelowip
=None, status
=None, vlantag
=None, zones
=None):
1897 staticrangehighip : typing.Sequence[int]
1898 staticrangelowip : typing.Sequence[int]
1901 zones : typing.Sequence[str]
1905 self
.providerid
= providerid
1906 self
.spacetag
= spacetag
1907 self
.staticrangehighip
= staticrangehighip
1908 self
.staticrangelowip
= staticrangelowip
1909 self
.status
= status
1910 self
.vlantag
= vlantag
1914 class SubnetsFilters(Type
):
1915 _toSchema
= {'zone': 'Zone', 'spacetag': 'SpaceTag'}
1916 _toPy
= {'Zone': 'zone', 'SpaceTag': 'spacetag'}
1917 def __init__(self
, spacetag
=None, zone
=None):
1922 self
.spacetag
= spacetag
1926 class BlockDevice(Type
):
1927 _toSchema
= {'uuid': 'UUID', 'devicename': 'DeviceName', 'busaddress': 'BusAddress', 'hardwareid': 'HardwareId', 'inuse': 'InUse', 'mountpoint': 'MountPoint', 'devicelinks': 'DeviceLinks', 'filesystemtype': 'FilesystemType', 'size': 'Size', 'label': 'Label'}
1928 _toPy
= {'Size': 'size', 'InUse': 'inuse', 'Label': 'label', 'FilesystemType': 'filesystemtype', 'UUID': 'uuid', 'BusAddress': 'busaddress', 'HardwareId': 'hardwareid', 'DeviceName': 'devicename', 'MountPoint': 'mountpoint', 'DeviceLinks': 'devicelinks'}
1929 def __init__(self
, busaddress
=None, devicelinks
=None, devicename
=None, filesystemtype
=None, hardwareid
=None, inuse
=None, label
=None, mountpoint
=None, size
=None, uuid
=None):
1932 devicelinks : typing.Sequence[str]
1934 filesystemtype : str
1942 self
.busaddress
= busaddress
1943 self
.devicelinks
= devicelinks
1944 self
.devicename
= devicename
1945 self
.filesystemtype
= filesystemtype
1946 self
.hardwareid
= hardwareid
1949 self
.mountpoint
= mountpoint
1954 class MachineBlockDevices(Type
):
1955 _toSchema
= {'blockdevices': 'blockdevices', 'machine': 'machine'}
1956 _toPy
= {'blockdevices': 'blockdevices', 'machine': 'machine'}
1957 def __init__(self
, blockdevices
=None, machine
=None):
1959 blockdevices : typing.Sequence[~BlockDevice]
1962 self
.blockdevices
= [BlockDevice
.from_json(o
) for o
in blockdevices
or []]
1963 self
.machine
= machine
1966 class SetMachineBlockDevices(Type
):
1967 _toSchema
= {'machineblockdevices': 'machineblockdevices'}
1968 _toPy
= {'machineblockdevices': 'machineblockdevices'}
1969 def __init__(self
, machineblockdevices
=None):
1971 machineblockdevices : typing.Sequence[~MachineBlockDevices]
1973 self
.machineblockdevices
= [MachineBlockDevices
.from_json(o
) for o
in machineblockdevices
or []]
1976 class MachineStorageId(Type
):
1977 _toSchema
= {'machinetag': 'machinetag', 'attachmenttag': 'attachmenttag'}
1978 _toPy
= {'machinetag': 'machinetag', 'attachmenttag': 'attachmenttag'}
1979 def __init__(self
, attachmenttag
=None, machinetag
=None):
1984 self
.attachmenttag
= attachmenttag
1985 self
.machinetag
= machinetag
1988 class MachineStorageIdsWatchResult(Type
):
1989 _toSchema
= {'machinestorageidswatcherid': 'MachineStorageIdsWatcherId', 'error': 'Error', 'changes': 'Changes'}
1990 _toPy
= {'Changes': 'changes', 'MachineStorageIdsWatcherId': 'machinestorageidswatcherid', 'Error': 'error'}
1991 def __init__(self
, changes
=None, error
=None, machinestorageidswatcherid
=None):
1993 changes : typing.Sequence[~MachineStorageId]
1995 machinestorageidswatcherid : str
1997 self
.changes
= [MachineStorageId
.from_json(o
) for o
in changes
or []]
1998 self
.error
= Error
.from_json(error
) if error
else None
1999 self
.machinestorageidswatcherid
= machinestorageidswatcherid
2002 class BoolResults(Type
):
2003 _toSchema
= {'results': 'Results'}
2004 _toPy
= {'Results': 'results'}
2005 def __init__(self
, results
=None):
2007 results : typing.Sequence[~BoolResult]
2009 self
.results
= [BoolResult
.from_json(o
) for o
in results
or []]
2012 class MachinePortRange(Type
):
2013 _toSchema
= {'unittag': 'UnitTag', 'portrange': 'PortRange', 'relationtag': 'RelationTag'}
2014 _toPy
= {'PortRange': 'portrange', 'UnitTag': 'unittag', 'RelationTag': 'relationtag'}
2015 def __init__(self
, portrange
=None, relationtag
=None, unittag
=None):
2017 portrange : PortRange
2021 self
.portrange
= PortRange
.from_json(portrange
) if portrange
else None
2022 self
.relationtag
= relationtag
2023 self
.unittag
= unittag
2026 class MachinePorts(Type
):
2027 _toSchema
= {'subnettag': 'SubnetTag', 'machinetag': 'MachineTag'}
2028 _toPy
= {'MachineTag': 'machinetag', 'SubnetTag': 'subnettag'}
2029 def __init__(self
, machinetag
=None, subnettag
=None):
2034 self
.machinetag
= machinetag
2035 self
.subnettag
= subnettag
2038 class MachinePortsParams(Type
):
2039 _toSchema
= {'params': 'Params'}
2040 _toPy
= {'Params': 'params'}
2041 def __init__(self
, params
=None):
2043 params : typing.Sequence[~MachinePorts]
2045 self
.params
= [MachinePorts
.from_json(o
) for o
in params
or []]
2048 class MachinePortsResult(Type
):
2049 _toSchema
= {'ports': 'Ports', 'error': 'Error'}
2050 _toPy
= {'Ports': 'ports', 'Error': 'error'}
2051 def __init__(self
, error
=None, ports
=None):
2054 ports : typing.Sequence[~MachinePortRange]
2056 self
.error
= Error
.from_json(error
) if error
else None
2057 self
.ports
= [MachinePortRange
.from_json(o
) for o
in ports
or []]
2060 class MachinePortsResults(Type
):
2061 _toSchema
= {'results': 'Results'}
2062 _toPy
= {'Results': 'results'}
2063 def __init__(self
, results
=None):
2065 results : typing.Sequence[~MachinePortsResult]
2067 self
.results
= [MachinePortsResult
.from_json(o
) for o
in results
or []]
2070 class NotifyWatchResults(Type
):
2071 _toSchema
= {'results': 'Results'}
2072 _toPy
= {'Results': 'results'}
2073 def __init__(self
, results
=None):
2075 results : typing.Sequence[~NotifyWatchResult]
2077 self
.results
= [NotifyWatchResult
.from_json(o
) for o
in results
or []]
2080 class PortRange(Type
):
2081 _toSchema
= {'fromport': 'FromPort', 'protocol': 'Protocol', 'toport': 'ToPort'}
2082 _toPy
= {'Protocol': 'protocol', 'FromPort': 'fromport', 'ToPort': 'toport'}
2083 def __init__(self
, fromport
=None, protocol
=None, toport
=None):
2089 self
.fromport
= fromport
2090 self
.protocol
= protocol
2091 self
.toport
= toport
2094 class StringResults(Type
):
2095 _toSchema
= {'results': 'Results'}
2096 _toPy
= {'Results': 'results'}
2097 def __init__(self
, results
=None):
2099 results : typing.Sequence[~StringResult]
2101 self
.results
= [StringResult
.from_json(o
) for o
in results
or []]
2104 class StringsResults(Type
):
2105 _toSchema
= {'results': 'Results'}
2106 _toPy
= {'Results': 'results'}
2107 def __init__(self
, results
=None):
2109 results : typing.Sequence[~StringsResult]
2111 self
.results
= [StringsResult
.from_json(o
) for o
in results
or []]
2114 class ControllersChangeResult(Type
):
2115 _toSchema
= {'error': 'Error', 'result': 'Result'}
2116 _toPy
= {'Result': 'result', 'Error': 'error'}
2117 def __init__(self
, error
=None, result
=None):
2120 result : ControllersChanges
2122 self
.error
= Error
.from_json(error
) if error
else None
2123 self
.result
= ControllersChanges
.from_json(result
) if result
else None
2126 class ControllersChangeResults(Type
):
2127 _toSchema
= {'results': 'Results'}
2128 _toPy
= {'Results': 'results'}
2129 def __init__(self
, results
=None):
2131 results : typing.Sequence[~ControllersChangeResult]
2133 self
.results
= [ControllersChangeResult
.from_json(o
) for o
in results
or []]
2136 class ControllersChanges(Type
):
2137 _toSchema
= {'converted': 'converted', 'demoted': 'demoted', 'promoted': 'promoted', 'removed': 'removed', 'maintained': 'maintained', 'added': 'added'}
2138 _toPy
= {'converted': 'converted', 'demoted': 'demoted', 'promoted': 'promoted', 'removed': 'removed', 'maintained': 'maintained', 'added': 'added'}
2139 def __init__(self
, added
=None, converted
=None, demoted
=None, maintained
=None, promoted
=None, removed
=None):
2141 added : typing.Sequence[str]
2142 converted : typing.Sequence[str]
2143 demoted : typing.Sequence[str]
2144 maintained : typing.Sequence[str]
2145 promoted : typing.Sequence[str]
2146 removed : typing.Sequence[str]
2149 self
.converted
= converted
2150 self
.demoted
= demoted
2151 self
.maintained
= maintained
2152 self
.promoted
= promoted
2153 self
.removed
= removed
2156 class ControllersSpec(Type
):
2157 _toSchema
= {'num_controllers': 'num-controllers', 'placement': 'placement', 'modeltag': 'ModelTag', 'series': 'series', 'constraints': 'constraints'}
2158 _toPy
= {'num-controllers': 'num_controllers', 'placement': 'placement', 'ModelTag': 'modeltag', 'series': 'series', 'constraints': 'constraints'}
2159 def __init__(self
, modeltag
=None, constraints
=None, num_controllers
=None, placement
=None, series
=None):
2163 num_controllers : int
2164 placement : typing.Sequence[str]
2167 self
.modeltag
= modeltag
2168 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
2169 self
.num_controllers
= num_controllers
2170 self
.placement
= placement
2171 self
.series
= series
2174 class ControllersSpecs(Type
):
2175 _toSchema
= {'specs': 'Specs'}
2176 _toPy
= {'Specs': 'specs'}
2177 def __init__(self
, specs
=None):
2179 specs : typing.Sequence[~ControllersSpec]
2181 self
.specs
= [ControllersSpec
.from_json(o
) for o
in specs
or []]
2184 class HAMember(Type
):
2185 _toSchema
= {'series': 'Series', 'publicaddress': 'PublicAddress', 'tag': 'Tag'}
2186 _toPy
= {'Series': 'series', 'PublicAddress': 'publicaddress', 'Tag': 'tag'}
2187 def __init__(self
, publicaddress
=None, series
=None, tag
=None):
2189 publicaddress : Address
2193 self
.publicaddress
= Address
.from_json(publicaddress
) if publicaddress
else None
2194 self
.series
= series
2199 _toSchema
= {'priority': 'Priority', 'tags': 'Tags', 'buildindexes': 'BuildIndexes', 'arbiter': 'Arbiter', 'votes': 'Votes', 'slavedelay': 'SlaveDelay', 'hidden': 'Hidden', 'address': 'Address', 'id_': 'Id'}
2200 _toPy
= {'SlaveDelay': 'slavedelay', 'Priority': 'priority', 'Votes': 'votes', 'BuildIndexes': 'buildindexes', 'Tags': 'tags', 'Id': 'id_', 'Arbiter': 'arbiter', 'Hidden': 'hidden', 'Address': 'address'}
2201 def __init__(self
, address
=None, arbiter
=None, buildindexes
=None, hidden
=None, id_
=None, priority
=None, slavedelay
=None, tags
=None, votes
=None):
2210 tags : typing.Mapping[str, str]
2213 self
.address
= address
2214 self
.arbiter
= arbiter
2215 self
.buildindexes
= buildindexes
2216 self
.hidden
= hidden
2218 self
.priority
= priority
2219 self
.slavedelay
= slavedelay
2224 class MongoUpgradeResults(Type
):
2225 _toSchema
= {'master': 'Master', 'rsmembers': 'RsMembers', 'members': 'Members'}
2226 _toPy
= {'Master': 'master', 'RsMembers': 'rsmembers', 'Members': 'members'}
2227 def __init__(self
, master
=None, members
=None, rsmembers
=None):
2230 members : typing.Sequence[~HAMember]
2231 rsmembers : typing.Sequence[~Member]
2233 self
.master
= HAMember
.from_json(master
) if master
else None
2234 self
.members
= [HAMember
.from_json(o
) for o
in members
or []]
2235 self
.rsmembers
= [Member
.from_json(o
) for o
in rsmembers
or []]
2238 class ResumeReplicationParams(Type
):
2239 _toSchema
= {'members': 'Members'}
2240 _toPy
= {'Members': 'members'}
2241 def __init__(self
, members
=None):
2243 members : typing.Sequence[~Member]
2245 self
.members
= [Member
.from_json(o
) for o
in members
or []]
2248 class UpgradeMongoParams(Type
):
2249 _toSchema
= {'major': 'Major', 'storageengine': 'StorageEngine', 'patch': 'Patch', 'minor': 'Minor'}
2250 _toPy
= {'StorageEngine': 'storageengine', 'Patch': 'patch', 'Major': 'major', 'Minor': 'minor'}
2251 def __init__(self
, major
=None, minor
=None, patch
=None, storageengine
=None):
2261 self
.storageengine
= storageengine
2264 class Version(Type
):
2265 _toSchema
= {'major': 'Major', 'storageengine': 'StorageEngine', 'patch': 'Patch', 'minor': 'Minor'}
2266 _toPy
= {'StorageEngine': 'storageengine', 'Patch': 'patch', 'Major': 'major', 'Minor': 'minor'}
2267 def __init__(self
, major
=None, minor
=None, patch
=None, storageengine
=None):
2277 self
.storageengine
= storageengine
2280 class SSHHostKeySet(Type
):
2281 _toSchema
= {'entity_keys': 'entity-keys'}
2282 _toPy
= {'entity-keys': 'entity_keys'}
2283 def __init__(self
, entity_keys
=None):
2285 entity_keys : typing.Sequence[~SSHHostKeys]
2287 self
.entity_keys
= [SSHHostKeys
.from_json(o
) for o
in entity_keys
or []]
2290 class SSHHostKeys(Type
):
2291 _toSchema
= {'public_keys': 'public-keys', 'tag': 'tag'}
2292 _toPy
= {'tag': 'tag', 'public-keys': 'public_keys'}
2293 def __init__(self
, public_keys
=None, tag
=None):
2295 public_keys : typing.Sequence[str]
2298 self
.public_keys
= public_keys
2302 class ImageFilterParams(Type
):
2303 _toSchema
= {'images': 'images'}
2304 _toPy
= {'images': 'images'}
2305 def __init__(self
, images
=None):
2307 images : typing.Sequence[~ImageSpec]
2309 self
.images
= [ImageSpec
.from_json(o
) for o
in images
or []]
2312 class ImageMetadata(Type
):
2313 _toSchema
= {'kind': 'kind', 'series': 'series', 'arch': 'arch', 'created': 'created', 'url': 'url'}
2314 _toPy
= {'kind': 'kind', 'series': 'series', 'arch': 'arch', 'created': 'created', 'url': 'url'}
2315 def __init__(self
, arch
=None, created
=None, kind
=None, series
=None, url
=None):
2324 self
.created
= created
2326 self
.series
= series
2330 class ImageSpec(Type
):
2331 _toSchema
= {'kind': 'kind', 'series': 'series', 'arch': 'arch'}
2332 _toPy
= {'kind': 'kind', 'series': 'series', 'arch': 'arch'}
2333 def __init__(self
, arch
=None, kind
=None, series
=None):
2341 self
.series
= series
2344 class ListImageResult(Type
):
2345 _toSchema
= {'result': 'result'}
2346 _toPy
= {'result': 'result'}
2347 def __init__(self
, result
=None):
2349 result : typing.Sequence[~ImageMetadata]
2351 self
.result
= [ImageMetadata
.from_json(o
) for o
in result
or []]
2354 class CloudImageMetadata(Type
):
2355 _toSchema
= {'priority': 'priority', 'source': 'source', 'series': 'series', 'root_storage_type': 'root_storage_type', 'version': 'version', 'root_storage_size': 'root_storage_size', 'image_id': 'image_id', 'region': 'region', 'arch': 'arch', 'virt_type': 'virt_type', 'stream': 'stream'}
2356 _toPy
= {'priority': 'priority', 'source': 'source', 'series': 'series', 'root_storage_type': 'root_storage_type', 'version': 'version', 'root_storage_size': 'root_storage_size', 'image_id': 'image_id', 'region': 'region', 'arch': 'arch', 'virt_type': 'virt_type', 'stream': 'stream'}
2357 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):
2363 root_storage_size : int
2364 root_storage_type : str
2372 self
.image_id
= image_id
2373 self
.priority
= priority
2374 self
.region
= region
2375 self
.root_storage_size
= root_storage_size
2376 self
.root_storage_type
= root_storage_type
2377 self
.series
= series
2378 self
.source
= source
2379 self
.stream
= stream
2380 self
.version
= version
2381 self
.virt_type
= virt_type
2384 class CloudImageMetadataList(Type
):
2385 _toSchema
= {'metadata': 'metadata'}
2386 _toPy
= {'metadata': 'metadata'}
2387 def __init__(self
, metadata
=None):
2389 metadata : typing.Sequence[~CloudImageMetadata]
2391 self
.metadata
= [CloudImageMetadata
.from_json(o
) for o
in metadata
or []]
2394 class ImageMetadataFilter(Type
):
2395 _toSchema
= {'series': 'series', 'stream': 'stream', 'root_storage_type': 'root-storage-type', 'arches': 'arches', 'region': 'region', 'virt_type': 'virt_type'}
2396 _toPy
= {'series': 'series', 'stream': 'stream', 'root-storage-type': 'root_storage_type', 'arches': 'arches', 'region': 'region', 'virt_type': 'virt_type'}
2397 def __init__(self
, arches
=None, region
=None, root_storage_type
=None, series
=None, stream
=None, virt_type
=None):
2399 arches : typing.Sequence[str]
2401 root_storage_type : str
2402 series : typing.Sequence[str]
2406 self
.arches
= arches
2407 self
.region
= region
2408 self
.root_storage_type
= root_storage_type
2409 self
.series
= series
2410 self
.stream
= stream
2411 self
.virt_type
= virt_type
2414 class ListCloudImageMetadataResult(Type
):
2415 _toSchema
= {'result': 'result'}
2416 _toPy
= {'result': 'result'}
2417 def __init__(self
, result
=None):
2419 result : typing.Sequence[~CloudImageMetadata]
2421 self
.result
= [CloudImageMetadata
.from_json(o
) for o
in result
or []]
2424 class MetadataImageIds(Type
):
2425 _toSchema
= {'image_ids': 'image_ids'}
2426 _toPy
= {'image_ids': 'image_ids'}
2427 def __init__(self
, image_ids
=None):
2429 image_ids : typing.Sequence[str]
2431 self
.image_ids
= image_ids
2434 class MetadataSaveParams(Type
):
2435 _toSchema
= {'metadata': 'metadata'}
2436 _toPy
= {'metadata': 'metadata'}
2437 def __init__(self
, metadata
=None):
2439 metadata : typing.Sequence[~CloudImageMetadataList]
2441 self
.metadata
= [CloudImageMetadataList
.from_json(o
) for o
in metadata
or []]
2444 class EntityStatusArgs(Type
):
2445 _toSchema
= {'data': 'Data', 'status': 'Status', 'tag': 'Tag', 'info': 'Info'}
2446 _toPy
= {'Tag': 'tag', 'Data': 'data', 'Status': 'status', 'Info': 'info'}
2447 def __init__(self
, data
=None, info
=None, status
=None, tag
=None):
2449 data : typing.Mapping[str, typing.Any]
2456 self
.status
= status
2460 class MachineAddresses(Type
):
2461 _toSchema
= {'addresses': 'Addresses', 'tag': 'Tag'}
2462 _toPy
= {'Tag': 'tag', 'Addresses': 'addresses'}
2463 def __init__(self
, addresses
=None, tag
=None):
2465 addresses : typing.Sequence[~Address]
2468 self
.addresses
= [Address
.from_json(o
) for o
in addresses
or []]
2472 class MachineAddressesResult(Type
):
2473 _toSchema
= {'addresses': 'Addresses', 'error': 'Error'}
2474 _toPy
= {'Addresses': 'addresses', 'Error': 'error'}
2475 def __init__(self
, addresses
=None, error
=None):
2477 addresses : typing.Sequence[~Address]
2480 self
.addresses
= [Address
.from_json(o
) for o
in addresses
or []]
2481 self
.error
= Error
.from_json(error
) if error
else None
2484 class MachineAddressesResults(Type
):
2485 _toSchema
= {'results': 'Results'}
2486 _toPy
= {'Results': 'results'}
2487 def __init__(self
, results
=None):
2489 results : typing.Sequence[~MachineAddressesResult]
2491 self
.results
= [MachineAddressesResult
.from_json(o
) for o
in results
or []]
2494 class SetMachinesAddresses(Type
):
2495 _toSchema
= {'machineaddresses': 'MachineAddresses'}
2496 _toPy
= {'MachineAddresses': 'machineaddresses'}
2497 def __init__(self
, machineaddresses
=None):
2499 machineaddresses : typing.Sequence[~MachineAddresses]
2501 self
.machineaddresses
= [MachineAddresses
.from_json(o
) for o
in machineaddresses
or []]
2504 class SetStatus(Type
):
2505 _toSchema
= {'entities': 'Entities'}
2506 _toPy
= {'Entities': 'entities'}
2507 def __init__(self
, entities
=None):
2509 entities : typing.Sequence[~EntityStatusArgs]
2511 self
.entities
= [EntityStatusArgs
.from_json(o
) for o
in entities
or []]
2514 class StatusResult(Type
):
2515 _toSchema
= {'since': 'Since', 'data': 'Data', 'status': 'Status', 'error': 'Error', 'info': 'Info', 'id_': 'Id', 'life': 'Life'}
2516 _toPy
= {'Life': 'life', 'Info': 'info', 'Id': 'id_', 'Since': 'since', 'Data': 'data', 'Status': 'status', 'Error': 'error'}
2517 def __init__(self
, data
=None, error
=None, id_
=None, info
=None, life
=None, since
=None, status
=None):
2519 data : typing.Mapping[str, typing.Any]
2528 self
.error
= Error
.from_json(error
) if error
else None
2533 self
.status
= status
2536 class StatusResults(Type
):
2537 _toSchema
= {'results': 'Results'}
2538 _toPy
= {'Results': 'results'}
2539 def __init__(self
, results
=None):
2541 results : typing.Sequence[~StatusResult]
2543 self
.results
= [StatusResult
.from_json(o
) for o
in results
or []]
2546 class ListSSHKeys(Type
):
2547 _toSchema
= {'entities': 'Entities', 'mode': 'Mode'}
2548 _toPy
= {'Mode': 'mode', 'Entities': 'entities'}
2549 def __init__(self
, entities
=None, mode
=None):
2554 self
.entities
= Entities
.from_json(entities
) if entities
else None
2558 class ModifyUserSSHKeys(Type
):
2559 _toSchema
= {'user': 'User', 'keys': 'Keys'}
2560 _toPy
= {'User': 'user', 'Keys': 'keys'}
2561 def __init__(self
, keys
=None, user
=None):
2563 keys : typing.Sequence[str]
2570 class ClaimLeadershipBulkParams(Type
):
2571 _toSchema
= {'params': 'Params'}
2572 _toPy
= {'Params': 'params'}
2573 def __init__(self
, params
=None):
2575 params : typing.Sequence[~ClaimLeadershipParams]
2577 self
.params
= [ClaimLeadershipParams
.from_json(o
) for o
in params
or []]
2580 class ClaimLeadershipBulkResults(Type
):
2581 _toSchema
= {'results': 'Results'}
2582 _toPy
= {'Results': 'results'}
2583 def __init__(self
, results
=None):
2585 results : typing.Sequence[~ErrorResult]
2587 self
.results
= [ErrorResult
.from_json(o
) for o
in results
or []]
2590 class ClaimLeadershipParams(Type
):
2591 _toSchema
= {'servicetag': 'ServiceTag', 'unittag': 'UnitTag', 'durationseconds': 'DurationSeconds'}
2592 _toPy
= {'ServiceTag': 'servicetag', 'DurationSeconds': 'durationseconds', 'UnitTag': 'unittag'}
2593 def __init__(self
, durationseconds
=None, servicetag
=None, unittag
=None):
2595 durationseconds : float
2599 self
.durationseconds
= durationseconds
2600 self
.servicetag
= servicetag
2601 self
.unittag
= unittag
2604 class ServiceTag(Type
):
2605 _toSchema
= {'name': 'Name'}
2606 _toPy
= {'Name': 'name'}
2607 def __init__(self
, name
=None):
2614 class ActionExecutionResult(Type
):
2615 _toSchema
= {'results': 'results', 'message': 'message', 'status': 'status', 'actiontag': 'actiontag'}
2616 _toPy
= {'results': 'results', 'message': 'message', 'status': 'status', 'actiontag': 'actiontag'}
2617 def __init__(self
, actiontag
=None, message
=None, results
=None, status
=None):
2621 results : typing.Mapping[str, typing.Any]
2624 self
.actiontag
= actiontag
2625 self
.message
= message
2626 self
.results
= results
2627 self
.status
= status
2630 class ActionExecutionResults(Type
):
2631 _toSchema
= {'results': 'results'}
2632 _toPy
= {'results': 'results'}
2633 def __init__(self
, results
=None):
2635 results : typing.Sequence[~ActionExecutionResult]
2637 self
.results
= [ActionExecutionResult
.from_json(o
) for o
in results
or []]
2640 class JobsResult(Type
):
2641 _toSchema
= {'jobs': 'Jobs', 'error': 'Error'}
2642 _toPy
= {'Jobs': 'jobs', 'Error': 'error'}
2643 def __init__(self
, error
=None, jobs
=None):
2646 jobs : typing.Sequence[str]
2648 self
.error
= Error
.from_json(error
) if error
else None
2652 class JobsResults(Type
):
2653 _toSchema
= {'results': 'Results'}
2654 _toPy
= {'Results': 'results'}
2655 def __init__(self
, results
=None):
2657 results : typing.Sequence[~JobsResult]
2659 self
.results
= [JobsResult
.from_json(o
) for o
in results
or []]
2662 class NetworkConfig(Type
):
2663 _toSchema
= {'interfacename': 'InterfaceName', 'macaddress': 'MACAddress', 'dnssearchdomains': 'DNSSearchDomains', 'providervlanid': 'ProviderVLANId', 'dnsservers': 'DNSServers', 'parentinterfacename': 'ParentInterfaceName', 'disabled': 'Disabled', 'mtu': 'MTU', 'configtype': 'ConfigType', 'provideraddressid': 'ProviderAddressId', 'address': 'Address', 'providerspaceid': 'ProviderSpaceId', 'cidr': 'CIDR', 'noautostart': 'NoAutoStart', 'providerid': 'ProviderId', 'gatewayaddress': 'GatewayAddress', 'deviceindex': 'DeviceIndex', 'providersubnetid': 'ProviderSubnetId', 'interfacetype': 'InterfaceType', 'vlantag': 'VLANTag'}
2664 _toPy
= {'CIDR': 'cidr', 'ProviderSpaceId': 'providerspaceid', 'ConfigType': 'configtype', 'DNSServers': 'dnsservers', 'NoAutoStart': 'noautostart', 'InterfaceName': 'interfacename', 'InterfaceType': 'interfacetype', 'Address': 'address', 'Disabled': 'disabled', 'ProviderSubnetId': 'providersubnetid', 'DeviceIndex': 'deviceindex', 'ProviderAddressId': 'provideraddressid', 'ParentInterfaceName': 'parentinterfacename', 'VLANTag': 'vlantag', 'MTU': 'mtu', 'ProviderVLANId': 'providervlanid', 'DNSSearchDomains': 'dnssearchdomains', 'MACAddress': 'macaddress', 'GatewayAddress': 'gatewayaddress', 'ProviderId': 'providerid'}
2665 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):
2670 dnssearchdomains : typing.Sequence[str]
2671 dnsservers : typing.Sequence[str]
2674 gatewayaddress : str
2680 parentinterfacename : str
2681 provideraddressid : str
2683 providerspaceid : str
2684 providersubnetid : str
2685 providervlanid : str
2688 self
.address
= address
2690 self
.configtype
= configtype
2691 self
.dnssearchdomains
= dnssearchdomains
2692 self
.dnsservers
= dnsservers
2693 self
.deviceindex
= deviceindex
2694 self
.disabled
= disabled
2695 self
.gatewayaddress
= gatewayaddress
2696 self
.interfacename
= interfacename
2697 self
.interfacetype
= interfacetype
2698 self
.macaddress
= macaddress
2700 self
.noautostart
= noautostart
2701 self
.parentinterfacename
= parentinterfacename
2702 self
.provideraddressid
= provideraddressid
2703 self
.providerid
= providerid
2704 self
.providerspaceid
= providerspaceid
2705 self
.providersubnetid
= providersubnetid
2706 self
.providervlanid
= providervlanid
2707 self
.vlantag
= vlantag
2710 class SetMachineNetworkConfig(Type
):
2711 _toSchema
= {'config': 'Config', 'tag': 'Tag'}
2712 _toPy
= {'Tag': 'tag', 'Config': 'config'}
2713 def __init__(self
, config
=None, tag
=None):
2715 config : typing.Sequence[~NetworkConfig]
2718 self
.config
= [NetworkConfig
.from_json(o
) for o
in config
or []]
2722 class MeterStatusResult(Type
):
2723 _toSchema
= {'error': 'Error', 'code': 'Code', 'info': 'Info'}
2724 _toPy
= {'Code': 'code', 'Error': 'error', 'Info': 'info'}
2725 def __init__(self
, code
=None, error
=None, info
=None):
2732 self
.error
= Error
.from_json(error
) if error
else None
2736 class MeterStatusResults(Type
):
2737 _toSchema
= {'results': 'Results'}
2738 _toPy
= {'Results': 'results'}
2739 def __init__(self
, results
=None):
2741 results : typing.Sequence[~MeterStatusResult]
2743 self
.results
= [MeterStatusResult
.from_json(o
) for o
in results
or []]
2747 _toSchema
= {'key': 'Key', 'value': 'Value', 'time': 'Time'}
2748 _toPy
= {'Value': 'value', 'Key': 'key', 'Time': 'time'}
2749 def __init__(self
, key
=None, time
=None, value
=None):
2760 class MetricBatch(Type
):
2761 _toSchema
= {'uuid': 'UUID', 'created': 'Created', 'charmurl': 'CharmURL', 'metrics': 'Metrics'}
2762 _toPy
= {'CharmURL': 'charmurl', 'Metrics': 'metrics', 'UUID': 'uuid', 'Created': 'created'}
2763 def __init__(self
, charmurl
=None, created
=None, metrics
=None, uuid
=None):
2767 metrics : typing.Sequence[~Metric]
2770 self
.charmurl
= charmurl
2771 self
.created
= created
2772 self
.metrics
= [Metric
.from_json(o
) for o
in metrics
or []]
2776 class MetricBatchParam(Type
):
2777 _toSchema
= {'tag': 'Tag', 'batch': 'Batch'}
2778 _toPy
= {'Tag': 'tag', 'Batch': 'batch'}
2779 def __init__(self
, batch
=None, tag
=None):
2784 self
.batch
= MetricBatch
.from_json(batch
) if batch
else None
2788 class MetricBatchParams(Type
):
2789 _toSchema
= {'batches': 'Batches'}
2790 _toPy
= {'Batches': 'batches'}
2791 def __init__(self
, batches
=None):
2793 batches : typing.Sequence[~MetricBatchParam]
2795 self
.batches
= [MetricBatchParam
.from_json(o
) for o
in batches
or []]
2798 class EntityMetrics(Type
):
2799 _toSchema
= {'error': 'error', 'metrics': 'metrics'}
2800 _toPy
= {'error': 'error', 'metrics': 'metrics'}
2801 def __init__(self
, error
=None, metrics
=None):
2804 metrics : typing.Sequence[~MetricResult]
2806 self
.error
= Error
.from_json(error
) if error
else None
2807 self
.metrics
= [MetricResult
.from_json(o
) for o
in metrics
or []]
2810 class MeterStatusParam(Type
):
2811 _toSchema
= {'tag': 'tag', 'code': 'code', 'info': 'info'}
2812 _toPy
= {'tag': 'tag', 'code': 'code', 'info': 'info'}
2813 def __init__(self
, code
=None, info
=None, tag
=None):
2824 class MeterStatusParams(Type
):
2825 _toSchema
= {'statues': 'statues'}
2826 _toPy
= {'statues': 'statues'}
2827 def __init__(self
, statues
=None):
2829 statues : typing.Sequence[~MeterStatusParam]
2831 self
.statues
= [MeterStatusParam
.from_json(o
) for o
in statues
or []]
2834 class MetricResult(Type
):
2835 _toSchema
= {'key': 'key', 'value': 'value', 'time': 'time'}
2836 _toPy
= {'key': 'key', 'value': 'value', 'time': 'time'}
2837 def __init__(self
, key
=None, time
=None, value
=None):
2848 class MetricResults(Type
):
2849 _toSchema
= {'results': 'results'}
2850 _toPy
= {'results': 'results'}
2851 def __init__(self
, results
=None):
2853 results : typing.Sequence[~EntityMetrics]
2855 self
.results
= [EntityMetrics
.from_json(o
) for o
in results
or []]
2858 class PhaseResult(Type
):
2859 _toSchema
= {'error': 'Error', 'phase': 'phase'}
2860 _toPy
= {'Error': 'error', 'phase': 'phase'}
2861 def __init__(self
, error
=None, phase
=None):
2866 self
.error
= Error
.from_json(error
) if error
else None
2870 class PhaseResults(Type
):
2871 _toSchema
= {'results': 'Results'}
2872 _toPy
= {'Results': 'results'}
2873 def __init__(self
, results
=None):
2875 results : typing.Sequence[~PhaseResult]
2877 self
.results
= [PhaseResult
.from_json(o
) for o
in results
or []]
2880 class FullMigrationStatus(Type
):
2881 _toSchema
= {'attempt': 'attempt', 'spec': 'spec', 'phase': 'phase'}
2882 _toPy
= {'attempt': 'attempt', 'spec': 'spec', 'phase': 'phase'}
2883 def __init__(self
, attempt
=None, phase
=None, spec
=None):
2887 spec : ModelMigrationSpec
2889 self
.attempt
= attempt
2891 self
.spec
= ModelMigrationSpec
.from_json(spec
) if spec
else None
2894 class SerializedModel(Type
):
2895 _toSchema
= {'bytes_': 'bytes'}
2896 _toPy
= {'bytes': 'bytes_'}
2897 def __init__(self
, bytes_
=None):
2899 bytes_ : typing.Sequence[int]
2901 self
.bytes_
= bytes_
2904 class SetMigrationPhaseArgs(Type
):
2905 _toSchema
= {'phase': 'phase'}
2906 _toPy
= {'phase': 'phase'}
2907 def __init__(self
, phase
=None):
2914 class MigrationStatus(Type
):
2915 _toSchema
= {'phase': 'phase', 'attempt': 'attempt', 'source_api_addrs': 'source-api-addrs', 'source_ca_cert': 'source-ca-cert', 'target_api_addrs': 'target-api-addrs', 'target_ca_cert': 'target-ca-cert'}
2916 _toPy
= {'target-ca-cert': 'target_ca_cert', 'source-api-addrs': 'source_api_addrs', 'source-ca-cert': 'source_ca_cert', 'attempt': 'attempt', 'phase': 'phase', 'target-api-addrs': 'target_api_addrs'}
2917 def __init__(self
, attempt
=None, phase
=None, source_api_addrs
=None, source_ca_cert
=None, target_api_addrs
=None, target_ca_cert
=None):
2921 source_api_addrs : typing.Sequence[str]
2922 source_ca_cert : str
2923 target_api_addrs : typing.Sequence[str]
2924 target_ca_cert : str
2926 self
.attempt
= attempt
2928 self
.source_api_addrs
= source_api_addrs
2929 self
.source_ca_cert
= source_ca_cert
2930 self
.target_api_addrs
= target_api_addrs
2931 self
.target_ca_cert
= target_ca_cert
2934 class ModelArgs(Type
):
2935 _toSchema
= {'model_tag': 'model-tag'}
2936 _toPy
= {'model-tag': 'model_tag'}
2937 def __init__(self
, model_tag
=None):
2941 self
.model_tag
= model_tag
2944 class ModelCreateArgs(Type
):
2945 _toSchema
= {'config': 'Config', 'ownertag': 'OwnerTag', 'account': 'Account'}
2946 _toPy
= {'OwnerTag': 'ownertag', 'Account': 'account', 'Config': 'config'}
2947 def __init__(self
, account
=None, config
=None, ownertag
=None):
2949 account : typing.Mapping[str, typing.Any]
2950 config : typing.Mapping[str, typing.Any]
2953 self
.account
= account
2954 self
.config
= config
2955 self
.ownertag
= ownertag
2958 class ModelInfoResult(Type
):
2959 _toSchema
= {'error': 'error', 'result': 'result'}
2960 _toPy
= {'error': 'error', 'result': 'result'}
2961 def __init__(self
, error
=None, result
=None):
2966 self
.error
= Error
.from_json(error
) if error
else None
2967 self
.result
= ModelInfo
.from_json(result
) if result
else None
2970 class ModelInfoResults(Type
):
2971 _toSchema
= {'results': 'results'}
2972 _toPy
= {'results': 'results'}
2973 def __init__(self
, results
=None):
2975 results : typing.Sequence[~ModelInfoResult]
2977 self
.results
= [ModelInfoResult
.from_json(o
) for o
in results
or []]
2980 class ModelSkeletonConfigArgs(Type
):
2981 _toSchema
= {'provider': 'Provider', 'region': 'Region'}
2982 _toPy
= {'Provider': 'provider', 'Region': 'region'}
2983 def __init__(self
, provider
=None, region
=None):
2988 self
.provider
= provider
2989 self
.region
= region
2992 class ModifyModelAccess(Type
):
2993 _toSchema
= {'model_tag': 'model-tag', 'access': 'access', 'user_tag': 'user-tag', 'action': 'action'}
2994 _toPy
= {'model-tag': 'model_tag', 'access': 'access', 'user-tag': 'user_tag', 'action': 'action'}
2995 def __init__(self
, access
=None, action
=None, model_tag
=None, user_tag
=None):
3002 self
.access
= access
3003 self
.action
= action
3004 self
.model_tag
= model_tag
3005 self
.user_tag
= user_tag
3008 class ModifyModelAccessRequest(Type
):
3009 _toSchema
= {'changes': 'changes'}
3010 _toPy
= {'changes': 'changes'}
3011 def __init__(self
, changes
=None):
3013 changes : typing.Sequence[~ModifyModelAccess]
3015 self
.changes
= [ModifyModelAccess
.from_json(o
) for o
in changes
or []]
3018 class ConstraintsResult(Type
):
3019 _toSchema
= {'error': 'Error', 'constraints': 'Constraints'}
3020 _toPy
= {'Error': 'error', 'Constraints': 'constraints'}
3021 def __init__(self
, constraints
=None, error
=None):
3026 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
3027 self
.error
= Error
.from_json(error
) if error
else None
3030 class ConstraintsResults(Type
):
3031 _toSchema
= {'results': 'Results'}
3032 _toPy
= {'Results': 'results'}
3033 def __init__(self
, results
=None):
3035 results : typing.Sequence[~ConstraintsResult]
3037 self
.results
= [ConstraintsResult
.from_json(o
) for o
in results
or []]
3040 class ContainerConfig(Type
):
3041 _toSchema
= {'proxy': 'Proxy', 'sslhostnameverification': 'SSLHostnameVerification', 'aptmirror': 'AptMirror', 'allowlxcloopmounts': 'AllowLXCLoopMounts', 'authorizedkeys': 'AuthorizedKeys', 'aptproxy': 'AptProxy', 'preferipv6': 'PreferIPv6', 'updatebehavior': 'UpdateBehavior', 'providertype': 'ProviderType'}
3042 _toPy
= {'UpdateBehavior': 'updatebehavior', 'AptProxy': 'aptproxy', 'Proxy': 'proxy', 'AuthorizedKeys': 'authorizedkeys', 'ProviderType': 'providertype', 'AllowLXCLoopMounts': 'allowlxcloopmounts', 'PreferIPv6': 'preferipv6', 'SSLHostnameVerification': 'sslhostnameverification', 'AptMirror': 'aptmirror'}
3043 def __init__(self
, allowlxcloopmounts
=None, aptmirror
=None, aptproxy
=None, authorizedkeys
=None, preferipv6
=None, providertype
=None, proxy
=None, sslhostnameverification
=None, updatebehavior
=None):
3045 allowlxcloopmounts : bool
3048 authorizedkeys : str
3052 sslhostnameverification : bool
3053 updatebehavior : UpdateBehavior
3055 self
.allowlxcloopmounts
= allowlxcloopmounts
3056 self
.aptmirror
= aptmirror
3057 self
.aptproxy
= Settings
.from_json(aptproxy
) if aptproxy
else None
3058 self
.authorizedkeys
= authorizedkeys
3059 self
.preferipv6
= preferipv6
3060 self
.providertype
= providertype
3061 self
.proxy
= Settings
.from_json(proxy
) if proxy
else None
3062 self
.sslhostnameverification
= sslhostnameverification
3063 self
.updatebehavior
= UpdateBehavior
.from_json(updatebehavior
) if updatebehavior
else None
3066 class ContainerManagerConfig(Type
):
3067 _toSchema
= {'managerconfig': 'ManagerConfig'}
3068 _toPy
= {'ManagerConfig': 'managerconfig'}
3069 def __init__(self
, managerconfig
=None):
3071 managerconfig : typing.Mapping[str, str]
3073 self
.managerconfig
= managerconfig
3076 class ContainerManagerConfigParams(Type
):
3077 _toSchema
= {'type_': 'Type'}
3078 _toPy
= {'Type': 'type_'}
3079 def __init__(self
, type_
=None):
3086 class DistributionGroupResult(Type
):
3087 _toSchema
= {'error': 'Error', 'result': 'Result'}
3088 _toPy
= {'Result': 'result', 'Error': 'error'}
3089 def __init__(self
, error
=None, result
=None):
3092 result : typing.Sequence[str]
3094 self
.error
= Error
.from_json(error
) if error
else None
3095 self
.result
= result
3098 class DistributionGroupResults(Type
):
3099 _toSchema
= {'results': 'Results'}
3100 _toPy
= {'Results': 'results'}
3101 def __init__(self
, results
=None):
3103 results : typing.Sequence[~DistributionGroupResult]
3105 self
.results
= [DistributionGroupResult
.from_json(o
) for o
in results
or []]
3108 class InstanceInfo(Type
):
3109 _toSchema
= {'characteristics': 'Characteristics', 'volumes': 'Volumes', 'networkconfig': 'NetworkConfig', 'volumeattachments': 'VolumeAttachments', 'instanceid': 'InstanceId', 'tag': 'Tag', 'nonce': 'Nonce'}
3110 _toPy
= {'Characteristics': 'characteristics', 'Volumes': 'volumes', 'NetworkConfig': 'networkconfig', 'InstanceId': 'instanceid', 'Nonce': 'nonce', 'Tag': 'tag', 'VolumeAttachments': 'volumeattachments'}
3111 def __init__(self
, characteristics
=None, instanceid
=None, networkconfig
=None, nonce
=None, tag
=None, volumeattachments
=None, volumes
=None):
3113 characteristics : HardwareCharacteristics
3115 networkconfig : typing.Sequence[~NetworkConfig]
3118 volumeattachments : typing.Mapping[str, ~VolumeAttachmentInfo]
3119 volumes : typing.Sequence[~Volume]
3121 self
.characteristics
= HardwareCharacteristics
.from_json(characteristics
) if characteristics
else None
3122 self
.instanceid
= instanceid
3123 self
.networkconfig
= [NetworkConfig
.from_json(o
) for o
in networkconfig
or []]
3126 self
.volumeattachments
= {k
: VolumeAttachmentInfo
.from_json(v
) for k
, v
in (volumeattachments
or dict()).items()}
3127 self
.volumes
= [Volume
.from_json(o
) for o
in volumes
or []]
3130 class InstancesInfo(Type
):
3131 _toSchema
= {'machines': 'Machines'}
3132 _toPy
= {'Machines': 'machines'}
3133 def __init__(self
, machines
=None):
3135 machines : typing.Sequence[~InstanceInfo]
3137 self
.machines
= [InstanceInfo
.from_json(o
) for o
in machines
or []]
3140 class MachineContainers(Type
):
3141 _toSchema
= {'machinetag': 'MachineTag', 'containertypes': 'ContainerTypes'}
3142 _toPy
= {'MachineTag': 'machinetag', 'ContainerTypes': 'containertypes'}
3143 def __init__(self
, containertypes
=None, machinetag
=None):
3145 containertypes : typing.Sequence[str]
3148 self
.containertypes
= containertypes
3149 self
.machinetag
= machinetag
3152 class MachineContainersParams(Type
):
3153 _toSchema
= {'params': 'Params'}
3154 _toPy
= {'Params': 'params'}
3155 def __init__(self
, params
=None):
3157 params : typing.Sequence[~MachineContainers]
3159 self
.params
= [MachineContainers
.from_json(o
) for o
in params
or []]
3162 class MachineNetworkConfigResult(Type
):
3163 _toSchema
= {'error': 'Error', 'info': 'Info'}
3164 _toPy
= {'Info': 'info', 'Error': 'error'}
3165 def __init__(self
, error
=None, info
=None):
3168 info : typing.Sequence[~NetworkConfig]
3170 self
.error
= Error
.from_json(error
) if error
else None
3171 self
.info
= [NetworkConfig
.from_json(o
) for o
in info
or []]
3174 class MachineNetworkConfigResults(Type
):
3175 _toSchema
= {'results': 'Results'}
3176 _toPy
= {'Results': 'results'}
3177 def __init__(self
, results
=None):
3179 results : typing.Sequence[~MachineNetworkConfigResult]
3181 self
.results
= [MachineNetworkConfigResult
.from_json(o
) for o
in results
or []]
3184 class ProvisioningInfo(Type
):
3185 _toSchema
= {'tags': 'Tags', 'imagemetadata': 'ImageMetadata', 'placement': 'Placement', 'volumes': 'Volumes', 'constraints': 'Constraints', 'jobs': 'Jobs', 'endpointbindings': 'EndpointBindings', 'series': 'Series', 'subnetstozones': 'SubnetsToZones'}
3186 _toPy
= {'SubnetsToZones': 'subnetstozones', 'Series': 'series', 'EndpointBindings': 'endpointbindings', 'Placement': 'placement', 'Jobs': 'jobs', 'Tags': 'tags', 'ImageMetadata': 'imagemetadata', 'Volumes': 'volumes', 'Constraints': 'constraints'}
3187 def __init__(self
, constraints
=None, endpointbindings
=None, imagemetadata
=None, jobs
=None, placement
=None, series
=None, subnetstozones
=None, tags
=None, volumes
=None):
3190 endpointbindings : typing.Mapping[str, str]
3191 imagemetadata : typing.Sequence[~CloudImageMetadata]
3192 jobs : typing.Sequence[str]
3195 subnetstozones : typing.Sequence[str]
3196 tags : typing.Mapping[str, str]
3197 volumes : typing.Sequence[~VolumeParams]
3199 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
3200 self
.endpointbindings
= endpointbindings
3201 self
.imagemetadata
= [CloudImageMetadata
.from_json(o
) for o
in imagemetadata
or []]
3203 self
.placement
= placement
3204 self
.series
= series
3205 self
.subnetstozones
= subnetstozones
3207 self
.volumes
= [VolumeParams
.from_json(o
) for o
in volumes
or []]
3210 class ProvisioningInfoResult(Type
):
3211 _toSchema
= {'error': 'Error', 'result': 'Result'}
3212 _toPy
= {'Result': 'result', 'Error': 'error'}
3213 def __init__(self
, error
=None, result
=None):
3216 result : ProvisioningInfo
3218 self
.error
= Error
.from_json(error
) if error
else None
3219 self
.result
= ProvisioningInfo
.from_json(result
) if result
else None
3222 class ProvisioningInfoResults(Type
):
3223 _toSchema
= {'results': 'Results'}
3224 _toPy
= {'Results': 'results'}
3225 def __init__(self
, results
=None):
3227 results : typing.Sequence[~ProvisioningInfoResult]
3229 self
.results
= [ProvisioningInfoResult
.from_json(o
) for o
in results
or []]
3232 class Settings(Type
):
3233 _toSchema
= {'noproxy': 'NoProxy', 'http': 'Http', 'https': 'Https', 'ftp': 'Ftp'}
3234 _toPy
= {'Ftp': 'ftp', 'Https': 'https', 'Http': 'http', 'NoProxy': 'noproxy'}
3235 def __init__(self
, ftp
=None, http
=None, https
=None, noproxy
=None):
3245 self
.noproxy
= noproxy
3248 class ToolsResult(Type
):
3249 _toSchema
= {'disablesslhostnameverification': 'DisableSSLHostnameVerification', 'error': 'Error', 'toolslist': 'ToolsList'}
3250 _toPy
= {'ToolsList': 'toolslist', 'DisableSSLHostnameVerification': 'disablesslhostnameverification', 'Error': 'error'}
3251 def __init__(self
, disablesslhostnameverification
=None, error
=None, toolslist
=None):
3253 disablesslhostnameverification : bool
3255 toolslist : typing.Sequence[~Tools]
3257 self
.disablesslhostnameverification
= disablesslhostnameverification
3258 self
.error
= Error
.from_json(error
) if error
else None
3259 self
.toolslist
= [Tools
.from_json(o
) for o
in toolslist
or []]
3262 class ToolsResults(Type
):
3263 _toSchema
= {'results': 'Results'}
3264 _toPy
= {'Results': 'results'}
3265 def __init__(self
, results
=None):
3267 results : typing.Sequence[~ToolsResult]
3269 self
.results
= [ToolsResult
.from_json(o
) for o
in results
or []]
3272 class UpdateBehavior(Type
):
3273 _toSchema
= {'enableosupgrade': 'EnableOSUpgrade', 'enableosrefreshupdate': 'EnableOSRefreshUpdate'}
3274 _toPy
= {'EnableOSRefreshUpdate': 'enableosrefreshupdate', 'EnableOSUpgrade': 'enableosupgrade'}
3275 def __init__(self
, enableosrefreshupdate
=None, enableosupgrade
=None):
3277 enableosrefreshupdate : bool
3278 enableosupgrade : bool
3280 self
.enableosrefreshupdate
= enableosrefreshupdate
3281 self
.enableosupgrade
= enableosupgrade
3285 _toSchema
= {'volumetag': 'volumetag', 'info': 'info'}
3286 _toPy
= {'volumetag': 'volumetag', 'info': 'info'}
3287 def __init__(self
, info
=None, volumetag
=None):
3292 self
.info
= VolumeInfo
.from_json(info
) if info
else None
3293 self
.volumetag
= volumetag
3296 class VolumeAttachmentInfo(Type
):
3297 _toSchema
= {'devicename': 'devicename', 'busaddress': 'busaddress', 'read_only': 'read-only', 'devicelink': 'devicelink'}
3298 _toPy
= {'devicename': 'devicename', 'busaddress': 'busaddress', 'read-only': 'read_only', 'devicelink': 'devicelink'}
3299 def __init__(self
, busaddress
=None, devicelink
=None, devicename
=None, read_only
=None):
3306 self
.busaddress
= busaddress
3307 self
.devicelink
= devicelink
3308 self
.devicename
= devicename
3309 self
.read_only
= read_only
3312 class VolumeAttachmentParams(Type
):
3313 _toSchema
= {'provider': 'provider', 'machinetag': 'machinetag', 'instanceid': 'instanceid', 'volumetag': 'volumetag', 'volumeid': 'volumeid', 'read_only': 'read-only'}
3314 _toPy
= {'provider': 'provider', 'machinetag': 'machinetag', 'instanceid': 'instanceid', 'volumetag': 'volumetag', 'volumeid': 'volumeid', 'read-only': 'read_only'}
3315 def __init__(self
, instanceid
=None, machinetag
=None, provider
=None, read_only
=None, volumeid
=None, volumetag
=None):
3324 self
.instanceid
= instanceid
3325 self
.machinetag
= machinetag
3326 self
.provider
= provider
3327 self
.read_only
= read_only
3328 self
.volumeid
= volumeid
3329 self
.volumetag
= volumetag
3332 class VolumeInfo(Type
):
3333 _toSchema
= {'persistent': 'persistent', 'volumeid': 'volumeid', 'hardwareid': 'hardwareid', 'size': 'size'}
3334 _toPy
= {'persistent': 'persistent', 'volumeid': 'volumeid', 'hardwareid': 'hardwareid', 'size': 'size'}
3335 def __init__(self
, hardwareid
=None, persistent
=None, size
=None, volumeid
=None):
3342 self
.hardwareid
= hardwareid
3343 self
.persistent
= persistent
3345 self
.volumeid
= volumeid
3348 class VolumeParams(Type
):
3349 _toSchema
= {'provider': 'provider', 'tags': 'tags', 'attributes': 'attributes', 'volumetag': 'volumetag', 'size': 'size', 'attachment': 'attachment'}
3350 _toPy
= {'provider': 'provider', 'tags': 'tags', 'attributes': 'attributes', 'volumetag': 'volumetag', 'size': 'size', 'attachment': 'attachment'}
3351 def __init__(self
, attachment
=None, attributes
=None, provider
=None, size
=None, tags
=None, volumetag
=None):
3353 attachment : VolumeAttachmentParams
3354 attributes : typing.Mapping[str, typing.Any]
3357 tags : typing.Mapping[str, str]
3360 self
.attachment
= VolumeAttachmentParams
.from_json(attachment
) if attachment
else None
3361 self
.attributes
= attributes
3362 self
.provider
= provider
3365 self
.volumetag
= volumetag
3368 class WatchContainer(Type
):
3369 _toSchema
= {'machinetag': 'MachineTag', 'containertype': 'ContainerType'}
3370 _toPy
= {'MachineTag': 'machinetag', 'ContainerType': 'containertype'}
3371 def __init__(self
, containertype
=None, machinetag
=None):
3376 self
.containertype
= containertype
3377 self
.machinetag
= machinetag
3380 class WatchContainers(Type
):
3381 _toSchema
= {'params': 'Params'}
3382 _toPy
= {'Params': 'params'}
3383 def __init__(self
, params
=None):
3385 params : typing.Sequence[~WatchContainer]
3387 self
.params
= [WatchContainer
.from_json(o
) for o
in params
or []]
3390 class ProxyConfig(Type
):
3391 _toSchema
= {'noproxy': 'NoProxy', 'http': 'HTTP', 'https': 'HTTPS', 'ftp': 'FTP'}
3392 _toPy
= {'HTTP': 'http', 'HTTPS': 'https', 'FTP': 'ftp', 'NoProxy': 'noproxy'}
3393 def __init__(self
, ftp
=None, http
=None, https
=None, noproxy
=None):
3403 self
.noproxy
= noproxy
3406 class ProxyConfigResult(Type
):
3407 _toSchema
= {'aptproxysettings': 'APTProxySettings', 'error': 'Error', 'proxysettings': 'ProxySettings'}
3408 _toPy
= {'APTProxySettings': 'aptproxysettings', 'Error': 'error', 'ProxySettings': 'proxysettings'}
3409 def __init__(self
, aptproxysettings
=None, error
=None, proxysettings
=None):
3411 aptproxysettings : ProxyConfig
3413 proxysettings : ProxyConfig
3415 self
.aptproxysettings
= ProxyConfig
.from_json(aptproxysettings
) if aptproxysettings
else None
3416 self
.error
= Error
.from_json(error
) if error
else None
3417 self
.proxysettings
= ProxyConfig
.from_json(proxysettings
) if proxysettings
else None
3420 class ProxyConfigResults(Type
):
3421 _toSchema
= {'results': 'Results'}
3422 _toPy
= {'Results': 'results'}
3423 def __init__(self
, results
=None):
3425 results : typing.Sequence[~ProxyConfigResult]
3427 self
.results
= [ProxyConfigResult
.from_json(o
) for o
in results
or []]
3430 class RebootActionResult(Type
):
3431 _toSchema
= {'error': 'error', 'result': 'result'}
3432 _toPy
= {'error': 'error', 'result': 'result'}
3433 def __init__(self
, error
=None, result
=None):
3438 self
.error
= Error
.from_json(error
) if error
else None
3439 self
.result
= result
3442 class RebootActionResults(Type
):
3443 _toSchema
= {'results': 'results'}
3444 _toPy
= {'results': 'results'}
3445 def __init__(self
, results
=None):
3447 results : typing.Sequence[~RebootActionResult]
3449 self
.results
= [RebootActionResult
.from_json(o
) for o
in results
or []]
3452 class RelationUnitsChange(Type
):
3453 _toSchema
= {'changed': 'Changed', 'departed': 'Departed'}
3454 _toPy
= {'Departed': 'departed', 'Changed': 'changed'}
3455 def __init__(self
, changed
=None, departed
=None):
3457 changed : typing.Mapping[str, ~UnitSettings]
3458 departed : typing.Sequence[str]
3460 self
.changed
= {k
: UnitSettings
.from_json(v
) for k
, v
in (changed
or dict()).items()}
3461 self
.departed
= departed
3464 class RelationUnitsWatchResult(Type
):
3465 _toSchema
= {'error': 'Error', 'changes': 'Changes', 'relationunitswatcherid': 'RelationUnitsWatcherId'}
3466 _toPy
= {'Changes': 'changes', 'Error': 'error', 'RelationUnitsWatcherId': 'relationunitswatcherid'}
3467 def __init__(self
, changes
=None, error
=None, relationunitswatcherid
=None):
3469 changes : RelationUnitsChange
3471 relationunitswatcherid : str
3473 self
.changes
= RelationUnitsChange
.from_json(changes
) if changes
else None
3474 self
.error
= Error
.from_json(error
) if error
else None
3475 self
.relationunitswatcherid
= relationunitswatcherid
3478 class UnitSettings(Type
):
3479 _toSchema
= {'version': 'Version'}
3480 _toPy
= {'Version': 'version'}
3481 def __init__(self
, version
=None):
3485 self
.version
= version
3488 class RetryStrategy(Type
):
3489 _toSchema
= {'maxretrytime': 'MaxRetryTime', 'minretrytime': 'MinRetryTime', 'shouldretry': 'ShouldRetry', 'jitterretrytime': 'JitterRetryTime', 'retrytimefactor': 'RetryTimeFactor'}
3490 _toPy
= {'RetryTimeFactor': 'retrytimefactor', 'ShouldRetry': 'shouldretry', 'MinRetryTime': 'minretrytime', 'JitterRetryTime': 'jitterretrytime', 'MaxRetryTime': 'maxretrytime'}
3491 def __init__(self
, jitterretrytime
=None, maxretrytime
=None, minretrytime
=None, retrytimefactor
=None, shouldretry
=None):
3493 jitterretrytime : bool
3496 retrytimefactor : int
3499 self
.jitterretrytime
= jitterretrytime
3500 self
.maxretrytime
= maxretrytime
3501 self
.minretrytime
= minretrytime
3502 self
.retrytimefactor
= retrytimefactor
3503 self
.shouldretry
= shouldretry
3506 class RetryStrategyResult(Type
):
3507 _toSchema
= {'error': 'Error', 'result': 'Result'}
3508 _toPy
= {'Result': 'result', 'Error': 'error'}
3509 def __init__(self
, error
=None, result
=None):
3512 result : RetryStrategy
3514 self
.error
= Error
.from_json(error
) if error
else None
3515 self
.result
= RetryStrategy
.from_json(result
) if result
else None
3518 class RetryStrategyResults(Type
):
3519 _toSchema
= {'results': 'Results'}
3520 _toPy
= {'Results': 'results'}
3521 def __init__(self
, results
=None):
3523 results : typing.Sequence[~RetryStrategyResult]
3525 self
.results
= [RetryStrategyResult
.from_json(o
) for o
in results
or []]
3528 class SSHAddressResult(Type
):
3529 _toSchema
= {'error': 'error', 'address': 'address'}
3530 _toPy
= {'error': 'error', 'address': 'address'}
3531 def __init__(self
, address
=None, error
=None):
3536 self
.address
= address
3537 self
.error
= Error
.from_json(error
) if error
else None
3540 class SSHAddressResults(Type
):
3541 _toSchema
= {'results': 'results'}
3542 _toPy
= {'results': 'results'}
3543 def __init__(self
, results
=None):
3545 results : typing.Sequence[~SSHAddressResult]
3547 self
.results
= [SSHAddressResult
.from_json(o
) for o
in results
or []]
3550 class SSHProxyResult(Type
):
3551 _toSchema
= {'use_proxy': 'use-proxy'}
3552 _toPy
= {'use-proxy': 'use_proxy'}
3553 def __init__(self
, use_proxy
=None):
3557 self
.use_proxy
= use_proxy
3560 class SSHPublicKeysResult(Type
):
3561 _toSchema
= {'public_keys': 'public-keys', 'error': 'error'}
3562 _toPy
= {'error': 'error', 'public-keys': 'public_keys'}
3563 def __init__(self
, error
=None, public_keys
=None):
3566 public_keys : typing.Sequence[str]
3568 self
.error
= Error
.from_json(error
) if error
else None
3569 self
.public_keys
= public_keys
3572 class SSHPublicKeysResults(Type
):
3573 _toSchema
= {'results': 'results'}
3574 _toPy
= {'results': 'results'}
3575 def __init__(self
, results
=None):
3577 results : typing.Sequence[~SSHPublicKeysResult]
3579 self
.results
= [SSHPublicKeysResult
.from_json(o
) for o
in results
or []]
3582 class AddRelation(Type
):
3583 _toSchema
= {'endpoints': 'Endpoints'}
3584 _toPy
= {'Endpoints': 'endpoints'}
3585 def __init__(self
, endpoints
=None):
3587 endpoints : typing.Sequence[str]
3589 self
.endpoints
= endpoints
3592 class AddRelationResults(Type
):
3593 _toSchema
= {'endpoints': 'Endpoints'}
3594 _toPy
= {'Endpoints': 'endpoints'}
3595 def __init__(self
, endpoints
=None):
3597 endpoints : typing.Mapping[str, ~Relation]
3599 self
.endpoints
= {k
: Relation
.from_json(v
) for k
, v
in (endpoints
or dict()).items()}
3602 class AddServiceUnits(Type
):
3603 _toSchema
= {'numunits': 'NumUnits', 'placement': 'Placement', 'servicename': 'ServiceName'}
3604 _toPy
= {'ServiceName': 'servicename', 'Placement': 'placement', 'NumUnits': 'numunits'}
3605 def __init__(self
, numunits
=None, placement
=None, servicename
=None):
3608 placement : typing.Sequence[~Placement]
3611 self
.numunits
= numunits
3612 self
.placement
= [Placement
.from_json(o
) for o
in placement
or []]
3613 self
.servicename
= servicename
3616 class AddServiceUnitsResults(Type
):
3617 _toSchema
= {'units': 'Units'}
3618 _toPy
= {'Units': 'units'}
3619 def __init__(self
, units
=None):
3621 units : typing.Sequence[str]
3626 class DestroyRelation(Type
):
3627 _toSchema
= {'endpoints': 'Endpoints'}
3628 _toPy
= {'Endpoints': 'endpoints'}
3629 def __init__(self
, endpoints
=None):
3631 endpoints : typing.Sequence[str]
3633 self
.endpoints
= endpoints
3636 class DestroyServiceUnits(Type
):
3637 _toSchema
= {'unitnames': 'UnitNames'}
3638 _toPy
= {'UnitNames': 'unitnames'}
3639 def __init__(self
, unitnames
=None):
3641 unitnames : typing.Sequence[str]
3643 self
.unitnames
= unitnames
3646 class GetServiceConstraints(Type
):
3647 _toSchema
= {'servicename': 'ServiceName'}
3648 _toPy
= {'ServiceName': 'servicename'}
3649 def __init__(self
, servicename
=None):
3653 self
.servicename
= servicename
3656 class Relation(Type
):
3657 _toSchema
= {'name': 'Name', 'limit': 'Limit', 'role': 'Role', 'optional': 'Optional', 'scope': 'Scope', 'interface': 'Interface'}
3658 _toPy
= {'Name': 'name', 'Limit': 'limit', 'Optional': 'optional', 'Role': 'role', 'Interface': 'interface', 'Scope': 'scope'}
3659 def __init__(self
, interface
=None, limit
=None, name
=None, optional
=None, role
=None, scope
=None):
3668 self
.interface
= interface
3671 self
.optional
= optional
3676 class ServiceCharmRelations(Type
):
3677 _toSchema
= {'servicename': 'ServiceName'}
3678 _toPy
= {'ServiceName': 'servicename'}
3679 def __init__(self
, servicename
=None):
3683 self
.servicename
= servicename
3686 class ServiceCharmRelationsResults(Type
):
3687 _toSchema
= {'charmrelations': 'CharmRelations'}
3688 _toPy
= {'CharmRelations': 'charmrelations'}
3689 def __init__(self
, charmrelations
=None):
3691 charmrelations : typing.Sequence[str]
3693 self
.charmrelations
= charmrelations
3696 class ServiceDeploy(Type
):
3697 _toSchema
= {'config': 'Config', 'storage': 'Storage', 'numunits': 'NumUnits', 'endpointbindings': 'EndpointBindings', 'series': 'Series', 'charmurl': 'CharmUrl', 'configyaml': 'ConfigYAML', 'constraints': 'Constraints', 'placement': 'Placement', 'servicename': 'ServiceName', 'channel': 'Channel', 'resources': 'Resources'}
3698 _toPy
= {'Storage': 'storage', 'Series': 'series', 'Placement': 'placement', 'ServiceName': 'servicename', 'Resources': 'resources', 'Config': 'config', 'EndpointBindings': 'endpointbindings', 'Channel': 'channel', 'ConfigYAML': 'configyaml', 'CharmUrl': 'charmurl', 'Constraints': 'constraints', 'NumUnits': 'numunits'}
3699 def __init__(self
, channel
=None, charmurl
=None, config
=None, configyaml
=None, constraints
=None, endpointbindings
=None, numunits
=None, placement
=None, resources
=None, series
=None, servicename
=None, storage
=None):
3703 config : typing.Mapping[str, str]
3706 endpointbindings : typing.Mapping[str, str]
3708 placement : typing.Sequence[~Placement]
3709 resources : typing.Mapping[str, str]
3712 storage : typing.Mapping[str, ~Constraints]
3714 self
.channel
= channel
3715 self
.charmurl
= charmurl
3716 self
.config
= config
3717 self
.configyaml
= configyaml
3718 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
3719 self
.endpointbindings
= endpointbindings
3720 self
.numunits
= numunits
3721 self
.placement
= [Placement
.from_json(o
) for o
in placement
or []]
3722 self
.resources
= resources
3723 self
.series
= series
3724 self
.servicename
= servicename
3725 self
.storage
= {k
: Constraints
.from_json(v
) for k
, v
in (storage
or dict()).items()}
3728 class ServiceDestroy(Type
):
3729 _toSchema
= {'servicename': 'ServiceName'}
3730 _toPy
= {'ServiceName': 'servicename'}
3731 def __init__(self
, servicename
=None):
3735 self
.servicename
= servicename
3738 class ServiceExpose(Type
):
3739 _toSchema
= {'servicename': 'ServiceName'}
3740 _toPy
= {'ServiceName': 'servicename'}
3741 def __init__(self
, servicename
=None):
3745 self
.servicename
= servicename
3748 class ServiceGet(Type
):
3749 _toSchema
= {'servicename': 'ServiceName'}
3750 _toPy
= {'ServiceName': 'servicename'}
3751 def __init__(self
, servicename
=None):
3755 self
.servicename
= servicename
3758 class ServiceGetResults(Type
):
3759 _toSchema
= {'config': 'Config', 'service': 'Service', 'constraints': 'Constraints', 'charm': 'Charm'}
3760 _toPy
= {'Service': 'service', 'Constraints': 'constraints', 'Charm': 'charm', 'Config': 'config'}
3761 def __init__(self
, charm
=None, config
=None, constraints
=None, service
=None):
3764 config : typing.Mapping[str, typing.Any]
3769 self
.config
= config
3770 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
3771 self
.service
= service
3774 class ServiceMetricCredential(Type
):
3775 _toSchema
= {'metriccredentials': 'MetricCredentials', 'servicename': 'ServiceName'}
3776 _toPy
= {'MetricCredentials': 'metriccredentials', 'ServiceName': 'servicename'}
3777 def __init__(self
, metriccredentials
=None, servicename
=None):
3779 metriccredentials : typing.Sequence[int]
3782 self
.metriccredentials
= metriccredentials
3783 self
.servicename
= servicename
3786 class ServiceMetricCredentials(Type
):
3787 _toSchema
= {'creds': 'Creds'}
3788 _toPy
= {'Creds': 'creds'}
3789 def __init__(self
, creds
=None):
3791 creds : typing.Sequence[~ServiceMetricCredential]
3793 self
.creds
= [ServiceMetricCredential
.from_json(o
) for o
in creds
or []]
3796 class ServiceSet(Type
):
3797 _toSchema
= {'options': 'Options', 'servicename': 'ServiceName'}
3798 _toPy
= {'ServiceName': 'servicename', 'Options': 'options'}
3799 def __init__(self
, options
=None, servicename
=None):
3801 options : typing.Mapping[str, str]
3804 self
.options
= options
3805 self
.servicename
= servicename
3808 class ServiceSetCharm(Type
):
3809 _toSchema
= {'forceseries': 'forceseries', 'forceunits': 'forceunits', 'cs_channel': 'cs-channel', 'resourceids': 'resourceids', 'servicename': 'servicename', 'charmurl': 'charmurl'}
3810 _toPy
= {'forceseries': 'forceseries', 'forceunits': 'forceunits', 'servicename': 'servicename', 'cs-channel': 'cs_channel', 'charmurl': 'charmurl', 'resourceids': 'resourceids'}
3811 def __init__(self
, charmurl
=None, cs_channel
=None, forceseries
=None, forceunits
=None, resourceids
=None, servicename
=None):
3817 resourceids : typing.Mapping[str, str]
3820 self
.charmurl
= charmurl
3821 self
.cs_channel
= cs_channel
3822 self
.forceseries
= forceseries
3823 self
.forceunits
= forceunits
3824 self
.resourceids
= resourceids
3825 self
.servicename
= servicename
3828 class ServiceUnexpose(Type
):
3829 _toSchema
= {'servicename': 'ServiceName'}
3830 _toPy
= {'ServiceName': 'servicename'}
3831 def __init__(self
, servicename
=None):
3835 self
.servicename
= servicename
3838 class ServiceUnset(Type
):
3839 _toSchema
= {'options': 'Options', 'servicename': 'ServiceName'}
3840 _toPy
= {'ServiceName': 'servicename', 'Options': 'options'}
3841 def __init__(self
, options
=None, servicename
=None):
3843 options : typing.Sequence[str]
3846 self
.options
= options
3847 self
.servicename
= servicename
3850 class ServiceUpdate(Type
):
3851 _toSchema
= {'minunits': 'MinUnits', 'forceseries': 'ForceSeries', 'settingsstrings': 'SettingsStrings', 'constraints': 'Constraints', 'forcecharmurl': 'ForceCharmUrl', 'settingsyaml': 'SettingsYAML', 'charmurl': 'CharmUrl', 'servicename': 'ServiceName'}
3852 _toPy
= {'ForceSeries': 'forceseries', 'ForceCharmUrl': 'forcecharmurl', 'SettingsYAML': 'settingsyaml', 'SettingsStrings': 'settingsstrings', 'ServiceName': 'servicename', 'CharmUrl': 'charmurl', 'MinUnits': 'minunits', 'Constraints': 'constraints'}
3853 def __init__(self
, charmurl
=None, constraints
=None, forcecharmurl
=None, forceseries
=None, minunits
=None, servicename
=None, settingsstrings
=None, settingsyaml
=None):
3857 forcecharmurl : bool
3861 settingsstrings : typing.Mapping[str, str]
3864 self
.charmurl
= charmurl
3865 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
3866 self
.forcecharmurl
= forcecharmurl
3867 self
.forceseries
= forceseries
3868 self
.minunits
= minunits
3869 self
.servicename
= servicename
3870 self
.settingsstrings
= settingsstrings
3871 self
.settingsyaml
= settingsyaml
3874 class ServicesDeploy(Type
):
3875 _toSchema
= {'services': 'Services'}
3876 _toPy
= {'Services': 'services'}
3877 def __init__(self
, services
=None):
3879 services : typing.Sequence[~ServiceDeploy]
3881 self
.services
= [ServiceDeploy
.from_json(o
) for o
in services
or []]
3884 class SingularClaim(Type
):
3885 _toSchema
= {'controllertag': 'ControllerTag', 'modeltag': 'ModelTag', 'duration': 'Duration'}
3886 _toPy
= {'ControllerTag': 'controllertag', 'ModelTag': 'modeltag', 'Duration': 'duration'}
3887 def __init__(self
, controllertag
=None, duration
=None, modeltag
=None):
3893 self
.controllertag
= controllertag
3894 self
.duration
= duration
3895 self
.modeltag
= modeltag
3898 class SingularClaims(Type
):
3899 _toSchema
= {'claims': 'Claims'}
3900 _toPy
= {'Claims': 'claims'}
3901 def __init__(self
, claims
=None):
3903 claims : typing.Sequence[~SingularClaim]
3905 self
.claims
= [SingularClaim
.from_json(o
) for o
in claims
or []]
3908 class ListSpacesResults(Type
):
3909 _toSchema
= {'results': 'Results'}
3910 _toPy
= {'Results': 'results'}
3911 def __init__(self
, results
=None):
3913 results : typing.Sequence[~Space]
3915 self
.results
= [Space
.from_json(o
) for o
in results
or []]
3919 _toSchema
= {'name': 'Name', 'subnets': 'Subnets', 'error': 'Error'}
3920 _toPy
= {'Name': 'name', 'Error': 'error', 'Subnets': 'subnets'}
3921 def __init__(self
, error
=None, name
=None, subnets
=None):
3925 subnets : typing.Sequence[~Subnet]
3927 self
.error
= Error
.from_json(error
) if error
else None
3929 self
.subnets
= [Subnet
.from_json(o
) for o
in subnets
or []]
3932 class StatusHistoryPruneArgs(Type
):
3933 _toSchema
= {'maxlogsperentity': 'MaxLogsPerEntity'}
3934 _toPy
= {'MaxLogsPerEntity': 'maxlogsperentity'}
3935 def __init__(self
, maxlogsperentity
=None):
3937 maxlogsperentity : int
3939 self
.maxlogsperentity
= maxlogsperentity
3942 class FilesystemAttachmentInfo(Type
):
3943 _toSchema
= {'mountpoint': 'mountpoint', 'read_only': 'read-only'}
3944 _toPy
= {'mountpoint': 'mountpoint', 'read-only': 'read_only'}
3945 def __init__(self
, mountpoint
=None, read_only
=None):
3950 self
.mountpoint
= mountpoint
3951 self
.read_only
= read_only
3954 class FilesystemDetails(Type
):
3955 _toSchema
= {'volumetag': 'volumetag', 'storage': 'storage', 'machineattachments': 'machineattachments', 'filesystemtag': 'filesystemtag', 'status': 'status', 'info': 'info'}
3956 _toPy
= {'volumetag': 'volumetag', 'storage': 'storage', 'machineattachments': 'machineattachments', 'filesystemtag': 'filesystemtag', 'status': 'status', 'info': 'info'}
3957 def __init__(self
, filesystemtag
=None, info
=None, machineattachments
=None, status
=None, storage
=None, volumetag
=None):
3960 info : FilesystemInfo
3961 machineattachments : typing.Mapping[str, ~FilesystemAttachmentInfo]
3962 status : EntityStatus
3963 storage : StorageDetails
3966 self
.filesystemtag
= filesystemtag
3967 self
.info
= FilesystemInfo
.from_json(info
) if info
else None
3968 self
.machineattachments
= {k
: FilesystemAttachmentInfo
.from_json(v
) for k
, v
in (machineattachments
or dict()).items()}
3969 self
.status
= EntityStatus
.from_json(status
) if status
else None
3970 self
.storage
= StorageDetails
.from_json(storage
) if storage
else None
3971 self
.volumetag
= volumetag
3974 class FilesystemDetailsListResult(Type
):
3975 _toSchema
= {'error': 'error', 'result': 'result'}
3976 _toPy
= {'error': 'error', 'result': 'result'}
3977 def __init__(self
, error
=None, result
=None):
3980 result : typing.Sequence[~FilesystemDetails]
3982 self
.error
= Error
.from_json(error
) if error
else None
3983 self
.result
= [FilesystemDetails
.from_json(o
) for o
in result
or []]
3986 class FilesystemDetailsListResults(Type
):
3987 _toSchema
= {'results': 'results'}
3988 _toPy
= {'results': 'results'}
3989 def __init__(self
, results
=None):
3991 results : typing.Sequence[~FilesystemDetailsListResult]
3993 self
.results
= [FilesystemDetailsListResult
.from_json(o
) for o
in results
or []]
3996 class FilesystemFilter(Type
):
3997 _toSchema
= {'machines': 'machines'}
3998 _toPy
= {'machines': 'machines'}
3999 def __init__(self
, machines
=None):
4001 machines : typing.Sequence[str]
4003 self
.machines
= machines
4006 class FilesystemFilters(Type
):
4007 _toSchema
= {'filters': 'filters'}
4008 _toPy
= {'filters': 'filters'}
4009 def __init__(self
, filters
=None):
4011 filters : typing.Sequence[~FilesystemFilter]
4013 self
.filters
= [FilesystemFilter
.from_json(o
) for o
in filters
or []]
4016 class FilesystemInfo(Type
):
4017 _toSchema
= {'filesystemid': 'filesystemid', 'size': 'size'}
4018 _toPy
= {'filesystemid': 'filesystemid', 'size': 'size'}
4019 def __init__(self
, filesystemid
=None, size
=None):
4024 self
.filesystemid
= filesystemid
4028 class StorageAddParams(Type
):
4029 _toSchema
= {'storage': 'storage', 'unit': 'unit', 'storagename': 'StorageName'}
4030 _toPy
= {'StorageName': 'storagename', 'storage': 'storage', 'unit': 'unit'}
4031 def __init__(self
, storagename
=None, storage
=None, unit
=None):
4034 storage : StorageConstraints
4037 self
.storagename
= storagename
4038 self
.storage
= StorageConstraints
.from_json(storage
) if storage
else None
4042 class StorageAttachmentDetails(Type
):
4043 _toSchema
= {'machinetag': 'machinetag', 'unittag': 'unittag', 'storagetag': 'storagetag', 'location': 'location'}
4044 _toPy
= {'machinetag': 'machinetag', 'unittag': 'unittag', 'storagetag': 'storagetag', 'location': 'location'}
4045 def __init__(self
, location
=None, machinetag
=None, storagetag
=None, unittag
=None):
4052 self
.location
= location
4053 self
.machinetag
= machinetag
4054 self
.storagetag
= storagetag
4055 self
.unittag
= unittag
4058 class StorageConstraints(Type
):
4059 _toSchema
= {'size': 'Size', 'pool': 'Pool', 'count': 'Count'}
4060 _toPy
= {'Size': 'size', 'Count': 'count', 'Pool': 'pool'}
4061 def __init__(self
, count
=None, pool
=None, size
=None):
4072 class StorageDetails(Type
):
4073 _toSchema
= {'kind': 'kind', 'attachments': 'attachments', 'storagetag': 'storagetag', 'persistent': 'Persistent', 'ownertag': 'ownertag', 'status': 'status'}
4074 _toPy
= {'kind': 'kind', 'attachments': 'attachments', 'Persistent': 'persistent', 'storagetag': 'storagetag', 'status': 'status', 'ownertag': 'ownertag'}
4075 def __init__(self
, persistent
=None, attachments
=None, kind
=None, ownertag
=None, status
=None, storagetag
=None):
4078 attachments : typing.Mapping[str, ~StorageAttachmentDetails]
4081 status : EntityStatus
4084 self
.persistent
= persistent
4085 self
.attachments
= {k
: StorageAttachmentDetails
.from_json(v
) for k
, v
in (attachments
or dict()).items()}
4087 self
.ownertag
= ownertag
4088 self
.status
= EntityStatus
.from_json(status
) if status
else None
4089 self
.storagetag
= storagetag
4092 class StorageDetailsListResult(Type
):
4093 _toSchema
= {'error': 'error', 'result': 'result'}
4094 _toPy
= {'error': 'error', 'result': 'result'}
4095 def __init__(self
, error
=None, result
=None):
4098 result : typing.Sequence[~StorageDetails]
4100 self
.error
= Error
.from_json(error
) if error
else None
4101 self
.result
= [StorageDetails
.from_json(o
) for o
in result
or []]
4104 class StorageDetailsListResults(Type
):
4105 _toSchema
= {'results': 'results'}
4106 _toPy
= {'results': 'results'}
4107 def __init__(self
, results
=None):
4109 results : typing.Sequence[~StorageDetailsListResult]
4111 self
.results
= [StorageDetailsListResult
.from_json(o
) for o
in results
or []]
4114 class StorageDetailsResult(Type
):
4115 _toSchema
= {'error': 'error', 'result': 'result'}
4116 _toPy
= {'error': 'error', 'result': 'result'}
4117 def __init__(self
, error
=None, result
=None):
4120 result : StorageDetails
4122 self
.error
= Error
.from_json(error
) if error
else None
4123 self
.result
= StorageDetails
.from_json(result
) if result
else None
4126 class StorageDetailsResults(Type
):
4127 _toSchema
= {'results': 'results'}
4128 _toPy
= {'results': 'results'}
4129 def __init__(self
, results
=None):
4131 results : typing.Sequence[~StorageDetailsResult]
4133 self
.results
= [StorageDetailsResult
.from_json(o
) for o
in results
or []]
4136 class StorageFilter(Type
):
4146 class StorageFilters(Type
):
4147 _toSchema
= {'filters': 'filters'}
4148 _toPy
= {'filters': 'filters'}
4149 def __init__(self
, filters
=None):
4151 filters : typing.Sequence[~StorageFilter]
4153 self
.filters
= [StorageFilter
.from_json(o
) for o
in filters
or []]
4156 class StoragePool(Type
):
4157 _toSchema
= {'name': 'name', 'provider': 'provider', 'attrs': 'attrs'}
4158 _toPy
= {'name': 'name', 'provider': 'provider', 'attrs': 'attrs'}
4159 def __init__(self
, attrs
=None, name
=None, provider
=None):
4161 attrs : typing.Mapping[str, typing.Any]
4167 self
.provider
= provider
4170 class StoragePoolFilter(Type
):
4171 _toSchema
= {'providers': 'providers', 'names': 'names'}
4172 _toPy
= {'providers': 'providers', 'names': 'names'}
4173 def __init__(self
, names
=None, providers
=None):
4175 names : typing.Sequence[str]
4176 providers : typing.Sequence[str]
4179 self
.providers
= providers
4182 class StoragePoolFilters(Type
):
4183 _toSchema
= {'filters': 'filters'}
4184 _toPy
= {'filters': 'filters'}
4185 def __init__(self
, filters
=None):
4187 filters : typing.Sequence[~StoragePoolFilter]
4189 self
.filters
= [StoragePoolFilter
.from_json(o
) for o
in filters
or []]
4192 class StoragePoolsResult(Type
):
4193 _toSchema
= {'error': 'error', 'storagepools': 'storagepools'}
4194 _toPy
= {'error': 'error', 'storagepools': 'storagepools'}
4195 def __init__(self
, error
=None, storagepools
=None):
4198 storagepools : typing.Sequence[~StoragePool]
4200 self
.error
= Error
.from_json(error
) if error
else None
4201 self
.storagepools
= [StoragePool
.from_json(o
) for o
in storagepools
or []]
4204 class StoragePoolsResults(Type
):
4205 _toSchema
= {'results': 'results'}
4206 _toPy
= {'results': 'results'}
4207 def __init__(self
, results
=None):
4209 results : typing.Sequence[~StoragePoolsResult]
4211 self
.results
= [StoragePoolsResult
.from_json(o
) for o
in results
or []]
4214 class StoragesAddParams(Type
):
4215 _toSchema
= {'storages': 'storages'}
4216 _toPy
= {'storages': 'storages'}
4217 def __init__(self
, storages
=None):
4219 storages : typing.Sequence[~StorageAddParams]
4221 self
.storages
= [StorageAddParams
.from_json(o
) for o
in storages
or []]
4224 class VolumeDetails(Type
):
4225 _toSchema
= {'machineattachments': 'machineattachments', 'status': 'status', 'storage': 'storage', 'info': 'info', 'volumetag': 'volumetag'}
4226 _toPy
= {'machineattachments': 'machineattachments', 'status': 'status', 'storage': 'storage', 'info': 'info', 'volumetag': 'volumetag'}
4227 def __init__(self
, info
=None, machineattachments
=None, status
=None, storage
=None, volumetag
=None):
4230 machineattachments : typing.Mapping[str, ~VolumeAttachmentInfo]
4231 status : EntityStatus
4232 storage : StorageDetails
4235 self
.info
= VolumeInfo
.from_json(info
) if info
else None
4236 self
.machineattachments
= {k
: VolumeAttachmentInfo
.from_json(v
) for k
, v
in (machineattachments
or dict()).items()}
4237 self
.status
= EntityStatus
.from_json(status
) if status
else None
4238 self
.storage
= StorageDetails
.from_json(storage
) if storage
else None
4239 self
.volumetag
= volumetag
4242 class VolumeDetailsListResult(Type
):
4243 _toSchema
= {'error': 'error', 'result': 'result'}
4244 _toPy
= {'error': 'error', 'result': 'result'}
4245 def __init__(self
, error
=None, result
=None):
4248 result : typing.Sequence[~VolumeDetails]
4250 self
.error
= Error
.from_json(error
) if error
else None
4251 self
.result
= [VolumeDetails
.from_json(o
) for o
in result
or []]
4254 class VolumeDetailsListResults(Type
):
4255 _toSchema
= {'results': 'results'}
4256 _toPy
= {'results': 'results'}
4257 def __init__(self
, results
=None):
4259 results : typing.Sequence[~VolumeDetailsListResult]
4261 self
.results
= [VolumeDetailsListResult
.from_json(o
) for o
in results
or []]
4264 class VolumeFilter(Type
):
4265 _toSchema
= {'machines': 'machines'}
4266 _toPy
= {'machines': 'machines'}
4267 def __init__(self
, machines
=None):
4269 machines : typing.Sequence[str]
4271 self
.machines
= machines
4274 class VolumeFilters(Type
):
4275 _toSchema
= {'filters': 'filters'}
4276 _toPy
= {'filters': 'filters'}
4277 def __init__(self
, filters
=None):
4279 filters : typing.Sequence[~VolumeFilter]
4281 self
.filters
= [VolumeFilter
.from_json(o
) for o
in filters
or []]
4284 class BlockDeviceResult(Type
):
4285 _toSchema
= {'error': 'error', 'result': 'result'}
4286 _toPy
= {'error': 'error', 'result': 'result'}
4287 def __init__(self
, error
=None, result
=None):
4290 result : BlockDevice
4292 self
.error
= Error
.from_json(error
) if error
else None
4293 self
.result
= BlockDevice
.from_json(result
) if result
else None
4296 class BlockDeviceResults(Type
):
4297 _toSchema
= {'results': 'results'}
4298 _toPy
= {'results': 'results'}
4299 def __init__(self
, results
=None):
4301 results : typing.Sequence[~BlockDeviceResult]
4303 self
.results
= [BlockDeviceResult
.from_json(o
) for o
in results
or []]
4306 class Filesystem(Type
):
4307 _toSchema
= {'filesystemtag': 'filesystemtag', 'volumetag': 'volumetag', 'info': 'info'}
4308 _toPy
= {'filesystemtag': 'filesystemtag', 'volumetag': 'volumetag', 'info': 'info'}
4309 def __init__(self
, filesystemtag
=None, info
=None, volumetag
=None):
4312 info : FilesystemInfo
4315 self
.filesystemtag
= filesystemtag
4316 self
.info
= FilesystemInfo
.from_json(info
) if info
else None
4317 self
.volumetag
= volumetag
4320 class FilesystemAttachment(Type
):
4321 _toSchema
= {'filesystemtag': 'filesystemtag', 'info': 'info', 'machinetag': 'machinetag'}
4322 _toPy
= {'filesystemtag': 'filesystemtag', 'info': 'info', 'machinetag': 'machinetag'}
4323 def __init__(self
, filesystemtag
=None, info
=None, machinetag
=None):
4326 info : FilesystemAttachmentInfo
4329 self
.filesystemtag
= filesystemtag
4330 self
.info
= FilesystemAttachmentInfo
.from_json(info
) if info
else None
4331 self
.machinetag
= machinetag
4334 class FilesystemAttachmentParams(Type
):
4335 _toSchema
= {'filesystemid': 'filesystemid', 'machinetag': 'machinetag', 'provider': 'provider', 'instanceid': 'instanceid', 'filesystemtag': 'filesystemtag', 'mountpoint': 'mountpoint', 'read_only': 'read-only'}
4336 _toPy
= {'filesystemid': 'filesystemid', 'machinetag': 'machinetag', 'provider': 'provider', 'instanceid': 'instanceid', 'filesystemtag': 'filesystemtag', 'mountpoint': 'mountpoint', 'read-only': 'read_only'}
4337 def __init__(self
, filesystemid
=None, filesystemtag
=None, instanceid
=None, machinetag
=None, mountpoint
=None, provider
=None, read_only
=None):
4347 self
.filesystemid
= filesystemid
4348 self
.filesystemtag
= filesystemtag
4349 self
.instanceid
= instanceid
4350 self
.machinetag
= machinetag
4351 self
.mountpoint
= mountpoint
4352 self
.provider
= provider
4353 self
.read_only
= read_only
4356 class FilesystemAttachmentParamsResult(Type
):
4357 _toSchema
= {'error': 'error', 'result': 'result'}
4358 _toPy
= {'error': 'error', 'result': 'result'}
4359 def __init__(self
, error
=None, result
=None):
4362 result : FilesystemAttachmentParams
4364 self
.error
= Error
.from_json(error
) if error
else None
4365 self
.result
= FilesystemAttachmentParams
.from_json(result
) if result
else None
4368 class FilesystemAttachmentParamsResults(Type
):
4369 _toSchema
= {'results': 'results'}
4370 _toPy
= {'results': 'results'}
4371 def __init__(self
, results
=None):
4373 results : typing.Sequence[~FilesystemAttachmentParamsResult]
4375 self
.results
= [FilesystemAttachmentParamsResult
.from_json(o
) for o
in results
or []]
4378 class FilesystemAttachmentResult(Type
):
4379 _toSchema
= {'error': 'error', 'result': 'result'}
4380 _toPy
= {'error': 'error', 'result': 'result'}
4381 def __init__(self
, error
=None, result
=None):
4384 result : FilesystemAttachment
4386 self
.error
= Error
.from_json(error
) if error
else None
4387 self
.result
= FilesystemAttachment
.from_json(result
) if result
else None
4390 class FilesystemAttachmentResults(Type
):
4391 _toSchema
= {'results': 'results'}
4392 _toPy
= {'results': 'results'}
4393 def __init__(self
, results
=None):
4395 results : typing.Sequence[~FilesystemAttachmentResult]
4397 self
.results
= [FilesystemAttachmentResult
.from_json(o
) for o
in results
or []]
4400 class FilesystemAttachments(Type
):
4401 _toSchema
= {'filesystemattachments': 'filesystemattachments'}
4402 _toPy
= {'filesystemattachments': 'filesystemattachments'}
4403 def __init__(self
, filesystemattachments
=None):
4405 filesystemattachments : typing.Sequence[~FilesystemAttachment]
4407 self
.filesystemattachments
= [FilesystemAttachment
.from_json(o
) for o
in filesystemattachments
or []]
4410 class FilesystemParams(Type
):
4411 _toSchema
= {'provider': 'provider', 'tags': 'tags', 'attributes': 'attributes', 'filesystemtag': 'filesystemtag', 'volumetag': 'volumetag', 'size': 'size', 'attachment': 'attachment'}
4412 _toPy
= {'provider': 'provider', 'tags': 'tags', 'attributes': 'attributes', 'filesystemtag': 'filesystemtag', 'volumetag': 'volumetag', 'size': 'size', 'attachment': 'attachment'}
4413 def __init__(self
, attachment
=None, attributes
=None, filesystemtag
=None, provider
=None, size
=None, tags
=None, volumetag
=None):
4415 attachment : FilesystemAttachmentParams
4416 attributes : typing.Mapping[str, typing.Any]
4420 tags : typing.Mapping[str, str]
4423 self
.attachment
= FilesystemAttachmentParams
.from_json(attachment
) if attachment
else None
4424 self
.attributes
= attributes
4425 self
.filesystemtag
= filesystemtag
4426 self
.provider
= provider
4429 self
.volumetag
= volumetag
4432 class FilesystemParamsResult(Type
):
4433 _toSchema
= {'error': 'error', 'result': 'result'}
4434 _toPy
= {'error': 'error', 'result': 'result'}
4435 def __init__(self
, error
=None, result
=None):
4438 result : FilesystemParams
4440 self
.error
= Error
.from_json(error
) if error
else None
4441 self
.result
= FilesystemParams
.from_json(result
) if result
else None
4444 class FilesystemParamsResults(Type
):
4445 _toSchema
= {'results': 'results'}
4446 _toPy
= {'results': 'results'}
4447 def __init__(self
, results
=None):
4449 results : typing.Sequence[~FilesystemParamsResult]
4451 self
.results
= [FilesystemParamsResult
.from_json(o
) for o
in results
or []]
4454 class FilesystemResult(Type
):
4455 _toSchema
= {'error': 'error', 'result': 'result'}
4456 _toPy
= {'error': 'error', 'result': 'result'}
4457 def __init__(self
, error
=None, result
=None):
4462 self
.error
= Error
.from_json(error
) if error
else None
4463 self
.result
= Filesystem
.from_json(result
) if result
else None
4466 class FilesystemResults(Type
):
4467 _toSchema
= {'results': 'results'}
4468 _toPy
= {'results': 'results'}
4469 def __init__(self
, results
=None):
4471 results : typing.Sequence[~FilesystemResult]
4473 self
.results
= [FilesystemResult
.from_json(o
) for o
in results
or []]
4476 class Filesystems(Type
):
4477 _toSchema
= {'filesystems': 'filesystems'}
4478 _toPy
= {'filesystems': 'filesystems'}
4479 def __init__(self
, filesystems
=None):
4481 filesystems : typing.Sequence[~Filesystem]
4483 self
.filesystems
= [Filesystem
.from_json(o
) for o
in filesystems
or []]
4486 class MachineStorageIds(Type
):
4487 _toSchema
= {'ids': 'ids'}
4488 _toPy
= {'ids': 'ids'}
4489 def __init__(self
, ids
=None):
4491 ids : typing.Sequence[~MachineStorageId]
4493 self
.ids
= [MachineStorageId
.from_json(o
) for o
in ids
or []]
4496 class MachineStorageIdsWatchResults(Type
):
4497 _toSchema
= {'results': 'Results'}
4498 _toPy
= {'Results': 'results'}
4499 def __init__(self
, results
=None):
4501 results : typing.Sequence[~MachineStorageIdsWatchResult]
4503 self
.results
= [MachineStorageIdsWatchResult
.from_json(o
) for o
in results
or []]
4506 class VolumeAttachment(Type
):
4507 _toSchema
= {'machinetag': 'machinetag', 'volumetag': 'volumetag', 'info': 'info'}
4508 _toPy
= {'machinetag': 'machinetag', 'volumetag': 'volumetag', 'info': 'info'}
4509 def __init__(self
, info
=None, machinetag
=None, volumetag
=None):
4511 info : VolumeAttachmentInfo
4515 self
.info
= VolumeAttachmentInfo
.from_json(info
) if info
else None
4516 self
.machinetag
= machinetag
4517 self
.volumetag
= volumetag
4520 class VolumeAttachmentParamsResult(Type
):
4521 _toSchema
= {'error': 'error', 'result': 'result'}
4522 _toPy
= {'error': 'error', 'result': 'result'}
4523 def __init__(self
, error
=None, result
=None):
4526 result : VolumeAttachmentParams
4528 self
.error
= Error
.from_json(error
) if error
else None
4529 self
.result
= VolumeAttachmentParams
.from_json(result
) if result
else None
4532 class VolumeAttachmentParamsResults(Type
):
4533 _toSchema
= {'results': 'results'}
4534 _toPy
= {'results': 'results'}
4535 def __init__(self
, results
=None):
4537 results : typing.Sequence[~VolumeAttachmentParamsResult]
4539 self
.results
= [VolumeAttachmentParamsResult
.from_json(o
) for o
in results
or []]
4542 class VolumeAttachmentResult(Type
):
4543 _toSchema
= {'error': 'error', 'result': 'result'}
4544 _toPy
= {'error': 'error', 'result': 'result'}
4545 def __init__(self
, error
=None, result
=None):
4548 result : VolumeAttachment
4550 self
.error
= Error
.from_json(error
) if error
else None
4551 self
.result
= VolumeAttachment
.from_json(result
) if result
else None
4554 class VolumeAttachmentResults(Type
):
4555 _toSchema
= {'results': 'results'}
4556 _toPy
= {'results': 'results'}
4557 def __init__(self
, results
=None):
4559 results : typing.Sequence[~VolumeAttachmentResult]
4561 self
.results
= [VolumeAttachmentResult
.from_json(o
) for o
in results
or []]
4564 class VolumeAttachments(Type
):
4565 _toSchema
= {'volumeattachments': 'volumeattachments'}
4566 _toPy
= {'volumeattachments': 'volumeattachments'}
4567 def __init__(self
, volumeattachments
=None):
4569 volumeattachments : typing.Sequence[~VolumeAttachment]
4571 self
.volumeattachments
= [VolumeAttachment
.from_json(o
) for o
in volumeattachments
or []]
4574 class VolumeParamsResult(Type
):
4575 _toSchema
= {'error': 'error', 'result': 'result'}
4576 _toPy
= {'error': 'error', 'result': 'result'}
4577 def __init__(self
, error
=None, result
=None):
4580 result : VolumeParams
4582 self
.error
= Error
.from_json(error
) if error
else None
4583 self
.result
= VolumeParams
.from_json(result
) if result
else None
4586 class VolumeParamsResults(Type
):
4587 _toSchema
= {'results': 'results'}
4588 _toPy
= {'results': 'results'}
4589 def __init__(self
, results
=None):
4591 results : typing.Sequence[~VolumeParamsResult]
4593 self
.results
= [VolumeParamsResult
.from_json(o
) for o
in results
or []]
4596 class VolumeResult(Type
):
4597 _toSchema
= {'error': 'error', 'result': 'result'}
4598 _toPy
= {'error': 'error', 'result': 'result'}
4599 def __init__(self
, error
=None, result
=None):
4604 self
.error
= Error
.from_json(error
) if error
else None
4605 self
.result
= Volume
.from_json(result
) if result
else None
4608 class VolumeResults(Type
):
4609 _toSchema
= {'results': 'results'}
4610 _toPy
= {'results': 'results'}
4611 def __init__(self
, results
=None):
4613 results : typing.Sequence[~VolumeResult]
4615 self
.results
= [VolumeResult
.from_json(o
) for o
in results
or []]
4618 class Volumes(Type
):
4619 _toSchema
= {'volumes': 'volumes'}
4620 _toPy
= {'volumes': 'volumes'}
4621 def __init__(self
, volumes
=None):
4623 volumes : typing.Sequence[~Volume]
4625 self
.volumes
= [Volume
.from_json(o
) for o
in volumes
or []]
4628 class SpaceResult(Type
):
4629 _toSchema
= {'tag': 'Tag', 'error': 'Error'}
4630 _toPy
= {'Tag': 'tag', 'Error': 'error'}
4631 def __init__(self
, error
=None, tag
=None):
4636 self
.error
= Error
.from_json(error
) if error
else None
4640 class SpaceResults(Type
):
4641 _toSchema
= {'results': 'Results'}
4642 _toPy
= {'Results': 'results'}
4643 def __init__(self
, results
=None):
4645 results : typing.Sequence[~SpaceResult]
4647 self
.results
= [SpaceResult
.from_json(o
) for o
in results
or []]
4650 class ZoneResult(Type
):
4651 _toSchema
= {'name': 'Name', 'error': 'Error', 'available': 'Available'}
4652 _toPy
= {'Available': 'available', 'Error': 'error', 'Name': 'name'}
4653 def __init__(self
, available
=None, error
=None, name
=None):
4659 self
.available
= available
4660 self
.error
= Error
.from_json(error
) if error
else None
4664 class ZoneResults(Type
):
4665 _toSchema
= {'results': 'Results'}
4666 _toPy
= {'Results': 'results'}
4667 def __init__(self
, results
=None):
4669 results : typing.Sequence[~ZoneResult]
4671 self
.results
= [ZoneResult
.from_json(o
) for o
in results
or []]
4674 class UndertakerModelInfo(Type
):
4675 _toSchema
= {'globalname': 'GlobalName', 'name': 'Name', 'uuid': 'UUID', 'issystem': 'IsSystem', 'life': 'Life'}
4676 _toPy
= {'IsSystem': 'issystem', 'GlobalName': 'globalname', 'Name': 'name', 'UUID': 'uuid', 'Life': 'life'}
4677 def __init__(self
, globalname
=None, issystem
=None, life
=None, name
=None, uuid
=None):
4685 self
.globalname
= globalname
4686 self
.issystem
= issystem
4692 class UndertakerModelInfoResult(Type
):
4693 _toSchema
= {'error': 'Error', 'result': 'Result'}
4694 _toPy
= {'Result': 'result', 'Error': 'error'}
4695 def __init__(self
, error
=None, result
=None):
4698 result : UndertakerModelInfo
4700 self
.error
= Error
.from_json(error
) if error
else None
4701 self
.result
= UndertakerModelInfo
.from_json(result
) if result
else None
4704 class CharmURL(Type
):
4705 _toSchema
= {'url': 'URL'}
4706 _toPy
= {'URL': 'url'}
4707 def __init__(self
, url
=None):
4714 class CharmURLs(Type
):
4715 _toSchema
= {'urls': 'URLs'}
4716 _toPy
= {'URLs': 'urls'}
4717 def __init__(self
, urls
=None):
4719 urls : typing.Sequence[~CharmURL]
4721 self
.urls
= [CharmURL
.from_json(o
) for o
in urls
or []]
4724 class ConfigSettingsResult(Type
):
4725 _toSchema
= {'error': 'Error', 'settings': 'Settings'}
4726 _toPy
= {'Settings': 'settings', 'Error': 'error'}
4727 def __init__(self
, error
=None, settings
=None):
4730 settings : typing.Mapping[str, typing.Any]
4732 self
.error
= Error
.from_json(error
) if error
else None
4733 self
.settings
= settings
4736 class ConfigSettingsResults(Type
):
4737 _toSchema
= {'results': 'Results'}
4738 _toPy
= {'Results': 'results'}
4739 def __init__(self
, results
=None):
4741 results : typing.Sequence[~ConfigSettingsResult]
4743 self
.results
= [ConfigSettingsResult
.from_json(o
) for o
in results
or []]
4746 class Endpoint(Type
):
4747 _toSchema
= {'servicename': 'ServiceName', 'relation': 'Relation'}
4748 _toPy
= {'Relation': 'relation', 'ServiceName': 'servicename'}
4749 def __init__(self
, relation
=None, servicename
=None):
4754 self
.relation
= Relation
.from_json(relation
) if relation
else None
4755 self
.servicename
= servicename
4758 class EntitiesCharmURL(Type
):
4759 _toSchema
= {'entities': 'Entities'}
4760 _toPy
= {'Entities': 'entities'}
4761 def __init__(self
, entities
=None):
4763 entities : typing.Sequence[~EntityCharmURL]
4765 self
.entities
= [EntityCharmURL
.from_json(o
) for o
in entities
or []]
4768 class EntitiesPortRanges(Type
):
4769 _toSchema
= {'entities': 'Entities'}
4770 _toPy
= {'Entities': 'entities'}
4771 def __init__(self
, entities
=None):
4773 entities : typing.Sequence[~EntityPortRange]
4775 self
.entities
= [EntityPortRange
.from_json(o
) for o
in entities
or []]
4778 class EntityCharmURL(Type
):
4779 _toSchema
= {'tag': 'Tag', 'charmurl': 'CharmURL'}
4780 _toPy
= {'CharmURL': 'charmurl', 'Tag': 'tag'}
4781 def __init__(self
, charmurl
=None, tag
=None):
4786 self
.charmurl
= charmurl
4790 class EntityPortRange(Type
):
4791 _toSchema
= {'fromport': 'FromPort', 'protocol': 'Protocol', 'tag': 'Tag', 'toport': 'ToPort'}
4792 _toPy
= {'Protocol': 'protocol', 'Tag': 'tag', 'FromPort': 'fromport', 'ToPort': 'toport'}
4793 def __init__(self
, fromport
=None, protocol
=None, tag
=None, toport
=None):
4800 self
.fromport
= fromport
4801 self
.protocol
= protocol
4803 self
.toport
= toport
4806 class GetLeadershipSettingsBulkResults(Type
):
4807 _toSchema
= {'results': 'Results'}
4808 _toPy
= {'Results': 'results'}
4809 def __init__(self
, results
=None):
4811 results : typing.Sequence[~GetLeadershipSettingsResult]
4813 self
.results
= [GetLeadershipSettingsResult
.from_json(o
) for o
in results
or []]
4816 class GetLeadershipSettingsResult(Type
):
4817 _toSchema
= {'error': 'Error', 'settings': 'Settings'}
4818 _toPy
= {'Settings': 'settings', 'Error': 'error'}
4819 def __init__(self
, error
=None, settings
=None):
4822 settings : typing.Mapping[str, str]
4824 self
.error
= Error
.from_json(error
) if error
else None
4825 self
.settings
= settings
4828 class IntResult(Type
):
4829 _toSchema
= {'error': 'Error', 'result': 'Result'}
4830 _toPy
= {'Result': 'result', 'Error': 'error'}
4831 def __init__(self
, error
=None, result
=None):
4836 self
.error
= Error
.from_json(error
) if error
else None
4837 self
.result
= result
4840 class IntResults(Type
):
4841 _toSchema
= {'results': 'Results'}
4842 _toPy
= {'Results': 'results'}
4843 def __init__(self
, results
=None):
4845 results : typing.Sequence[~IntResult]
4847 self
.results
= [IntResult
.from_json(o
) for o
in results
or []]
4850 class MergeLeadershipSettingsBulkParams(Type
):
4851 _toSchema
= {'params': 'Params'}
4852 _toPy
= {'Params': 'params'}
4853 def __init__(self
, params
=None):
4855 params : typing.Sequence[~MergeLeadershipSettingsParam]
4857 self
.params
= [MergeLeadershipSettingsParam
.from_json(o
) for o
in params
or []]
4860 class MergeLeadershipSettingsParam(Type
):
4861 _toSchema
= {'servicetag': 'ServiceTag', 'settings': 'Settings'}
4862 _toPy
= {'Settings': 'settings', 'ServiceTag': 'servicetag'}
4863 def __init__(self
, servicetag
=None, settings
=None):
4866 settings : typing.Mapping[str, str]
4868 self
.servicetag
= servicetag
4869 self
.settings
= settings
4872 class ModelResult(Type
):
4873 _toSchema
= {'name': 'Name', 'uuid': 'UUID', 'error': 'Error'}
4874 _toPy
= {'Name': 'name', 'UUID': 'uuid', 'Error': 'error'}
4875 def __init__(self
, error
=None, name
=None, uuid
=None):
4881 self
.error
= Error
.from_json(error
) if error
else None
4886 class RelationIds(Type
):
4887 _toSchema
= {'relationids': 'RelationIds'}
4888 _toPy
= {'RelationIds': 'relationids'}
4889 def __init__(self
, relationids
=None):
4891 relationids : typing.Sequence[int]
4893 self
.relationids
= relationids
4896 class RelationResult(Type
):
4897 _toSchema
= {'key': 'Key', 'error': 'Error', 'id_': 'Id', 'endpoint': 'Endpoint', 'life': 'Life'}
4898 _toPy
= {'Id': 'id_', 'Endpoint': 'endpoint', 'Life': 'life', 'Key': 'key', 'Error': 'error'}
4899 def __init__(self
, endpoint
=None, error
=None, id_
=None, key
=None, life
=None):
4907 self
.endpoint
= Endpoint
.from_json(endpoint
) if endpoint
else None
4908 self
.error
= Error
.from_json(error
) if error
else None
4914 class RelationResults(Type
):
4915 _toSchema
= {'results': 'Results'}
4916 _toPy
= {'Results': 'results'}
4917 def __init__(self
, results
=None):
4919 results : typing.Sequence[~RelationResult]
4921 self
.results
= [RelationResult
.from_json(o
) for o
in results
or []]
4924 class RelationUnit(Type
):
4925 _toSchema
= {'unit': 'Unit', 'relation': 'Relation'}
4926 _toPy
= {'Relation': 'relation', 'Unit': 'unit'}
4927 def __init__(self
, relation
=None, unit
=None):
4932 self
.relation
= relation
4936 class RelationUnitPair(Type
):
4937 _toSchema
= {'remoteunit': 'RemoteUnit', 'localunit': 'LocalUnit', 'relation': 'Relation'}
4938 _toPy
= {'LocalUnit': 'localunit', 'RemoteUnit': 'remoteunit', 'Relation': 'relation'}
4939 def __init__(self
, localunit
=None, relation
=None, remoteunit
=None):
4945 self
.localunit
= localunit
4946 self
.relation
= relation
4947 self
.remoteunit
= remoteunit
4950 class RelationUnitPairs(Type
):
4951 _toSchema
= {'relationunitpairs': 'RelationUnitPairs'}
4952 _toPy
= {'RelationUnitPairs': 'relationunitpairs'}
4953 def __init__(self
, relationunitpairs
=None):
4955 relationunitpairs : typing.Sequence[~RelationUnitPair]
4957 self
.relationunitpairs
= [RelationUnitPair
.from_json(o
) for o
in relationunitpairs
or []]
4960 class RelationUnitSettings(Type
):
4961 _toSchema
= {'unit': 'Unit', 'settings': 'Settings', 'relation': 'Relation'}
4962 _toPy
= {'Settings': 'settings', 'Relation': 'relation', 'Unit': 'unit'}
4963 def __init__(self
, relation
=None, settings
=None, unit
=None):
4966 settings : typing.Mapping[str, str]
4969 self
.relation
= relation
4970 self
.settings
= settings
4974 class RelationUnits(Type
):
4975 _toSchema
= {'relationunits': 'RelationUnits'}
4976 _toPy
= {'RelationUnits': 'relationunits'}
4977 def __init__(self
, relationunits
=None):
4979 relationunits : typing.Sequence[~RelationUnit]
4981 self
.relationunits
= [RelationUnit
.from_json(o
) for o
in relationunits
or []]
4984 class RelationUnitsSettings(Type
):
4985 _toSchema
= {'relationunits': 'RelationUnits'}
4986 _toPy
= {'RelationUnits': 'relationunits'}
4987 def __init__(self
, relationunits
=None):
4989 relationunits : typing.Sequence[~RelationUnitSettings]
4991 self
.relationunits
= [RelationUnitSettings
.from_json(o
) for o
in relationunits
or []]
4994 class RelationUnitsWatchResults(Type
):
4995 _toSchema
= {'results': 'Results'}
4996 _toPy
= {'Results': 'results'}
4997 def __init__(self
, results
=None):
4999 results : typing.Sequence[~RelationUnitsWatchResult]
5001 self
.results
= [RelationUnitsWatchResult
.from_json(o
) for o
in results
or []]
5004 class ResolvedModeResult(Type
):
5005 _toSchema
= {'error': 'Error', 'mode': 'Mode'}
5006 _toPy
= {'Mode': 'mode', 'Error': 'error'}
5007 def __init__(self
, error
=None, mode
=None):
5012 self
.error
= Error
.from_json(error
) if error
else None
5016 class ResolvedModeResults(Type
):
5017 _toSchema
= {'results': 'Results'}
5018 _toPy
= {'Results': 'results'}
5019 def __init__(self
, results
=None):
5021 results : typing.Sequence[~ResolvedModeResult]
5023 self
.results
= [ResolvedModeResult
.from_json(o
) for o
in results
or []]
5026 class ServiceStatusResult(Type
):
5027 _toSchema
= {'error': 'Error', 'service': 'Service', 'units': 'Units'}
5028 _toPy
= {'Service': 'service', 'Units': 'units', 'Error': 'error'}
5029 def __init__(self
, error
=None, service
=None, units
=None):
5032 service : StatusResult
5033 units : typing.Mapping[str, ~StatusResult]
5035 self
.error
= Error
.from_json(error
) if error
else None
5036 self
.service
= StatusResult
.from_json(service
) if service
else None
5037 self
.units
= {k
: StatusResult
.from_json(v
) for k
, v
in (units
or dict()).items()}
5040 class ServiceStatusResults(Type
):
5041 _toSchema
= {'results': 'Results'}
5042 _toPy
= {'Results': 'results'}
5043 def __init__(self
, results
=None):
5045 results : typing.Sequence[~ServiceStatusResult]
5047 self
.results
= [ServiceStatusResult
.from_json(o
) for o
in results
or []]
5050 class SettingsResult(Type
):
5051 _toSchema
= {'error': 'Error', 'settings': 'Settings'}
5052 _toPy
= {'Settings': 'settings', 'Error': 'error'}
5053 def __init__(self
, error
=None, settings
=None):
5056 settings : typing.Mapping[str, str]
5058 self
.error
= Error
.from_json(error
) if error
else None
5059 self
.settings
= settings
5062 class SettingsResults(Type
):
5063 _toSchema
= {'results': 'Results'}
5064 _toPy
= {'Results': 'results'}
5065 def __init__(self
, results
=None):
5067 results : typing.Sequence[~SettingsResult]
5069 self
.results
= [SettingsResult
.from_json(o
) for o
in results
or []]
5072 class StorageAttachment(Type
):
5073 _toSchema
= {'kind': 'Kind', 'unittag': 'UnitTag', 'storagetag': 'StorageTag', 'ownertag': 'OwnerTag', 'life': 'Life', 'location': 'Location'}
5074 _toPy
= {'StorageTag': 'storagetag', 'Life': 'life', 'OwnerTag': 'ownertag', 'Kind': 'kind', 'Location': 'location', 'UnitTag': 'unittag'}
5075 def __init__(self
, kind
=None, life
=None, location
=None, ownertag
=None, storagetag
=None, unittag
=None):
5086 self
.location
= location
5087 self
.ownertag
= ownertag
5088 self
.storagetag
= storagetag
5089 self
.unittag
= unittag
5092 class StorageAttachmentId(Type
):
5093 _toSchema
= {'unittag': 'unittag', 'storagetag': 'storagetag'}
5094 _toPy
= {'unittag': 'unittag', 'storagetag': 'storagetag'}
5095 def __init__(self
, storagetag
=None, unittag
=None):
5100 self
.storagetag
= storagetag
5101 self
.unittag
= unittag
5104 class StorageAttachmentIds(Type
):
5105 _toSchema
= {'ids': 'ids'}
5106 _toPy
= {'ids': 'ids'}
5107 def __init__(self
, ids
=None):
5109 ids : typing.Sequence[~StorageAttachmentId]
5111 self
.ids
= [StorageAttachmentId
.from_json(o
) for o
in ids
or []]
5114 class StorageAttachmentIdsResult(Type
):
5115 _toSchema
= {'error': 'error', 'result': 'result'}
5116 _toPy
= {'error': 'error', 'result': 'result'}
5117 def __init__(self
, error
=None, result
=None):
5120 result : StorageAttachmentIds
5122 self
.error
= Error
.from_json(error
) if error
else None
5123 self
.result
= StorageAttachmentIds
.from_json(result
) if result
else None
5126 class StorageAttachmentIdsResults(Type
):
5127 _toSchema
= {'results': 'results'}
5128 _toPy
= {'results': 'results'}
5129 def __init__(self
, results
=None):
5131 results : typing.Sequence[~StorageAttachmentIdsResult]
5133 self
.results
= [StorageAttachmentIdsResult
.from_json(o
) for o
in results
or []]
5136 class StorageAttachmentResult(Type
):
5137 _toSchema
= {'error': 'error', 'result': 'result'}
5138 _toPy
= {'error': 'error', 'result': 'result'}
5139 def __init__(self
, error
=None, result
=None):
5142 result : StorageAttachment
5144 self
.error
= Error
.from_json(error
) if error
else None
5145 self
.result
= StorageAttachment
.from_json(result
) if result
else None
5148 class StorageAttachmentResults(Type
):
5149 _toSchema
= {'results': 'results'}
5150 _toPy
= {'results': 'results'}
5151 def __init__(self
, results
=None):
5153 results : typing.Sequence[~StorageAttachmentResult]
5155 self
.results
= [StorageAttachmentResult
.from_json(o
) for o
in results
or []]
5158 class StringBoolResult(Type
):
5159 _toSchema
= {'error': 'Error', 'result': 'Result', 'ok': 'Ok'}
5160 _toPy
= {'Result': 'result', 'Error': 'error', 'Ok': 'ok'}
5161 def __init__(self
, error
=None, ok
=None, result
=None):
5167 self
.error
= Error
.from_json(error
) if error
else None
5169 self
.result
= result
5172 class StringBoolResults(Type
):
5173 _toSchema
= {'results': 'Results'}
5174 _toPy
= {'Results': 'results'}
5175 def __init__(self
, results
=None):
5177 results : typing.Sequence[~StringBoolResult]
5179 self
.results
= [StringBoolResult
.from_json(o
) for o
in results
or []]
5182 class UnitNetworkConfig(Type
):
5183 _toSchema
= {'unittag': 'UnitTag', 'bindingname': 'BindingName'}
5184 _toPy
= {'BindingName': 'bindingname', 'UnitTag': 'unittag'}
5185 def __init__(self
, bindingname
=None, unittag
=None):
5190 self
.bindingname
= bindingname
5191 self
.unittag
= unittag
5194 class UnitNetworkConfigResult(Type
):
5195 _toSchema
= {'error': 'Error', 'info': 'Info'}
5196 _toPy
= {'Info': 'info', 'Error': 'error'}
5197 def __init__(self
, error
=None, info
=None):
5200 info : typing.Sequence[~NetworkConfig]
5202 self
.error
= Error
.from_json(error
) if error
else None
5203 self
.info
= [NetworkConfig
.from_json(o
) for o
in info
or []]
5206 class UnitNetworkConfigResults(Type
):
5207 _toSchema
= {'results': 'Results'}
5208 _toPy
= {'Results': 'results'}
5209 def __init__(self
, results
=None):
5211 results : typing.Sequence[~UnitNetworkConfigResult]
5213 self
.results
= [UnitNetworkConfigResult
.from_json(o
) for o
in results
or []]
5216 class UnitsNetworkConfig(Type
):
5217 _toSchema
= {'args': 'Args'}
5218 _toPy
= {'Args': 'args'}
5219 def __init__(self
, args
=None):
5221 args : typing.Sequence[~UnitNetworkConfig]
5223 self
.args
= [UnitNetworkConfig
.from_json(o
) for o
in args
or []]
5226 class EntitiesVersion(Type
):
5227 _toSchema
= {'agenttools': 'AgentTools'}
5228 _toPy
= {'AgentTools': 'agenttools'}
5229 def __init__(self
, agenttools
=None):
5231 agenttools : typing.Sequence[~EntityVersion]
5233 self
.agenttools
= [EntityVersion
.from_json(o
) for o
in agenttools
or []]
5236 class EntityVersion(Type
):
5237 _toSchema
= {'tag': 'Tag', 'tools': 'Tools'}
5238 _toPy
= {'Tools': 'tools', 'Tag': 'tag'}
5239 def __init__(self
, tag
=None, tools
=None):
5245 self
.tools
= Version
.from_json(tools
) if tools
else None
5248 class VersionResult(Type
):
5249 _toSchema
= {'version': 'Version', 'error': 'Error'}
5250 _toPy
= {'Version': 'version', 'Error': 'error'}
5251 def __init__(self
, error
=None, version
=None):
5256 self
.error
= Error
.from_json(error
) if error
else None
5257 self
.version
= Number
.from_json(version
) if version
else None
5260 class VersionResults(Type
):
5261 _toSchema
= {'results': 'Results'}
5262 _toPy
= {'Results': 'results'}
5263 def __init__(self
, results
=None):
5265 results : typing.Sequence[~VersionResult]
5267 self
.results
= [VersionResult
.from_json(o
) for o
in results
or []]
5270 class AddUser(Type
):
5271 _toSchema
= {'display_name': 'display-name', 'model_access_permission': 'model-access-permission', 'shared_model_tags': 'shared-model-tags', 'password': 'password', 'username': 'username'}
5272 _toPy
= {'model-access-permission': 'model_access_permission', 'password': 'password', 'shared-model-tags': 'shared_model_tags', 'display-name': 'display_name', 'username': 'username'}
5273 def __init__(self
, display_name
=None, model_access_permission
=None, password
=None, shared_model_tags
=None, username
=None):
5276 model_access_permission : str
5278 shared_model_tags : typing.Sequence[str]
5281 self
.display_name
= display_name
5282 self
.model_access_permission
= model_access_permission
5283 self
.password
= password
5284 self
.shared_model_tags
= shared_model_tags
5285 self
.username
= username
5288 class AddUserResult(Type
):
5289 _toSchema
= {'tag': 'tag', 'error': 'error', 'secret_key': 'secret-key'}
5290 _toPy
= {'tag': 'tag', 'error': 'error', 'secret-key': 'secret_key'}
5291 def __init__(self
, error
=None, secret_key
=None, tag
=None):
5294 secret_key : typing.Sequence[int]
5297 self
.error
= Error
.from_json(error
) if error
else None
5298 self
.secret_key
= secret_key
5302 class AddUserResults(Type
):
5303 _toSchema
= {'results': 'results'}
5304 _toPy
= {'results': 'results'}
5305 def __init__(self
, results
=None):
5307 results : typing.Sequence[~AddUserResult]
5309 self
.results
= [AddUserResult
.from_json(o
) for o
in results
or []]
5312 class AddUsers(Type
):
5313 _toSchema
= {'users': 'users'}
5314 _toPy
= {'users': 'users'}
5315 def __init__(self
, users
=None):
5317 users : typing.Sequence[~AddUser]
5319 self
.users
= [AddUser
.from_json(o
) for o
in users
or []]
5322 class MacaroonResult(Type
):
5323 _toSchema
= {'error': 'error', 'result': 'result'}
5324 _toPy
= {'error': 'error', 'result': 'result'}
5325 def __init__(self
, error
=None, result
=None):
5330 self
.error
= Error
.from_json(error
) if error
else None
5331 self
.result
= Macaroon
.from_json(result
) if result
else None
5334 class MacaroonResults(Type
):
5335 _toSchema
= {'results': 'results'}
5336 _toPy
= {'results': 'results'}
5337 def __init__(self
, results
=None):
5339 results : typing.Sequence[~MacaroonResult]
5341 self
.results
= [MacaroonResult
.from_json(o
) for o
in results
or []]
5344 class UserInfo(Type
):
5345 _toSchema
= {'last_connection': 'last-connection', 'created_by': 'created-by', 'date_created': 'date-created', 'username': 'username', 'display_name': 'display-name', 'disabled': 'disabled'}
5346 _toPy
= {'created-by': 'created_by', 'date-created': 'date_created', 'display-name': 'display_name', 'disabled': 'disabled', 'last-connection': 'last_connection', 'username': 'username'}
5347 def __init__(self
, created_by
=None, date_created
=None, disabled
=None, display_name
=None, last_connection
=None, username
=None):
5353 last_connection : str
5356 self
.created_by
= created_by
5357 self
.date_created
= date_created
5358 self
.disabled
= disabled
5359 self
.display_name
= display_name
5360 self
.last_connection
= last_connection
5361 self
.username
= username
5364 class UserInfoRequest(Type
):
5365 _toSchema
= {'entities': 'entities', 'include_disabled': 'include-disabled'}
5366 _toPy
= {'entities': 'entities', 'include-disabled': 'include_disabled'}
5367 def __init__(self
, entities
=None, include_disabled
=None):
5369 entities : typing.Sequence[~Entity]
5370 include_disabled : bool
5372 self
.entities
= [Entity
.from_json(o
) for o
in entities
or []]
5373 self
.include_disabled
= include_disabled
5376 class UserInfoResult(Type
):
5377 _toSchema
= {'error': 'error', 'result': 'result'}
5378 _toPy
= {'error': 'error', 'result': 'result'}
5379 def __init__(self
, error
=None, result
=None):
5384 self
.error
= Error
.from_json(error
) if error
else None
5385 self
.result
= UserInfo
.from_json(result
) if result
else None
5388 class UserInfoResults(Type
):
5389 _toSchema
= {'results': 'results'}
5390 _toPy
= {'results': 'results'}
5391 def __init__(self
, results
=None):
5393 results : typing.Sequence[~UserInfoResult]
5395 self
.results
= [UserInfoResult
.from_json(o
) for o
in results
or []]
5401 schema
= {'definitions': {'Action': {'additionalProperties': False,
5402 'properties': {'name': {'type': 'string'},
5403 'parameters': {'patternProperties': {'.*': {'additionalProperties': True,
5406 'receiver': {'type': 'string'},
5407 'tag': {'type': 'string'}},
5408 'required': ['tag', 'receiver', 'name'],
5410 'ActionResult': {'additionalProperties': False,
5411 'properties': {'action': {'$ref': '#/definitions/Action'},
5412 'completed': {'format': 'date-time',
5414 'enqueued': {'format': 'date-time',
5416 'error': {'$ref': '#/definitions/Error'},
5417 'message': {'type': 'string'},
5418 'output': {'patternProperties': {'.*': {'additionalProperties': True,
5421 'started': {'format': 'date-time',
5423 'status': {'type': 'string'}},
5425 'ActionResults': {'additionalProperties': False,
5426 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'},
5429 'Actions': {'additionalProperties': False,
5430 'properties': {'actions': {'items': {'$ref': '#/definitions/Action'},
5433 'ActionsByName': {'additionalProperties': False,
5434 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'},
5436 'error': {'$ref': '#/definitions/Error'},
5437 'name': {'type': 'string'}},
5439 'ActionsByNames': {'additionalProperties': False,
5440 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByName'},
5443 'ActionsByReceiver': {'additionalProperties': False,
5444 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'},
5446 'error': {'$ref': '#/definitions/Error'},
5447 'receiver': {'type': 'string'}},
5449 'ActionsByReceivers': {'additionalProperties': False,
5450 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByReceiver'},
5453 'Entities': {'additionalProperties': False,
5454 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
5456 'required': ['Entities'],
5458 'Entity': {'additionalProperties': False,
5459 'properties': {'Tag': {'type': 'string'}},
5460 'required': ['Tag'],
5462 'Error': {'additionalProperties': False,
5463 'properties': {'Code': {'type': 'string'},
5464 'Info': {'$ref': '#/definitions/ErrorInfo'},
5465 'Message': {'type': 'string'}},
5466 'required': ['Message', 'Code'],
5468 'ErrorInfo': {'additionalProperties': False,
5469 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
5470 'MacaroonPath': {'type': 'string'}},
5472 'FindActionsByNames': {'additionalProperties': False,
5473 'properties': {'names': {'items': {'type': 'string'},
5476 'FindTags': {'additionalProperties': False,
5477 'properties': {'prefixes': {'items': {'type': 'string'},
5479 'required': ['prefixes'],
5481 'FindTagsResults': {'additionalProperties': False,
5482 'properties': {'matches': {'patternProperties': {'.*': {'items': {'$ref': '#/definitions/Entity'},
5485 'required': ['matches'],
5487 'Macaroon': {'additionalProperties': False,
5488 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
5490 'data': {'items': {'type': 'integer'},
5492 'id': {'$ref': '#/definitions/packet'},
5493 'location': {'$ref': '#/definitions/packet'},
5494 'sig': {'items': {'type': 'integer'},
5496 'required': ['data',
5502 'RunParams': {'additionalProperties': False,
5503 'properties': {'Commands': {'type': 'string'},
5504 'Machines': {'items': {'type': 'string'},
5506 'Services': {'items': {'type': 'string'},
5508 'Timeout': {'type': 'integer'},
5509 'Units': {'items': {'type': 'string'},
5511 'required': ['Commands',
5517 'ServiceCharmActionsResult': {'additionalProperties': False,
5518 'properties': {'actions': {'$ref': '#/definitions/Actions'},
5519 'error': {'$ref': '#/definitions/Error'},
5520 'servicetag': {'type': 'string'}},
5522 'ServicesCharmActionsResults': {'additionalProperties': False,
5523 'properties': {'results': {'items': {'$ref': '#/definitions/ServiceCharmActionsResult'},
5526 'caveat': {'additionalProperties': False,
5527 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
5528 'location': {'$ref': '#/definitions/packet'},
5529 'verificationId': {'$ref': '#/definitions/packet'}},
5530 'required': ['location',
5534 'packet': {'additionalProperties': False,
5535 'properties': {'headerLen': {'type': 'integer'},
5536 'start': {'type': 'integer'},
5537 'totalLen': {'type': 'integer'}},
5538 'required': ['start', 'totalLen', 'headerLen'],
5540 'properties': {'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5541 'Result': {'$ref': '#/definitions/ActionResults'}},
5543 'Cancel': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5544 'Result': {'$ref': '#/definitions/ActionResults'}},
5546 'Enqueue': {'properties': {'Params': {'$ref': '#/definitions/Actions'},
5547 'Result': {'$ref': '#/definitions/ActionResults'}},
5549 'FindActionTagsByPrefix': {'properties': {'Params': {'$ref': '#/definitions/FindTags'},
5550 'Result': {'$ref': '#/definitions/FindTagsResults'}},
5552 'FindActionsByNames': {'properties': {'Params': {'$ref': '#/definitions/FindActionsByNames'},
5553 'Result': {'$ref': '#/definitions/ActionsByNames'}},
5555 'ListAll': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5556 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
5558 'ListCompleted': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5559 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
5561 'ListPending': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5562 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
5564 'ListRunning': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5565 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
5567 'Run': {'properties': {'Params': {'$ref': '#/definitions/RunParams'},
5568 'Result': {'$ref': '#/definitions/ActionResults'}},
5570 'RunOnAllMachines': {'properties': {'Params': {'$ref': '#/definitions/RunParams'},
5571 'Result': {'$ref': '#/definitions/ActionResults'}},
5573 'ServicesCharmActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5574 'Result': {'$ref': '#/definitions/ServicesCharmActionsResults'}},
5579 @ReturnMapping(ActionResults
)
5580 async def Actions(self
, entities
):
5582 entities : typing.Sequence[~Entity]
5583 Returns -> typing.Sequence[~ActionResult]
5585 # map input types to rpc msg
5587 msg
= dict(Type
='Action', Request
='Actions', Version
=1, Params
=params
)
5588 params
['Entities'] = entities
5589 reply
= await self
.rpc(msg
)
5594 @ReturnMapping(ActionResults
)
5595 async def Cancel(self
, entities
):
5597 entities : typing.Sequence[~Entity]
5598 Returns -> typing.Sequence[~ActionResult]
5600 # map input types to rpc msg
5602 msg
= dict(Type
='Action', Request
='Cancel', Version
=1, Params
=params
)
5603 params
['Entities'] = entities
5604 reply
= await self
.rpc(msg
)
5609 @ReturnMapping(ActionResults
)
5610 async def Enqueue(self
, actions
):
5612 actions : typing.Sequence[~Action]
5613 Returns -> typing.Sequence[~ActionResult]
5615 # map input types to rpc msg
5617 msg
= dict(Type
='Action', Request
='Enqueue', Version
=1, Params
=params
)
5618 params
['actions'] = actions
5619 reply
= await self
.rpc(msg
)
5624 @ReturnMapping(FindTagsResults
)
5625 async def FindActionTagsByPrefix(self
, prefixes
):
5627 prefixes : typing.Sequence[str]
5628 Returns -> typing.Sequence[~Entity]
5630 # map input types to rpc msg
5632 msg
= dict(Type
='Action', Request
='FindActionTagsByPrefix', Version
=1, Params
=params
)
5633 params
['prefixes'] = prefixes
5634 reply
= await self
.rpc(msg
)
5639 @ReturnMapping(ActionsByNames
)
5640 async def FindActionsByNames(self
, names
):
5642 names : typing.Sequence[str]
5643 Returns -> typing.Sequence[~ActionsByName]
5645 # map input types to rpc msg
5647 msg
= dict(Type
='Action', Request
='FindActionsByNames', Version
=1, Params
=params
)
5648 params
['names'] = names
5649 reply
= await self
.rpc(msg
)
5654 @ReturnMapping(ActionsByReceivers
)
5655 async def ListAll(self
, entities
):
5657 entities : typing.Sequence[~Entity]
5658 Returns -> typing.Sequence[~ActionsByReceiver]
5660 # map input types to rpc msg
5662 msg
= dict(Type
='Action', Request
='ListAll', Version
=1, Params
=params
)
5663 params
['Entities'] = entities
5664 reply
= await self
.rpc(msg
)
5669 @ReturnMapping(ActionsByReceivers
)
5670 async def ListCompleted(self
, entities
):
5672 entities : typing.Sequence[~Entity]
5673 Returns -> typing.Sequence[~ActionsByReceiver]
5675 # map input types to rpc msg
5677 msg
= dict(Type
='Action', Request
='ListCompleted', Version
=1, Params
=params
)
5678 params
['Entities'] = entities
5679 reply
= await self
.rpc(msg
)
5684 @ReturnMapping(ActionsByReceivers
)
5685 async def ListPending(self
, entities
):
5687 entities : typing.Sequence[~Entity]
5688 Returns -> typing.Sequence[~ActionsByReceiver]
5690 # map input types to rpc msg
5692 msg
= dict(Type
='Action', Request
='ListPending', Version
=1, Params
=params
)
5693 params
['Entities'] = entities
5694 reply
= await self
.rpc(msg
)
5699 @ReturnMapping(ActionsByReceivers
)
5700 async def ListRunning(self
, entities
):
5702 entities : typing.Sequence[~Entity]
5703 Returns -> typing.Sequence[~ActionsByReceiver]
5705 # map input types to rpc msg
5707 msg
= dict(Type
='Action', Request
='ListRunning', Version
=1, Params
=params
)
5708 params
['Entities'] = entities
5709 reply
= await self
.rpc(msg
)
5714 @ReturnMapping(ActionResults
)
5715 async def Run(self
, commands
, machines
, services
, timeout
, units
):
5718 machines : typing.Sequence[str]
5719 services : typing.Sequence[str]
5721 units : typing.Sequence[str]
5722 Returns -> typing.Sequence[~ActionResult]
5724 # map input types to rpc msg
5726 msg
= dict(Type
='Action', Request
='Run', Version
=1, Params
=params
)
5727 params
['Commands'] = commands
5728 params
['Machines'] = machines
5729 params
['Services'] = services
5730 params
['Timeout'] = timeout
5731 params
['Units'] = units
5732 reply
= await self
.rpc(msg
)
5737 @ReturnMapping(ActionResults
)
5738 async def RunOnAllMachines(self
, commands
, machines
, services
, timeout
, units
):
5741 machines : typing.Sequence[str]
5742 services : typing.Sequence[str]
5744 units : typing.Sequence[str]
5745 Returns -> typing.Sequence[~ActionResult]
5747 # map input types to rpc msg
5749 msg
= dict(Type
='Action', Request
='RunOnAllMachines', Version
=1, Params
=params
)
5750 params
['Commands'] = commands
5751 params
['Machines'] = machines
5752 params
['Services'] = services
5753 params
['Timeout'] = timeout
5754 params
['Units'] = units
5755 reply
= await self
.rpc(msg
)
5760 @ReturnMapping(ServicesCharmActionsResults
)
5761 async def ServicesCharmActions(self
, entities
):
5763 entities : typing.Sequence[~Entity]
5764 Returns -> typing.Sequence[~ServiceCharmActionsResult]
5766 # map input types to rpc msg
5768 msg
= dict(Type
='Action', Request
='ServicesCharmActions', Version
=1, Params
=params
)
5769 params
['Entities'] = entities
5770 reply
= await self
.rpc(msg
)
5774 class Addresser(Type
):
5777 schema
= {'definitions': {'BoolResult': {'additionalProperties': False,
5778 'properties': {'Error': {'$ref': '#/definitions/Error'},
5779 'Result': {'type': 'boolean'}},
5780 'required': ['Error', 'Result'],
5782 'EntitiesWatchResult': {'additionalProperties': False,
5783 'properties': {'Changes': {'items': {'type': 'string'},
5785 'EntityWatcherId': {'type': 'string'},
5786 'Error': {'$ref': '#/definitions/Error'}},
5787 'required': ['EntityWatcherId',
5791 'Error': {'additionalProperties': False,
5792 'properties': {'Code': {'type': 'string'},
5793 'Info': {'$ref': '#/definitions/ErrorInfo'},
5794 'Message': {'type': 'string'}},
5795 'required': ['Message', 'Code'],
5797 'ErrorInfo': {'additionalProperties': False,
5798 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
5799 'MacaroonPath': {'type': 'string'}},
5801 'ErrorResult': {'additionalProperties': False,
5802 'properties': {'Error': {'$ref': '#/definitions/Error'}},
5803 'required': ['Error'],
5805 'Macaroon': {'additionalProperties': False,
5806 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
5808 'data': {'items': {'type': 'integer'},
5810 'id': {'$ref': '#/definitions/packet'},
5811 'location': {'$ref': '#/definitions/packet'},
5812 'sig': {'items': {'type': 'integer'},
5814 'required': ['data',
5820 'caveat': {'additionalProperties': False,
5821 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
5822 'location': {'$ref': '#/definitions/packet'},
5823 'verificationId': {'$ref': '#/definitions/packet'}},
5824 'required': ['location',
5828 'packet': {'additionalProperties': False,
5829 'properties': {'headerLen': {'type': 'integer'},
5830 'start': {'type': 'integer'},
5831 'totalLen': {'type': 'integer'}},
5832 'required': ['start', 'totalLen', 'headerLen'],
5834 'properties': {'CanDeallocateAddresses': {'properties': {'Result': {'$ref': '#/definitions/BoolResult'}},
5836 'CleanupIPAddresses': {'properties': {'Result': {'$ref': '#/definitions/ErrorResult'}},
5838 'WatchIPAddresses': {'properties': {'Result': {'$ref': '#/definitions/EntitiesWatchResult'}},
5843 @ReturnMapping(BoolResult
)
5844 async def CanDeallocateAddresses(self
):
5847 Returns -> typing.Union[_ForwardRef('Error'), bool]
5849 # map input types to rpc msg
5851 msg
= dict(Type
='Addresser', Request
='CanDeallocateAddresses', Version
=2, Params
=params
)
5853 reply
= await self
.rpc(msg
)
5858 @ReturnMapping(ErrorResult
)
5859 async def CleanupIPAddresses(self
):
5864 # map input types to rpc msg
5866 msg
= dict(Type
='Addresser', Request
='CleanupIPAddresses', Version
=2, Params
=params
)
5868 reply
= await self
.rpc(msg
)
5873 @ReturnMapping(EntitiesWatchResult
)
5874 async def WatchIPAddresses(self
):
5877 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
5879 # map input types to rpc msg
5881 msg
= dict(Type
='Addresser', Request
='WatchIPAddresses', Version
=2, Params
=params
)
5883 reply
= await self
.rpc(msg
)
5890 schema
= {'definitions': {'AgentGetEntitiesResult': {'additionalProperties': False,
5891 'properties': {'ContainerType': {'type': 'string'},
5892 'Error': {'$ref': '#/definitions/Error'},
5893 'Jobs': {'items': {'type': 'string'},
5895 'Life': {'type': 'string'}},
5896 'required': ['Life',
5901 'AgentGetEntitiesResults': {'additionalProperties': False,
5902 'properties': {'Entities': {'items': {'$ref': '#/definitions/AgentGetEntitiesResult'},
5904 'required': ['Entities'],
5906 'Entities': {'additionalProperties': False,
5907 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
5909 'required': ['Entities'],
5911 'Entity': {'additionalProperties': False,
5912 'properties': {'Tag': {'type': 'string'}},
5913 'required': ['Tag'],
5915 'EntityPassword': {'additionalProperties': False,
5916 'properties': {'Password': {'type': 'string'},
5917 'Tag': {'type': 'string'}},
5918 'required': ['Tag', 'Password'],
5920 'EntityPasswords': {'additionalProperties': False,
5921 'properties': {'Changes': {'items': {'$ref': '#/definitions/EntityPassword'},
5923 'required': ['Changes'],
5925 'Error': {'additionalProperties': False,
5926 'properties': {'Code': {'type': 'string'},
5927 'Info': {'$ref': '#/definitions/ErrorInfo'},
5928 'Message': {'type': 'string'}},
5929 'required': ['Message', 'Code'],
5931 'ErrorInfo': {'additionalProperties': False,
5932 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
5933 'MacaroonPath': {'type': 'string'}},
5935 'ErrorResult': {'additionalProperties': False,
5936 'properties': {'Error': {'$ref': '#/definitions/Error'}},
5937 'required': ['Error'],
5939 'ErrorResults': {'additionalProperties': False,
5940 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
5942 'required': ['Results'],
5944 'IsMasterResult': {'additionalProperties': False,
5945 'properties': {'Master': {'type': 'boolean'}},
5946 'required': ['Master'],
5948 'Macaroon': {'additionalProperties': False,
5949 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
5951 'data': {'items': {'type': 'integer'},
5953 'id': {'$ref': '#/definitions/packet'},
5954 'location': {'$ref': '#/definitions/packet'},
5955 'sig': {'items': {'type': 'integer'},
5957 'required': ['data',
5963 'ModelConfigResult': {'additionalProperties': False,
5964 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
5967 'required': ['Config'],
5969 'NotifyWatchResult': {'additionalProperties': False,
5970 'properties': {'Error': {'$ref': '#/definitions/Error'},
5971 'NotifyWatcherId': {'type': 'string'}},
5972 'required': ['NotifyWatcherId', 'Error'],
5974 'StateServingInfo': {'additionalProperties': False,
5975 'properties': {'APIPort': {'type': 'integer'},
5976 'CAPrivateKey': {'type': 'string'},
5977 'Cert': {'type': 'string'},
5978 'PrivateKey': {'type': 'string'},
5979 'SharedSecret': {'type': 'string'},
5980 'StatePort': {'type': 'integer'},
5981 'SystemIdentity': {'type': 'string'}},
5982 'required': ['APIPort',
5990 'caveat': {'additionalProperties': False,
5991 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
5992 'location': {'$ref': '#/definitions/packet'},
5993 'verificationId': {'$ref': '#/definitions/packet'}},
5994 'required': ['location',
5998 'packet': {'additionalProperties': False,
5999 'properties': {'headerLen': {'type': 'integer'},
6000 'start': {'type': 'integer'},
6001 'totalLen': {'type': 'integer'}},
6002 'required': ['start', 'totalLen', 'headerLen'],
6004 'properties': {'ClearReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6005 'Result': {'$ref': '#/definitions/ErrorResults'}},
6007 'GetEntities': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6008 'Result': {'$ref': '#/definitions/AgentGetEntitiesResults'}},
6010 'IsMaster': {'properties': {'Result': {'$ref': '#/definitions/IsMasterResult'}},
6012 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
6014 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
6015 'Result': {'$ref': '#/definitions/ErrorResults'}},
6017 'StateServingInfo': {'properties': {'Result': {'$ref': '#/definitions/StateServingInfo'}},
6019 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
6024 @ReturnMapping(ErrorResults
)
6025 async def ClearReboot(self
, entities
):
6027 entities : typing.Sequence[~Entity]
6028 Returns -> typing.Sequence[~ErrorResult]
6030 # map input types to rpc msg
6032 msg
= dict(Type
='Agent', Request
='ClearReboot', Version
=2, Params
=params
)
6033 params
['Entities'] = entities
6034 reply
= await self
.rpc(msg
)
6039 @ReturnMapping(AgentGetEntitiesResults
)
6040 async def GetEntities(self
, entities
):
6042 entities : typing.Sequence[~Entity]
6043 Returns -> typing.Sequence[~AgentGetEntitiesResult]
6045 # map input types to rpc msg
6047 msg
= dict(Type
='Agent', Request
='GetEntities', Version
=2, Params
=params
)
6048 params
['Entities'] = entities
6049 reply
= await self
.rpc(msg
)
6054 @ReturnMapping(IsMasterResult
)
6055 async def IsMaster(self
):
6060 # map input types to rpc msg
6062 msg
= dict(Type
='Agent', Request
='IsMaster', Version
=2, Params
=params
)
6064 reply
= await self
.rpc(msg
)
6069 @ReturnMapping(ModelConfigResult
)
6070 async def ModelConfig(self
):
6073 Returns -> typing.Mapping[str, typing.Any]
6075 # map input types to rpc msg
6077 msg
= dict(Type
='Agent', Request
='ModelConfig', Version
=2, Params
=params
)
6079 reply
= await self
.rpc(msg
)
6084 @ReturnMapping(ErrorResults
)
6085 async def SetPasswords(self
, changes
):
6087 changes : typing.Sequence[~EntityPassword]
6088 Returns -> typing.Sequence[~ErrorResult]
6090 # map input types to rpc msg
6092 msg
= dict(Type
='Agent', Request
='SetPasswords', Version
=2, Params
=params
)
6093 params
['Changes'] = changes
6094 reply
= await self
.rpc(msg
)
6099 @ReturnMapping(StateServingInfo
)
6100 async def StateServingInfo(self
):
6103 Returns -> typing.Union[int, str]
6105 # map input types to rpc msg
6107 msg
= dict(Type
='Agent', Request
='StateServingInfo', Version
=2, Params
=params
)
6109 reply
= await self
.rpc(msg
)
6114 @ReturnMapping(NotifyWatchResult
)
6115 async def WatchForModelConfigChanges(self
):
6118 Returns -> typing.Union[_ForwardRef('Error'), str]
6120 # map input types to rpc msg
6122 msg
= dict(Type
='Agent', Request
='WatchForModelConfigChanges', Version
=2, Params
=params
)
6124 reply
= await self
.rpc(msg
)
6128 class AgentTools(Type
):
6131 schema
= {'properties': {'UpdateToolsAvailable': {'type': 'object'}}, 'type': 'object'}
6134 @ReturnMapping(None)
6135 async def UpdateToolsAvailable(self
):
6140 # map input types to rpc msg
6142 msg
= dict(Type
='AgentTools', Request
='UpdateToolsAvailable', Version
=1, Params
=params
)
6144 reply
= await self
.rpc(msg
)
6148 class AllModelWatcher(Type
):
6149 name
= 'AllModelWatcher'
6151 schema
= {'definitions': {'AllWatcherNextResults': {'additionalProperties': False,
6152 'properties': {'Deltas': {'items': {'$ref': '#/definitions/Delta'},
6154 'required': ['Deltas'],
6156 'Delta': {'additionalProperties': False,
6157 'properties': {'Entity': {'additionalProperties': True,
6159 'Removed': {'type': 'boolean'}},
6160 'required': ['Removed', 'Entity'],
6162 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherNextResults'}},
6164 'Stop': {'type': 'object'}},
6168 @ReturnMapping(AllWatcherNextResults
)
6169 async def Next(self
):
6172 Returns -> typing.Sequence[~Delta]
6174 # map input types to rpc msg
6176 msg
= dict(Type
='AllModelWatcher', Request
='Next', Version
=2, Params
=params
)
6178 reply
= await self
.rpc(msg
)
6183 @ReturnMapping(None)
6184 async def Stop(self
):
6189 # map input types to rpc msg
6191 msg
= dict(Type
='AllModelWatcher', Request
='Stop', Version
=2, Params
=params
)
6193 reply
= await self
.rpc(msg
)
6197 class AllWatcher(Type
):
6200 schema
= {'definitions': {'AllWatcherNextResults': {'additionalProperties': False,
6201 'properties': {'Deltas': {'items': {'$ref': '#/definitions/Delta'},
6203 'required': ['Deltas'],
6205 'Delta': {'additionalProperties': False,
6206 'properties': {'Entity': {'additionalProperties': True,
6208 'Removed': {'type': 'boolean'}},
6209 'required': ['Removed', 'Entity'],
6211 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherNextResults'}},
6213 'Stop': {'type': 'object'}},
6217 @ReturnMapping(AllWatcherNextResults
)
6218 async def Next(self
):
6221 Returns -> typing.Sequence[~Delta]
6223 # map input types to rpc msg
6225 msg
= dict(Type
='AllWatcher', Request
='Next', Version
=1, Params
=params
)
6227 reply
= await self
.rpc(msg
)
6232 @ReturnMapping(None)
6233 async def Stop(self
):
6238 # map input types to rpc msg
6240 msg
= dict(Type
='AllWatcher', Request
='Stop', Version
=1, Params
=params
)
6242 reply
= await self
.rpc(msg
)
6246 class Annotations(Type
):
6247 name
= 'Annotations'
6249 schema
= {'definitions': {'AnnotationsGetResult': {'additionalProperties': False,
6250 'properties': {'Annotations': {'patternProperties': {'.*': {'type': 'string'}},
6252 'EntityTag': {'type': 'string'},
6253 'Error': {'$ref': '#/definitions/ErrorResult'}},
6254 'required': ['EntityTag',
6258 'AnnotationsGetResults': {'additionalProperties': False,
6259 'properties': {'Results': {'items': {'$ref': '#/definitions/AnnotationsGetResult'},
6261 'required': ['Results'],
6263 'AnnotationsSet': {'additionalProperties': False,
6264 'properties': {'Annotations': {'items': {'$ref': '#/definitions/EntityAnnotations'},
6266 'required': ['Annotations'],
6268 'Entities': {'additionalProperties': False,
6269 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
6271 'required': ['Entities'],
6273 'Entity': {'additionalProperties': False,
6274 'properties': {'Tag': {'type': 'string'}},
6275 'required': ['Tag'],
6277 'EntityAnnotations': {'additionalProperties': False,
6278 'properties': {'Annotations': {'patternProperties': {'.*': {'type': 'string'}},
6280 'EntityTag': {'type': 'string'}},
6281 'required': ['EntityTag', 'Annotations'],
6283 'Error': {'additionalProperties': False,
6284 'properties': {'Code': {'type': 'string'},
6285 'Info': {'$ref': '#/definitions/ErrorInfo'},
6286 'Message': {'type': 'string'}},
6287 'required': ['Message', 'Code'],
6289 'ErrorInfo': {'additionalProperties': False,
6290 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
6291 'MacaroonPath': {'type': 'string'}},
6293 'ErrorResult': {'additionalProperties': False,
6294 'properties': {'Error': {'$ref': '#/definitions/Error'}},
6295 'required': ['Error'],
6297 'ErrorResults': {'additionalProperties': False,
6298 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
6300 'required': ['Results'],
6302 'Macaroon': {'additionalProperties': False,
6303 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
6305 'data': {'items': {'type': 'integer'},
6307 'id': {'$ref': '#/definitions/packet'},
6308 'location': {'$ref': '#/definitions/packet'},
6309 'sig': {'items': {'type': 'integer'},
6311 'required': ['data',
6317 'caveat': {'additionalProperties': False,
6318 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
6319 'location': {'$ref': '#/definitions/packet'},
6320 'verificationId': {'$ref': '#/definitions/packet'}},
6321 'required': ['location',
6325 'packet': {'additionalProperties': False,
6326 'properties': {'headerLen': {'type': 'integer'},
6327 'start': {'type': 'integer'},
6328 'totalLen': {'type': 'integer'}},
6329 'required': ['start', 'totalLen', 'headerLen'],
6331 'properties': {'Get': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6332 'Result': {'$ref': '#/definitions/AnnotationsGetResults'}},
6334 'Set': {'properties': {'Params': {'$ref': '#/definitions/AnnotationsSet'},
6335 'Result': {'$ref': '#/definitions/ErrorResults'}},
6340 @ReturnMapping(AnnotationsGetResults
)
6341 async def Get(self
, entities
):
6343 entities : typing.Sequence[~Entity]
6344 Returns -> typing.Sequence[~AnnotationsGetResult]
6346 # map input types to rpc msg
6348 msg
= dict(Type
='Annotations', Request
='Get', Version
=2, Params
=params
)
6349 params
['Entities'] = entities
6350 reply
= await self
.rpc(msg
)
6355 @ReturnMapping(ErrorResults
)
6356 async def Set(self
, annotations
):
6358 annotations : typing.Sequence[~EntityAnnotations]
6359 Returns -> typing.Sequence[~ErrorResult]
6361 # map input types to rpc msg
6363 msg
= dict(Type
='Annotations', Request
='Set', Version
=2, Params
=params
)
6364 params
['Annotations'] = annotations
6365 reply
= await self
.rpc(msg
)
6369 class Backups(Type
):
6372 schema
= {'definitions': {'BackupsCreateArgs': {'additionalProperties': False,
6373 'properties': {'Notes': {'type': 'string'}},
6374 'required': ['Notes'],
6376 'BackupsInfoArgs': {'additionalProperties': False,
6377 'properties': {'ID': {'type': 'string'}},
6380 'BackupsListArgs': {'additionalProperties': False,
6382 'BackupsListResult': {'additionalProperties': False,
6383 'properties': {'List': {'items': {'$ref': '#/definitions/BackupsMetadataResult'},
6385 'required': ['List'],
6387 'BackupsMetadataResult': {'additionalProperties': False,
6388 'properties': {'CACert': {'type': 'string'},
6389 'CAPrivateKey': {'type': 'string'},
6390 'Checksum': {'type': 'string'},
6391 'ChecksumFormat': {'type': 'string'},
6392 'Finished': {'format': 'date-time',
6394 'Hostname': {'type': 'string'},
6395 'ID': {'type': 'string'},
6396 'Machine': {'type': 'string'},
6397 'Model': {'type': 'string'},
6398 'Notes': {'type': 'string'},
6399 'Size': {'type': 'integer'},
6400 'Started': {'format': 'date-time',
6402 'Stored': {'format': 'date-time',
6404 'Version': {'$ref': '#/definitions/Number'}},
6420 'BackupsRemoveArgs': {'additionalProperties': False,
6421 'properties': {'ID': {'type': 'string'}},
6424 'Number': {'additionalProperties': False,
6425 'properties': {'Build': {'type': 'integer'},
6426 'Major': {'type': 'integer'},
6427 'Minor': {'type': 'integer'},
6428 'Patch': {'type': 'integer'},
6429 'Tag': {'type': 'string'}},
6430 'required': ['Major',
6436 'RestoreArgs': {'additionalProperties': False,
6437 'properties': {'BackupId': {'type': 'string'}},
6438 'required': ['BackupId'],
6440 'properties': {'Create': {'properties': {'Params': {'$ref': '#/definitions/BackupsCreateArgs'},
6441 'Result': {'$ref': '#/definitions/BackupsMetadataResult'}},
6443 'FinishRestore': {'type': 'object'},
6444 'Info': {'properties': {'Params': {'$ref': '#/definitions/BackupsInfoArgs'},
6445 'Result': {'$ref': '#/definitions/BackupsMetadataResult'}},
6447 'List': {'properties': {'Params': {'$ref': '#/definitions/BackupsListArgs'},
6448 'Result': {'$ref': '#/definitions/BackupsListResult'}},
6450 'PrepareRestore': {'type': 'object'},
6451 'Remove': {'properties': {'Params': {'$ref': '#/definitions/BackupsRemoveArgs'}},
6453 'Restore': {'properties': {'Params': {'$ref': '#/definitions/RestoreArgs'}},
6458 @ReturnMapping(BackupsMetadataResult
)
6459 async def Create(self
, notes
):
6462 Returns -> typing.Union[str, int, _ForwardRef('Number')]
6464 # map input types to rpc msg
6466 msg
= dict(Type
='Backups', Request
='Create', Version
=1, Params
=params
)
6467 params
['Notes'] = notes
6468 reply
= await self
.rpc(msg
)
6473 @ReturnMapping(None)
6474 async def FinishRestore(self
):
6479 # map input types to rpc msg
6481 msg
= dict(Type
='Backups', Request
='FinishRestore', Version
=1, Params
=params
)
6483 reply
= await self
.rpc(msg
)
6488 @ReturnMapping(BackupsMetadataResult
)
6489 async def Info(self
, id_
):
6492 Returns -> typing.Union[str, int, _ForwardRef('Number')]
6494 # map input types to rpc msg
6496 msg
= dict(Type
='Backups', Request
='Info', Version
=1, Params
=params
)
6498 reply
= await self
.rpc(msg
)
6503 @ReturnMapping(BackupsListResult
)
6504 async def List(self
):
6507 Returns -> typing.Sequence[~BackupsMetadataResult]
6509 # map input types to rpc msg
6511 msg
= dict(Type
='Backups', Request
='List', Version
=1, Params
=params
)
6513 reply
= await self
.rpc(msg
)
6518 @ReturnMapping(None)
6519 async def PrepareRestore(self
):
6524 # map input types to rpc msg
6526 msg
= dict(Type
='Backups', Request
='PrepareRestore', Version
=1, Params
=params
)
6528 reply
= await self
.rpc(msg
)
6533 @ReturnMapping(None)
6534 async def Remove(self
, id_
):
6539 # map input types to rpc msg
6541 msg
= dict(Type
='Backups', Request
='Remove', Version
=1, Params
=params
)
6543 reply
= await self
.rpc(msg
)
6548 @ReturnMapping(None)
6549 async def Restore(self
, backupid
):
6554 # map input types to rpc msg
6556 msg
= dict(Type
='Backups', Request
='Restore', Version
=1, Params
=params
)
6557 params
['BackupId'] = backupid
6558 reply
= await self
.rpc(msg
)
6565 schema
= {'definitions': {'Block': {'additionalProperties': False,
6566 'properties': {'id': {'type': 'string'},
6567 'message': {'type': 'string'},
6568 'tag': {'type': 'string'},
6569 'type': {'type': 'string'}},
6570 'required': ['id', 'tag', 'type'],
6572 'BlockResult': {'additionalProperties': False,
6573 'properties': {'error': {'$ref': '#/definitions/Error'},
6574 'result': {'$ref': '#/definitions/Block'}},
6575 'required': ['result'],
6577 'BlockResults': {'additionalProperties': False,
6578 'properties': {'results': {'items': {'$ref': '#/definitions/BlockResult'},
6581 'BlockSwitchParams': {'additionalProperties': False,
6582 'properties': {'message': {'type': 'string'},
6583 'type': {'type': 'string'}},
6584 'required': ['type'],
6586 'Error': {'additionalProperties': False,
6587 'properties': {'Code': {'type': 'string'},
6588 'Info': {'$ref': '#/definitions/ErrorInfo'},
6589 'Message': {'type': 'string'}},
6590 'required': ['Message', 'Code'],
6592 'ErrorInfo': {'additionalProperties': False,
6593 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
6594 'MacaroonPath': {'type': 'string'}},
6596 'ErrorResult': {'additionalProperties': False,
6597 'properties': {'Error': {'$ref': '#/definitions/Error'}},
6598 'required': ['Error'],
6600 'Macaroon': {'additionalProperties': False,
6601 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
6603 'data': {'items': {'type': 'integer'},
6605 'id': {'$ref': '#/definitions/packet'},
6606 'location': {'$ref': '#/definitions/packet'},
6607 'sig': {'items': {'type': 'integer'},
6609 'required': ['data',
6615 'caveat': {'additionalProperties': False,
6616 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
6617 'location': {'$ref': '#/definitions/packet'},
6618 'verificationId': {'$ref': '#/definitions/packet'}},
6619 'required': ['location',
6623 'packet': {'additionalProperties': False,
6624 'properties': {'headerLen': {'type': 'integer'},
6625 'start': {'type': 'integer'},
6626 'totalLen': {'type': 'integer'}},
6627 'required': ['start', 'totalLen', 'headerLen'],
6629 'properties': {'List': {'properties': {'Result': {'$ref': '#/definitions/BlockResults'}},
6631 'SwitchBlockOff': {'properties': {'Params': {'$ref': '#/definitions/BlockSwitchParams'},
6632 'Result': {'$ref': '#/definitions/ErrorResult'}},
6634 'SwitchBlockOn': {'properties': {'Params': {'$ref': '#/definitions/BlockSwitchParams'},
6635 'Result': {'$ref': '#/definitions/ErrorResult'}},
6640 @ReturnMapping(BlockResults
)
6641 async def List(self
):
6644 Returns -> typing.Sequence[~BlockResult]
6646 # map input types to rpc msg
6648 msg
= dict(Type
='Block', Request
='List', Version
=2, Params
=params
)
6650 reply
= await self
.rpc(msg
)
6655 @ReturnMapping(ErrorResult
)
6656 async def SwitchBlockOff(self
, message
, type_
):
6662 # map input types to rpc msg
6664 msg
= dict(Type
='Block', Request
='SwitchBlockOff', Version
=2, Params
=params
)
6665 params
['message'] = message
6666 params
['type'] = type_
6667 reply
= await self
.rpc(msg
)
6672 @ReturnMapping(ErrorResult
)
6673 async def SwitchBlockOn(self
, message
, type_
):
6679 # map input types to rpc msg
6681 msg
= dict(Type
='Block', Request
='SwitchBlockOn', Version
=2, Params
=params
)
6682 params
['message'] = message
6683 params
['type'] = type_
6684 reply
= await self
.rpc(msg
)
6688 class CharmRevisionUpdater(Type
):
6689 name
= 'CharmRevisionUpdater'
6691 schema
= {'definitions': {'Error': {'additionalProperties': False,
6692 'properties': {'Code': {'type': 'string'},
6693 'Info': {'$ref': '#/definitions/ErrorInfo'},
6694 'Message': {'type': 'string'}},
6695 'required': ['Message', 'Code'],
6697 'ErrorInfo': {'additionalProperties': False,
6698 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
6699 'MacaroonPath': {'type': 'string'}},
6701 'ErrorResult': {'additionalProperties': False,
6702 'properties': {'Error': {'$ref': '#/definitions/Error'}},
6703 'required': ['Error'],
6705 'Macaroon': {'additionalProperties': False,
6706 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
6708 'data': {'items': {'type': 'integer'},
6710 'id': {'$ref': '#/definitions/packet'},
6711 'location': {'$ref': '#/definitions/packet'},
6712 'sig': {'items': {'type': 'integer'},
6714 'required': ['data',
6720 'caveat': {'additionalProperties': False,
6721 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
6722 'location': {'$ref': '#/definitions/packet'},
6723 'verificationId': {'$ref': '#/definitions/packet'}},
6724 'required': ['location',
6728 'packet': {'additionalProperties': False,
6729 'properties': {'headerLen': {'type': 'integer'},
6730 'start': {'type': 'integer'},
6731 'totalLen': {'type': 'integer'}},
6732 'required': ['start', 'totalLen', 'headerLen'],
6734 'properties': {'UpdateLatestRevisions': {'properties': {'Result': {'$ref': '#/definitions/ErrorResult'}},
6739 @ReturnMapping(ErrorResult
)
6740 async def UpdateLatestRevisions(self
):
6745 # map input types to rpc msg
6747 msg
= dict(Type
='CharmRevisionUpdater', Request
='UpdateLatestRevisions', Version
=1, Params
=params
)
6749 reply
= await self
.rpc(msg
)
6756 schema
= {'definitions': {'CharmInfo': {'additionalProperties': False,
6757 'properties': {'CharmURL': {'type': 'string'}},
6758 'required': ['CharmURL'],
6760 'CharmsList': {'additionalProperties': False,
6761 'properties': {'Names': {'items': {'type': 'string'},
6763 'required': ['Names'],
6765 'CharmsListResult': {'additionalProperties': False,
6766 'properties': {'CharmURLs': {'items': {'type': 'string'},
6768 'required': ['CharmURLs'],
6770 'IsMeteredResult': {'additionalProperties': False,
6771 'properties': {'Metered': {'type': 'boolean'}},
6772 'required': ['Metered'],
6774 'properties': {'CharmInfo': {'properties': {'Params': {'$ref': '#/definitions/CharmInfo'},
6775 'Result': {'$ref': '#/definitions/CharmInfo'}},
6777 'IsMetered': {'properties': {'Params': {'$ref': '#/definitions/CharmInfo'},
6778 'Result': {'$ref': '#/definitions/IsMeteredResult'}},
6780 'List': {'properties': {'Params': {'$ref': '#/definitions/CharmsList'},
6781 'Result': {'$ref': '#/definitions/CharmsListResult'}},
6786 @ReturnMapping(CharmInfo
)
6787 async def CharmInfo(self
, charmurl
):
6792 # map input types to rpc msg
6794 msg
= dict(Type
='Charms', Request
='CharmInfo', Version
=2, Params
=params
)
6795 params
['CharmURL'] = charmurl
6796 reply
= await self
.rpc(msg
)
6801 @ReturnMapping(IsMeteredResult
)
6802 async def IsMetered(self
, charmurl
):
6807 # map input types to rpc msg
6809 msg
= dict(Type
='Charms', Request
='IsMetered', Version
=2, Params
=params
)
6810 params
['CharmURL'] = charmurl
6811 reply
= await self
.rpc(msg
)
6816 @ReturnMapping(CharmsListResult
)
6817 async def List(self
, names
):
6819 names : typing.Sequence[str]
6820 Returns -> typing.Sequence[str]
6822 # map input types to rpc msg
6824 msg
= dict(Type
='Charms', Request
='List', Version
=2, Params
=params
)
6825 params
['Names'] = names
6826 reply
= await self
.rpc(msg
)
6830 class Cleaner(Type
):
6833 schema
= {'definitions': {'Error': {'additionalProperties': False,
6834 'properties': {'Code': {'type': 'string'},
6835 'Info': {'$ref': '#/definitions/ErrorInfo'},
6836 'Message': {'type': 'string'}},
6837 'required': ['Message', 'Code'],
6839 'ErrorInfo': {'additionalProperties': False,
6840 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
6841 'MacaroonPath': {'type': 'string'}},
6843 'Macaroon': {'additionalProperties': False,
6844 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
6846 'data': {'items': {'type': 'integer'},
6848 'id': {'$ref': '#/definitions/packet'},
6849 'location': {'$ref': '#/definitions/packet'},
6850 'sig': {'items': {'type': 'integer'},
6852 'required': ['data',
6858 'NotifyWatchResult': {'additionalProperties': False,
6859 'properties': {'Error': {'$ref': '#/definitions/Error'},
6860 'NotifyWatcherId': {'type': 'string'}},
6861 'required': ['NotifyWatcherId', 'Error'],
6863 'caveat': {'additionalProperties': False,
6864 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
6865 'location': {'$ref': '#/definitions/packet'},
6866 'verificationId': {'$ref': '#/definitions/packet'}},
6867 'required': ['location',
6871 'packet': {'additionalProperties': False,
6872 'properties': {'headerLen': {'type': 'integer'},
6873 'start': {'type': 'integer'},
6874 'totalLen': {'type': 'integer'}},
6875 'required': ['start', 'totalLen', 'headerLen'],
6877 'properties': {'Cleanup': {'type': 'object'},
6878 'WatchCleanups': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
6883 @ReturnMapping(None)
6884 async def Cleanup(self
):
6889 # map input types to rpc msg
6891 msg
= dict(Type
='Cleaner', Request
='Cleanup', Version
=2, Params
=params
)
6893 reply
= await self
.rpc(msg
)
6898 @ReturnMapping(NotifyWatchResult
)
6899 async def WatchCleanups(self
):
6902 Returns -> typing.Union[_ForwardRef('Error'), str]
6904 # map input types to rpc msg
6906 msg
= dict(Type
='Cleaner', Request
='WatchCleanups', Version
=2, Params
=params
)
6908 reply
= await self
.rpc(msg
)
6915 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
6916 'properties': {'Servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
6919 'required': ['Servers'],
6921 'AddCharm': {'additionalProperties': False,
6922 'properties': {'Channel': {'type': 'string'},
6923 'URL': {'type': 'string'}},
6924 'required': ['URL', 'Channel'],
6926 'AddCharmWithAuthorization': {'additionalProperties': False,
6927 'properties': {'Channel': {'type': 'string'},
6928 'CharmStoreMacaroon': {'$ref': '#/definitions/Macaroon'},
6929 'URL': {'type': 'string'}},
6932 'CharmStoreMacaroon'],
6934 'AddMachineParams': {'additionalProperties': False,
6935 'properties': {'Addrs': {'items': {'$ref': '#/definitions/Address'},
6937 'Constraints': {'$ref': '#/definitions/Value'},
6938 'ContainerType': {'type': 'string'},
6939 'Disks': {'items': {'$ref': '#/definitions/Constraints'},
6941 'HardwareCharacteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
6942 'InstanceId': {'type': 'string'},
6943 'Jobs': {'items': {'type': 'string'},
6945 'Nonce': {'type': 'string'},
6946 'ParentId': {'type': 'string'},
6947 'Placement': {'$ref': '#/definitions/Placement'},
6948 'Series': {'type': 'string'}},
6949 'required': ['Series',
6958 'HardwareCharacteristics',
6961 'AddMachines': {'additionalProperties': False,
6962 'properties': {'MachineParams': {'items': {'$ref': '#/definitions/AddMachineParams'},
6964 'required': ['MachineParams'],
6966 'AddMachinesResult': {'additionalProperties': False,
6967 'properties': {'Error': {'$ref': '#/definitions/Error'},
6968 'Machine': {'type': 'string'}},
6969 'required': ['Machine', 'Error'],
6971 'AddMachinesResults': {'additionalProperties': False,
6972 'properties': {'Machines': {'items': {'$ref': '#/definitions/AddMachinesResult'},
6974 'required': ['Machines'],
6976 'Address': {'additionalProperties': False,
6977 'properties': {'Scope': {'type': 'string'},
6978 'SpaceName': {'type': 'string'},
6979 'Type': {'type': 'string'},
6980 'Value': {'type': 'string'}},
6981 'required': ['Value', 'Type', 'Scope'],
6983 'AgentVersionResult': {'additionalProperties': False,
6984 'properties': {'Version': {'$ref': '#/definitions/Number'}},
6985 'required': ['Version'],
6987 'AllWatcherId': {'additionalProperties': False,
6988 'properties': {'AllWatcherId': {'type': 'string'}},
6989 'required': ['AllWatcherId'],
6991 'Binary': {'additionalProperties': False,
6992 'properties': {'Arch': {'type': 'string'},
6993 'Number': {'$ref': '#/definitions/Number'},
6994 'Series': {'type': 'string'}},
6995 'required': ['Number', 'Series', 'Arch'],
6997 'BundleChangesChange': {'additionalProperties': False,
6998 'properties': {'args': {'items': {'additionalProperties': True,
7001 'id': {'type': 'string'},
7002 'method': {'type': 'string'},
7003 'requires': {'items': {'type': 'string'},
7010 'CharmInfo': {'additionalProperties': False,
7011 'properties': {'CharmURL': {'type': 'string'}},
7012 'required': ['CharmURL'],
7014 'Constraints': {'additionalProperties': False,
7015 'properties': {'Count': {'type': 'integer'},
7016 'Pool': {'type': 'string'},
7017 'Size': {'type': 'integer'}},
7018 'required': ['Pool', 'Size', 'Count'],
7020 'DestroyMachines': {'additionalProperties': False,
7021 'properties': {'Force': {'type': 'boolean'},
7022 'MachineNames': {'items': {'type': 'string'},
7024 'required': ['MachineNames', 'Force'],
7026 'DetailedStatus': {'additionalProperties': False,
7027 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
7030 'Err': {'additionalProperties': True,
7032 'Info': {'type': 'string'},
7033 'Kind': {'type': 'string'},
7034 'Life': {'type': 'string'},
7035 'Since': {'format': 'date-time',
7037 'Status': {'type': 'string'},
7038 'Version': {'type': 'string'}},
7039 'required': ['Status',
7048 'EndpointStatus': {'additionalProperties': False,
7049 'properties': {'Name': {'type': 'string'},
7050 'Role': {'type': 'string'},
7051 'ServiceName': {'type': 'string'},
7052 'Subordinate': {'type': 'boolean'}},
7053 'required': ['ServiceName',
7058 'Entities': {'additionalProperties': False,
7059 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
7061 'required': ['Entities'],
7063 'Entity': {'additionalProperties': False,
7064 'properties': {'Tag': {'type': 'string'}},
7065 'required': ['Tag'],
7067 'EntityStatus': {'additionalProperties': False,
7068 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
7071 'Info': {'type': 'string'},
7072 'Since': {'format': 'date-time',
7074 'Status': {'type': 'string'}},
7075 'required': ['Status',
7080 'Error': {'additionalProperties': False,
7081 'properties': {'Code': {'type': 'string'},
7082 'Info': {'$ref': '#/definitions/ErrorInfo'},
7083 'Message': {'type': 'string'}},
7084 'required': ['Message', 'Code'],
7086 'ErrorInfo': {'additionalProperties': False,
7087 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
7088 'MacaroonPath': {'type': 'string'}},
7090 'ErrorResult': {'additionalProperties': False,
7091 'properties': {'Error': {'$ref': '#/definitions/Error'}},
7092 'required': ['Error'],
7094 'ErrorResults': {'additionalProperties': False,
7095 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
7097 'required': ['Results'],
7099 'FindToolsParams': {'additionalProperties': False,
7100 'properties': {'Arch': {'type': 'string'},
7101 'MajorVersion': {'type': 'integer'},
7102 'MinorVersion': {'type': 'integer'},
7103 'Number': {'$ref': '#/definitions/Number'},
7104 'Series': {'type': 'string'}},
7105 'required': ['Number',
7111 'FindToolsResult': {'additionalProperties': False,
7112 'properties': {'Error': {'$ref': '#/definitions/Error'},
7113 'List': {'items': {'$ref': '#/definitions/Tools'},
7115 'required': ['List', 'Error'],
7117 'FullStatus': {'additionalProperties': False,
7118 'properties': {'AvailableVersion': {'type': 'string'},
7119 'Machines': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}},
7121 'ModelName': {'type': 'string'},
7122 'Relations': {'items': {'$ref': '#/definitions/RelationStatus'},
7124 'Services': {'patternProperties': {'.*': {'$ref': '#/definitions/ServiceStatus'}},
7126 'required': ['ModelName',
7132 'GetBundleChangesParams': {'additionalProperties': False,
7133 'properties': {'yaml': {'type': 'string'}},
7134 'required': ['yaml'],
7136 'GetBundleChangesResults': {'additionalProperties': False,
7137 'properties': {'changes': {'items': {'$ref': '#/definitions/BundleChangesChange'},
7139 'errors': {'items': {'type': 'string'},
7142 'GetConstraintsResults': {'additionalProperties': False,
7143 'properties': {'Constraints': {'$ref': '#/definitions/Value'}},
7144 'required': ['Constraints'],
7146 'HardwareCharacteristics': {'additionalProperties': False,
7147 'properties': {'Arch': {'type': 'string'},
7148 'AvailabilityZone': {'type': 'string'},
7149 'CpuCores': {'type': 'integer'},
7150 'CpuPower': {'type': 'integer'},
7151 'Mem': {'type': 'integer'},
7152 'RootDisk': {'type': 'integer'},
7153 'Tags': {'items': {'type': 'string'},
7156 'HostPort': {'additionalProperties': False,
7157 'properties': {'Address': {'$ref': '#/definitions/Address'},
7158 'Port': {'type': 'integer'}},
7159 'required': ['Address', 'Port'],
7161 'Macaroon': {'additionalProperties': False,
7162 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
7164 'data': {'items': {'type': 'integer'},
7166 'id': {'$ref': '#/definitions/packet'},
7167 'location': {'$ref': '#/definitions/packet'},
7168 'sig': {'items': {'type': 'integer'},
7170 'required': ['data',
7176 'MachineStatus': {'additionalProperties': False,
7177 'properties': {'AgentStatus': {'$ref': '#/definitions/DetailedStatus'},
7178 'Containers': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}},
7180 'DNSName': {'type': 'string'},
7181 'Hardware': {'type': 'string'},
7182 'HasVote': {'type': 'boolean'},
7183 'Id': {'type': 'string'},
7184 'InstanceId': {'type': 'string'},
7185 'InstanceStatus': {'$ref': '#/definitions/DetailedStatus'},
7186 'Jobs': {'items': {'type': 'string'},
7188 'Series': {'type': 'string'},
7189 'WantsVote': {'type': 'boolean'}},
7190 'required': ['AgentStatus',
7202 'MeterStatus': {'additionalProperties': False,
7203 'properties': {'Color': {'type': 'string'},
7204 'Message': {'type': 'string'}},
7205 'required': ['Color', 'Message'],
7207 'ModelConfigResults': {'additionalProperties': False,
7208 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
7211 'required': ['Config'],
7213 'ModelInfo': {'additionalProperties': False,
7214 'properties': {'DefaultSeries': {'type': 'string'},
7215 'Life': {'type': 'string'},
7216 'Name': {'type': 'string'},
7217 'OwnerTag': {'type': 'string'},
7218 'ProviderType': {'type': 'string'},
7219 'ServerUUID': {'type': 'string'},
7220 'Status': {'$ref': '#/definitions/EntityStatus'},
7221 'UUID': {'type': 'string'},
7222 'Users': {'items': {'$ref': '#/definitions/ModelUserInfo'},
7224 'required': ['Name',
7234 'ModelSet': {'additionalProperties': False,
7235 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
7238 'required': ['Config'],
7240 'ModelUnset': {'additionalProperties': False,
7241 'properties': {'Keys': {'items': {'type': 'string'},
7243 'required': ['Keys'],
7245 'ModelUserInfo': {'additionalProperties': False,
7246 'properties': {'access': {'type': 'string'},
7247 'displayname': {'type': 'string'},
7248 'lastconnection': {'format': 'date-time',
7250 'user': {'type': 'string'}},
7251 'required': ['user',
7256 'ModelUserInfoResult': {'additionalProperties': False,
7257 'properties': {'error': {'$ref': '#/definitions/Error'},
7258 'result': {'$ref': '#/definitions/ModelUserInfo'}},
7260 'ModelUserInfoResults': {'additionalProperties': False,
7261 'properties': {'results': {'items': {'$ref': '#/definitions/ModelUserInfoResult'},
7263 'required': ['results'],
7265 'Number': {'additionalProperties': False,
7266 'properties': {'Build': {'type': 'integer'},
7267 'Major': {'type': 'integer'},
7268 'Minor': {'type': 'integer'},
7269 'Patch': {'type': 'integer'},
7270 'Tag': {'type': 'string'}},
7271 'required': ['Major',
7277 'Placement': {'additionalProperties': False,
7278 'properties': {'Directive': {'type': 'string'},
7279 'Scope': {'type': 'string'}},
7280 'required': ['Scope', 'Directive'],
7282 'PrivateAddress': {'additionalProperties': False,
7283 'properties': {'Target': {'type': 'string'}},
7284 'required': ['Target'],
7286 'PrivateAddressResults': {'additionalProperties': False,
7287 'properties': {'PrivateAddress': {'type': 'string'}},
7288 'required': ['PrivateAddress'],
7290 'ProvisioningScriptParams': {'additionalProperties': False,
7291 'properties': {'DataDir': {'type': 'string'},
7292 'DisablePackageCommands': {'type': 'boolean'},
7293 'MachineId': {'type': 'string'},
7294 'Nonce': {'type': 'string'}},
7295 'required': ['MachineId',
7298 'DisablePackageCommands'],
7300 'ProvisioningScriptResult': {'additionalProperties': False,
7301 'properties': {'Script': {'type': 'string'}},
7302 'required': ['Script'],
7304 'PublicAddress': {'additionalProperties': False,
7305 'properties': {'Target': {'type': 'string'}},
7306 'required': ['Target'],
7308 'PublicAddressResults': {'additionalProperties': False,
7309 'properties': {'PublicAddress': {'type': 'string'}},
7310 'required': ['PublicAddress'],
7312 'RelationStatus': {'additionalProperties': False,
7313 'properties': {'Endpoints': {'items': {'$ref': '#/definitions/EndpointStatus'},
7315 'Id': {'type': 'integer'},
7316 'Interface': {'type': 'string'},
7317 'Key': {'type': 'string'},
7318 'Scope': {'type': 'string'}},
7325 'ResolveCharmResult': {'additionalProperties': False,
7326 'properties': {'Error': {'type': 'string'},
7327 'URL': {'$ref': '#/definitions/URL'}},
7329 'ResolveCharmResults': {'additionalProperties': False,
7330 'properties': {'URLs': {'items': {'$ref': '#/definitions/ResolveCharmResult'},
7332 'required': ['URLs'],
7334 'ResolveCharms': {'additionalProperties': False,
7335 'properties': {'References': {'items': {'$ref': '#/definitions/URL'},
7337 'required': ['References'],
7339 'Resolved': {'additionalProperties': False,
7340 'properties': {'Retry': {'type': 'boolean'},
7341 'UnitName': {'type': 'string'}},
7342 'required': ['UnitName', 'Retry'],
7344 'ServiceStatus': {'additionalProperties': False,
7345 'properties': {'CanUpgradeTo': {'type': 'string'},
7346 'Charm': {'type': 'string'},
7347 'Err': {'additionalProperties': True,
7349 'Exposed': {'type': 'boolean'},
7350 'Life': {'type': 'string'},
7351 'MeterStatuses': {'patternProperties': {'.*': {'$ref': '#/definitions/MeterStatus'}},
7353 'Relations': {'patternProperties': {'.*': {'items': {'type': 'string'},
7356 'Status': {'$ref': '#/definitions/DetailedStatus'},
7357 'SubordinateTo': {'items': {'type': 'string'},
7359 'Units': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitStatus'}},
7372 'SetConstraints': {'additionalProperties': False,
7373 'properties': {'Constraints': {'$ref': '#/definitions/Value'},
7374 'ServiceName': {'type': 'string'}},
7375 'required': ['ServiceName', 'Constraints'],
7377 'SetModelAgentVersion': {'additionalProperties': False,
7378 'properties': {'Version': {'$ref': '#/definitions/Number'}},
7379 'required': ['Version'],
7381 'StatusHistoryArgs': {'additionalProperties': False,
7382 'properties': {'Kind': {'type': 'string'},
7383 'Name': {'type': 'string'},
7384 'Size': {'type': 'integer'}},
7385 'required': ['Kind', 'Size', 'Name'],
7387 'StatusHistoryResults': {'additionalProperties': False,
7388 'properties': {'Statuses': {'items': {'$ref': '#/definitions/DetailedStatus'},
7390 'required': ['Statuses'],
7392 'StatusParams': {'additionalProperties': False,
7393 'properties': {'Patterns': {'items': {'type': 'string'},
7395 'required': ['Patterns'],
7397 'Tools': {'additionalProperties': False,
7398 'properties': {'sha256': {'type': 'string'},
7399 'size': {'type': 'integer'},
7400 'url': {'type': 'string'},
7401 'version': {'$ref': '#/definitions/Binary'}},
7402 'required': ['version', 'url', 'size'],
7404 'URL': {'additionalProperties': False,
7405 'properties': {'Channel': {'type': 'string'},
7406 'Name': {'type': 'string'},
7407 'Revision': {'type': 'integer'},
7408 'Schema': {'type': 'string'},
7409 'Series': {'type': 'string'},
7410 'User': {'type': 'string'}},
7411 'required': ['Schema',
7418 'UnitStatus': {'additionalProperties': False,
7419 'properties': {'AgentStatus': {'$ref': '#/definitions/DetailedStatus'},
7420 'Charm': {'type': 'string'},
7421 'Machine': {'type': 'string'},
7422 'OpenedPorts': {'items': {'type': 'string'},
7424 'PublicAddress': {'type': 'string'},
7425 'Subordinates': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitStatus'}},
7427 'WorkloadStatus': {'$ref': '#/definitions/DetailedStatus'}},
7428 'required': ['AgentStatus',
7436 'Value': {'additionalProperties': False,
7437 'properties': {'arch': {'type': 'string'},
7438 'container': {'type': 'string'},
7439 'cpu-cores': {'type': 'integer'},
7440 'cpu-power': {'type': 'integer'},
7441 'instance-type': {'type': 'string'},
7442 'mem': {'type': 'integer'},
7443 'root-disk': {'type': 'integer'},
7444 'spaces': {'items': {'type': 'string'},
7446 'tags': {'items': {'type': 'string'},
7448 'virt-type': {'type': 'string'}},
7450 'caveat': {'additionalProperties': False,
7451 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
7452 'location': {'$ref': '#/definitions/packet'},
7453 'verificationId': {'$ref': '#/definitions/packet'}},
7454 'required': ['location',
7458 'packet': {'additionalProperties': False,
7459 'properties': {'headerLen': {'type': 'integer'},
7460 'start': {'type': 'integer'},
7461 'totalLen': {'type': 'integer'}},
7462 'required': ['start', 'totalLen', 'headerLen'],
7464 'properties': {'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
7466 'AbortCurrentUpgrade': {'type': 'object'},
7467 'AddCharm': {'properties': {'Params': {'$ref': '#/definitions/AddCharm'}},
7469 'AddCharmWithAuthorization': {'properties': {'Params': {'$ref': '#/definitions/AddCharmWithAuthorization'}},
7471 'AddMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
7472 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
7474 'AddMachinesV2': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
7475 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
7477 'AgentVersion': {'properties': {'Result': {'$ref': '#/definitions/AgentVersionResult'}},
7479 'CharmInfo': {'properties': {'Params': {'$ref': '#/definitions/CharmInfo'},
7480 'Result': {'$ref': '#/definitions/CharmInfo'}},
7482 'DestroyMachines': {'properties': {'Params': {'$ref': '#/definitions/DestroyMachines'}},
7484 'DestroyModel': {'type': 'object'},
7485 'FindTools': {'properties': {'Params': {'$ref': '#/definitions/FindToolsParams'},
7486 'Result': {'$ref': '#/definitions/FindToolsResult'}},
7488 'FullStatus': {'properties': {'Params': {'$ref': '#/definitions/StatusParams'},
7489 'Result': {'$ref': '#/definitions/FullStatus'}},
7491 'GetBundleChanges': {'properties': {'Params': {'$ref': '#/definitions/GetBundleChangesParams'},
7492 'Result': {'$ref': '#/definitions/GetBundleChangesResults'}},
7494 'GetModelConstraints': {'properties': {'Result': {'$ref': '#/definitions/GetConstraintsResults'}},
7496 'InjectMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
7497 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
7499 'ModelGet': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResults'}},
7501 'ModelInfo': {'properties': {'Result': {'$ref': '#/definitions/ModelInfo'}},
7503 'ModelSet': {'properties': {'Params': {'$ref': '#/definitions/ModelSet'}},
7505 'ModelUnset': {'properties': {'Params': {'$ref': '#/definitions/ModelUnset'}},
7507 'ModelUserInfo': {'properties': {'Result': {'$ref': '#/definitions/ModelUserInfoResults'}},
7509 'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/PrivateAddress'},
7510 'Result': {'$ref': '#/definitions/PrivateAddressResults'}},
7512 'ProvisioningScript': {'properties': {'Params': {'$ref': '#/definitions/ProvisioningScriptParams'},
7513 'Result': {'$ref': '#/definitions/ProvisioningScriptResult'}},
7515 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/PublicAddress'},
7516 'Result': {'$ref': '#/definitions/PublicAddressResults'}},
7518 'ResolveCharms': {'properties': {'Params': {'$ref': '#/definitions/ResolveCharms'},
7519 'Result': {'$ref': '#/definitions/ResolveCharmResults'}},
7521 'Resolved': {'properties': {'Params': {'$ref': '#/definitions/Resolved'}},
7523 'RetryProvisioning': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
7524 'Result': {'$ref': '#/definitions/ErrorResults'}},
7526 'SetModelAgentVersion': {'properties': {'Params': {'$ref': '#/definitions/SetModelAgentVersion'}},
7528 'SetModelConstraints': {'properties': {'Params': {'$ref': '#/definitions/SetConstraints'}},
7530 'StatusHistory': {'properties': {'Params': {'$ref': '#/definitions/StatusHistoryArgs'},
7531 'Result': {'$ref': '#/definitions/StatusHistoryResults'}},
7533 'WatchAll': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherId'}},
7538 @ReturnMapping(APIHostPortsResult
)
7539 async def APIHostPorts(self
):
7542 Returns -> typing.Sequence[~HostPort]
7544 # map input types to rpc msg
7546 msg
= dict(Type
='Client', Request
='APIHostPorts', Version
=1, Params
=params
)
7548 reply
= await self
.rpc(msg
)
7553 @ReturnMapping(None)
7554 async def AbortCurrentUpgrade(self
):
7559 # map input types to rpc msg
7561 msg
= dict(Type
='Client', Request
='AbortCurrentUpgrade', Version
=1, Params
=params
)
7563 reply
= await self
.rpc(msg
)
7568 @ReturnMapping(None)
7569 async def AddCharm(self
, channel
, url
):
7575 # map input types to rpc msg
7577 msg
= dict(Type
='Client', Request
='AddCharm', Version
=1, Params
=params
)
7578 params
['Channel'] = channel
7580 reply
= await self
.rpc(msg
)
7585 @ReturnMapping(None)
7586 async def AddCharmWithAuthorization(self
, channel
, charmstoremacaroon
, url
):
7589 charmstoremacaroon : Macaroon
7593 # map input types to rpc msg
7595 msg
= dict(Type
='Client', Request
='AddCharmWithAuthorization', Version
=1, Params
=params
)
7596 params
['Channel'] = channel
7597 params
['CharmStoreMacaroon'] = charmstoremacaroon
7599 reply
= await self
.rpc(msg
)
7604 @ReturnMapping(AddMachinesResults
)
7605 async def AddMachines(self
, machineparams
):
7607 machineparams : typing.Sequence[~AddMachineParams]
7608 Returns -> typing.Sequence[~AddMachinesResult]
7610 # map input types to rpc msg
7612 msg
= dict(Type
='Client', Request
='AddMachines', Version
=1, Params
=params
)
7613 params
['MachineParams'] = machineparams
7614 reply
= await self
.rpc(msg
)
7619 @ReturnMapping(AddMachinesResults
)
7620 async def AddMachinesV2(self
, machineparams
):
7622 machineparams : typing.Sequence[~AddMachineParams]
7623 Returns -> typing.Sequence[~AddMachinesResult]
7625 # map input types to rpc msg
7627 msg
= dict(Type
='Client', Request
='AddMachinesV2', Version
=1, Params
=params
)
7628 params
['MachineParams'] = machineparams
7629 reply
= await self
.rpc(msg
)
7634 @ReturnMapping(AgentVersionResult
)
7635 async def AgentVersion(self
):
7640 # map input types to rpc msg
7642 msg
= dict(Type
='Client', Request
='AgentVersion', Version
=1, Params
=params
)
7644 reply
= await self
.rpc(msg
)
7649 @ReturnMapping(CharmInfo
)
7650 async def CharmInfo(self
, charmurl
):
7655 # map input types to rpc msg
7657 msg
= dict(Type
='Client', Request
='CharmInfo', Version
=1, Params
=params
)
7658 params
['CharmURL'] = charmurl
7659 reply
= await self
.rpc(msg
)
7664 @ReturnMapping(None)
7665 async def DestroyMachines(self
, force
, machinenames
):
7668 machinenames : typing.Sequence[str]
7671 # map input types to rpc msg
7673 msg
= dict(Type
='Client', Request
='DestroyMachines', Version
=1, Params
=params
)
7674 params
['Force'] = force
7675 params
['MachineNames'] = machinenames
7676 reply
= await self
.rpc(msg
)
7681 @ReturnMapping(None)
7682 async def DestroyModel(self
):
7687 # map input types to rpc msg
7689 msg
= dict(Type
='Client', Request
='DestroyModel', Version
=1, Params
=params
)
7691 reply
= await self
.rpc(msg
)
7696 @ReturnMapping(FindToolsResult
)
7697 async def FindTools(self
, arch
, majorversion
, minorversion
, number
, series
):
7704 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[~Tools]]
7706 # map input types to rpc msg
7708 msg
= dict(Type
='Client', Request
='FindTools', Version
=1, Params
=params
)
7709 params
['Arch'] = arch
7710 params
['MajorVersion'] = majorversion
7711 params
['MinorVersion'] = minorversion
7712 params
['Number'] = number
7713 params
['Series'] = series
7714 reply
= await self
.rpc(msg
)
7719 @ReturnMapping(FullStatus
)
7720 async def FullStatus(self
, patterns
):
7722 patterns : typing.Sequence[str]
7723 Returns -> typing.Union[typing.Sequence[~RelationStatus], typing.Mapping[str, ~ServiceStatus]]
7725 # map input types to rpc msg
7727 msg
= dict(Type
='Client', Request
='FullStatus', Version
=1, Params
=params
)
7728 params
['Patterns'] = patterns
7729 reply
= await self
.rpc(msg
)
7734 @ReturnMapping(GetBundleChangesResults
)
7735 async def GetBundleChanges(self
, yaml
):
7738 Returns -> typing.Sequence[~BundleChangesChange]
7740 # map input types to rpc msg
7742 msg
= dict(Type
='Client', Request
='GetBundleChanges', Version
=1, Params
=params
)
7743 params
['yaml'] = yaml
7744 reply
= await self
.rpc(msg
)
7749 @ReturnMapping(GetConstraintsResults
)
7750 async def GetModelConstraints(self
):
7755 # map input types to rpc msg
7757 msg
= dict(Type
='Client', Request
='GetModelConstraints', Version
=1, Params
=params
)
7759 reply
= await self
.rpc(msg
)
7764 @ReturnMapping(AddMachinesResults
)
7765 async def InjectMachines(self
, machineparams
):
7767 machineparams : typing.Sequence[~AddMachineParams]
7768 Returns -> typing.Sequence[~AddMachinesResult]
7770 # map input types to rpc msg
7772 msg
= dict(Type
='Client', Request
='InjectMachines', Version
=1, Params
=params
)
7773 params
['MachineParams'] = machineparams
7774 reply
= await self
.rpc(msg
)
7779 @ReturnMapping(ModelConfigResults
)
7780 async def ModelGet(self
):
7783 Returns -> typing.Mapping[str, typing.Any]
7785 # map input types to rpc msg
7787 msg
= dict(Type
='Client', Request
='ModelGet', Version
=1, Params
=params
)
7789 reply
= await self
.rpc(msg
)
7794 @ReturnMapping(ModelInfo
)
7795 async def ModelInfo(self
):
7798 Returns -> typing.Union[_ForwardRef('EntityStatus'), typing.Sequence[~ModelUserInfo]]
7800 # map input types to rpc msg
7802 msg
= dict(Type
='Client', Request
='ModelInfo', Version
=1, Params
=params
)
7804 reply
= await self
.rpc(msg
)
7809 @ReturnMapping(None)
7810 async def ModelSet(self
, config
):
7812 config : typing.Mapping[str, typing.Any]
7815 # map input types to rpc msg
7817 msg
= dict(Type
='Client', Request
='ModelSet', Version
=1, Params
=params
)
7818 params
['Config'] = config
7819 reply
= await self
.rpc(msg
)
7824 @ReturnMapping(None)
7825 async def ModelUnset(self
, keys
):
7827 keys : typing.Sequence[str]
7830 # map input types to rpc msg
7832 msg
= dict(Type
='Client', Request
='ModelUnset', Version
=1, Params
=params
)
7833 params
['Keys'] = keys
7834 reply
= await self
.rpc(msg
)
7839 @ReturnMapping(ModelUserInfoResults
)
7840 async def ModelUserInfo(self
):
7843 Returns -> typing.Sequence[~ModelUserInfoResult]
7845 # map input types to rpc msg
7847 msg
= dict(Type
='Client', Request
='ModelUserInfo', Version
=1, Params
=params
)
7849 reply
= await self
.rpc(msg
)
7854 @ReturnMapping(PrivateAddressResults
)
7855 async def PrivateAddress(self
, target
):
7860 # map input types to rpc msg
7862 msg
= dict(Type
='Client', Request
='PrivateAddress', Version
=1, Params
=params
)
7863 params
['Target'] = target
7864 reply
= await self
.rpc(msg
)
7869 @ReturnMapping(ProvisioningScriptResult
)
7870 async def ProvisioningScript(self
, datadir
, disablepackagecommands
, machineid
, nonce
):
7873 disablepackagecommands : bool
7878 # map input types to rpc msg
7880 msg
= dict(Type
='Client', Request
='ProvisioningScript', Version
=1, Params
=params
)
7881 params
['DataDir'] = datadir
7882 params
['DisablePackageCommands'] = disablepackagecommands
7883 params
['MachineId'] = machineid
7884 params
['Nonce'] = nonce
7885 reply
= await self
.rpc(msg
)
7890 @ReturnMapping(PublicAddressResults
)
7891 async def PublicAddress(self
, target
):
7896 # map input types to rpc msg
7898 msg
= dict(Type
='Client', Request
='PublicAddress', Version
=1, Params
=params
)
7899 params
['Target'] = target
7900 reply
= await self
.rpc(msg
)
7905 @ReturnMapping(ResolveCharmResults
)
7906 async def ResolveCharms(self
, references
):
7908 references : typing.Sequence[~URL]
7909 Returns -> typing.Sequence[~ResolveCharmResult]
7911 # map input types to rpc msg
7913 msg
= dict(Type
='Client', Request
='ResolveCharms', Version
=1, Params
=params
)
7914 params
['References'] = references
7915 reply
= await self
.rpc(msg
)
7920 @ReturnMapping(None)
7921 async def Resolved(self
, retry
, unitname
):
7927 # map input types to rpc msg
7929 msg
= dict(Type
='Client', Request
='Resolved', Version
=1, Params
=params
)
7930 params
['Retry'] = retry
7931 params
['UnitName'] = unitname
7932 reply
= await self
.rpc(msg
)
7937 @ReturnMapping(ErrorResults
)
7938 async def RetryProvisioning(self
, entities
):
7940 entities : typing.Sequence[~Entity]
7941 Returns -> typing.Sequence[~ErrorResult]
7943 # map input types to rpc msg
7945 msg
= dict(Type
='Client', Request
='RetryProvisioning', Version
=1, Params
=params
)
7946 params
['Entities'] = entities
7947 reply
= await self
.rpc(msg
)
7952 @ReturnMapping(None)
7953 async def SetModelAgentVersion(self
, build
, major
, minor
, patch
, tag
):
7962 # map input types to rpc msg
7964 msg
= dict(Type
='Client', Request
='SetModelAgentVersion', Version
=1, Params
=params
)
7965 params
['Build'] = build
7966 params
['Major'] = major
7967 params
['Minor'] = minor
7968 params
['Patch'] = patch
7970 reply
= await self
.rpc(msg
)
7975 @ReturnMapping(None)
7976 async def SetModelConstraints(self
, constraints
, servicename
):
7982 # map input types to rpc msg
7984 msg
= dict(Type
='Client', Request
='SetModelConstraints', Version
=1, Params
=params
)
7985 params
['Constraints'] = constraints
7986 params
['ServiceName'] = servicename
7987 reply
= await self
.rpc(msg
)
7992 @ReturnMapping(StatusHistoryResults
)
7993 async def StatusHistory(self
, kind
, name
, size
):
7998 Returns -> typing.Sequence[~DetailedStatus]
8000 # map input types to rpc msg
8002 msg
= dict(Type
='Client', Request
='StatusHistory', Version
=1, Params
=params
)
8003 params
['Kind'] = kind
8004 params
['Name'] = name
8005 params
['Size'] = size
8006 reply
= await self
.rpc(msg
)
8011 @ReturnMapping(AllWatcherId
)
8012 async def WatchAll(self
):
8017 # map input types to rpc msg
8019 msg
= dict(Type
='Client', Request
='WatchAll', Version
=1, Params
=params
)
8021 reply
= await self
.rpc(msg
)
8025 class Controller(Type
):
8028 schema
= {'definitions': {'AllWatcherId': {'additionalProperties': False,
8029 'properties': {'AllWatcherId': {'type': 'string'}},
8030 'required': ['AllWatcherId'],
8032 'DestroyControllerArgs': {'additionalProperties': False,
8033 'properties': {'destroy-models': {'type': 'boolean'}},
8034 'required': ['destroy-models'],
8036 'Entities': {'additionalProperties': False,
8037 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
8039 'required': ['Entities'],
8041 'Entity': {'additionalProperties': False,
8042 'properties': {'Tag': {'type': 'string'}},
8043 'required': ['Tag'],
8045 'Error': {'additionalProperties': False,
8046 'properties': {'Code': {'type': 'string'},
8047 'Info': {'$ref': '#/definitions/ErrorInfo'},
8048 'Message': {'type': 'string'}},
8049 'required': ['Message', 'Code'],
8051 'ErrorInfo': {'additionalProperties': False,
8052 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
8053 'MacaroonPath': {'type': 'string'}},
8055 'InitiateModelMigrationArgs': {'additionalProperties': False,
8056 'properties': {'specs': {'items': {'$ref': '#/definitions/ModelMigrationSpec'},
8058 'required': ['specs'],
8060 'InitiateModelMigrationResult': {'additionalProperties': False,
8061 'properties': {'error': {'$ref': '#/definitions/Error'},
8062 'id': {'type': 'string'},
8063 'model-tag': {'type': 'string'}},
8064 'required': ['model-tag',
8068 'InitiateModelMigrationResults': {'additionalProperties': False,
8069 'properties': {'results': {'items': {'$ref': '#/definitions/InitiateModelMigrationResult'},
8071 'required': ['results'],
8073 'Macaroon': {'additionalProperties': False,
8074 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
8076 'data': {'items': {'type': 'integer'},
8078 'id': {'$ref': '#/definitions/packet'},
8079 'location': {'$ref': '#/definitions/packet'},
8080 'sig': {'items': {'type': 'integer'},
8082 'required': ['data',
8088 'Model': {'additionalProperties': False,
8089 'properties': {'Name': {'type': 'string'},
8090 'OwnerTag': {'type': 'string'},
8091 'UUID': {'type': 'string'}},
8092 'required': ['Name', 'UUID', 'OwnerTag'],
8094 'ModelBlockInfo': {'additionalProperties': False,
8095 'properties': {'blocks': {'items': {'type': 'string'},
8097 'model-uuid': {'type': 'string'},
8098 'name': {'type': 'string'},
8099 'owner-tag': {'type': 'string'}},
8100 'required': ['name',
8105 'ModelBlockInfoList': {'additionalProperties': False,
8106 'properties': {'models': {'items': {'$ref': '#/definitions/ModelBlockInfo'},
8109 'ModelConfigResults': {'additionalProperties': False,
8110 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
8113 'required': ['Config'],
8115 'ModelMigrationSpec': {'additionalProperties': False,
8116 'properties': {'model-tag': {'type': 'string'},
8117 'target-info': {'$ref': '#/definitions/ModelMigrationTargetInfo'}},
8118 'required': ['model-tag',
8121 'ModelMigrationTargetInfo': {'additionalProperties': False,
8122 'properties': {'addrs': {'items': {'type': 'string'},
8124 'auth-tag': {'type': 'string'},
8125 'ca-cert': {'type': 'string'},
8126 'controller-tag': {'type': 'string'},
8127 'password': {'type': 'string'}},
8128 'required': ['controller-tag',
8134 'ModelStatus': {'additionalProperties': False,
8135 'properties': {'hosted-machine-count': {'type': 'integer'},
8136 'life': {'type': 'string'},
8137 'model-tag': {'type': 'string'},
8138 'owner-tag': {'type': 'string'},
8139 'service-count': {'type': 'integer'}},
8140 'required': ['model-tag',
8142 'hosted-machine-count',
8146 'ModelStatusResults': {'additionalProperties': False,
8147 'properties': {'models': {'items': {'$ref': '#/definitions/ModelStatus'},
8149 'required': ['models'],
8151 'RemoveBlocksArgs': {'additionalProperties': False,
8152 'properties': {'all': {'type': 'boolean'}},
8153 'required': ['all'],
8155 'UserModel': {'additionalProperties': False,
8156 'properties': {'LastConnection': {'format': 'date-time',
8158 'Model': {'$ref': '#/definitions/Model'}},
8159 'required': ['Model', 'LastConnection'],
8161 'UserModelList': {'additionalProperties': False,
8162 'properties': {'UserModels': {'items': {'$ref': '#/definitions/UserModel'},
8164 'required': ['UserModels'],
8166 'caveat': {'additionalProperties': False,
8167 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
8168 'location': {'$ref': '#/definitions/packet'},
8169 'verificationId': {'$ref': '#/definitions/packet'}},
8170 'required': ['location',
8174 'packet': {'additionalProperties': False,
8175 'properties': {'headerLen': {'type': 'integer'},
8176 'start': {'type': 'integer'},
8177 'totalLen': {'type': 'integer'}},
8178 'required': ['start', 'totalLen', 'headerLen'],
8180 'properties': {'AllModels': {'properties': {'Result': {'$ref': '#/definitions/UserModelList'}},
8182 'DestroyController': {'properties': {'Params': {'$ref': '#/definitions/DestroyControllerArgs'}},
8184 'InitiateModelMigration': {'properties': {'Params': {'$ref': '#/definitions/InitiateModelMigrationArgs'},
8185 'Result': {'$ref': '#/definitions/InitiateModelMigrationResults'}},
8187 'ListBlockedModels': {'properties': {'Result': {'$ref': '#/definitions/ModelBlockInfoList'}},
8189 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResults'}},
8191 'ModelStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
8192 'Result': {'$ref': '#/definitions/ModelStatusResults'}},
8194 'RemoveBlocks': {'properties': {'Params': {'$ref': '#/definitions/RemoveBlocksArgs'}},
8196 'WatchAllModels': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherId'}},
8201 @ReturnMapping(UserModelList
)
8202 async def AllModels(self
):
8205 Returns -> typing.Sequence[~UserModel]
8207 # map input types to rpc msg
8209 msg
= dict(Type
='Controller', Request
='AllModels', Version
=2, Params
=params
)
8211 reply
= await self
.rpc(msg
)
8216 @ReturnMapping(None)
8217 async def DestroyController(self
, destroy_models
):
8219 destroy_models : bool
8222 # map input types to rpc msg
8224 msg
= dict(Type
='Controller', Request
='DestroyController', Version
=2, Params
=params
)
8225 params
['destroy-models'] = destroy_models
8226 reply
= await self
.rpc(msg
)
8231 @ReturnMapping(InitiateModelMigrationResults
)
8232 async def InitiateModelMigration(self
, specs
):
8234 specs : typing.Sequence[~ModelMigrationSpec]
8235 Returns -> typing.Sequence[~InitiateModelMigrationResult]
8237 # map input types to rpc msg
8239 msg
= dict(Type
='Controller', Request
='InitiateModelMigration', Version
=2, Params
=params
)
8240 params
['specs'] = specs
8241 reply
= await self
.rpc(msg
)
8246 @ReturnMapping(ModelBlockInfoList
)
8247 async def ListBlockedModels(self
):
8250 Returns -> typing.Sequence[~ModelBlockInfo]
8252 # map input types to rpc msg
8254 msg
= dict(Type
='Controller', Request
='ListBlockedModels', Version
=2, Params
=params
)
8256 reply
= await self
.rpc(msg
)
8261 @ReturnMapping(ModelConfigResults
)
8262 async def ModelConfig(self
):
8265 Returns -> typing.Mapping[str, typing.Any]
8267 # map input types to rpc msg
8269 msg
= dict(Type
='Controller', Request
='ModelConfig', Version
=2, Params
=params
)
8271 reply
= await self
.rpc(msg
)
8276 @ReturnMapping(ModelStatusResults
)
8277 async def ModelStatus(self
, entities
):
8279 entities : typing.Sequence[~Entity]
8280 Returns -> typing.Sequence[~ModelStatus]
8282 # map input types to rpc msg
8284 msg
= dict(Type
='Controller', Request
='ModelStatus', Version
=2, Params
=params
)
8285 params
['Entities'] = entities
8286 reply
= await self
.rpc(msg
)
8291 @ReturnMapping(None)
8292 async def RemoveBlocks(self
, all_
):
8297 # map input types to rpc msg
8299 msg
= dict(Type
='Controller', Request
='RemoveBlocks', Version
=2, Params
=params
)
8300 params
['all'] = all_
8301 reply
= await self
.rpc(msg
)
8306 @ReturnMapping(AllWatcherId
)
8307 async def WatchAllModels(self
):
8312 # map input types to rpc msg
8314 msg
= dict(Type
='Controller', Request
='WatchAllModels', Version
=2, Params
=params
)
8316 reply
= await self
.rpc(msg
)
8320 class Deployer(Type
):
8323 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
8324 'properties': {'Servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
8327 'required': ['Servers'],
8329 'Address': {'additionalProperties': False,
8330 'properties': {'Scope': {'type': 'string'},
8331 'SpaceName': {'type': 'string'},
8332 'Type': {'type': 'string'},
8333 'Value': {'type': 'string'}},
8334 'required': ['Value', 'Type', 'Scope'],
8336 'BytesResult': {'additionalProperties': False,
8337 'properties': {'Result': {'items': {'type': 'integer'},
8339 'required': ['Result'],
8341 'DeployerConnectionValues': {'additionalProperties': False,
8342 'properties': {'APIAddresses': {'items': {'type': 'string'},
8344 'StateAddresses': {'items': {'type': 'string'},
8346 'required': ['StateAddresses',
8349 'Entities': {'additionalProperties': False,
8350 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
8352 'required': ['Entities'],
8354 'Entity': {'additionalProperties': False,
8355 'properties': {'Tag': {'type': 'string'}},
8356 'required': ['Tag'],
8358 'EntityPassword': {'additionalProperties': False,
8359 'properties': {'Password': {'type': 'string'},
8360 'Tag': {'type': 'string'}},
8361 'required': ['Tag', 'Password'],
8363 'EntityPasswords': {'additionalProperties': False,
8364 'properties': {'Changes': {'items': {'$ref': '#/definitions/EntityPassword'},
8366 'required': ['Changes'],
8368 'Error': {'additionalProperties': False,
8369 'properties': {'Code': {'type': 'string'},
8370 'Info': {'$ref': '#/definitions/ErrorInfo'},
8371 'Message': {'type': 'string'}},
8372 'required': ['Message', 'Code'],
8374 'ErrorInfo': {'additionalProperties': False,
8375 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
8376 'MacaroonPath': {'type': 'string'}},
8378 'ErrorResult': {'additionalProperties': False,
8379 'properties': {'Error': {'$ref': '#/definitions/Error'}},
8380 'required': ['Error'],
8382 'ErrorResults': {'additionalProperties': False,
8383 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
8385 'required': ['Results'],
8387 'HostPort': {'additionalProperties': False,
8388 'properties': {'Address': {'$ref': '#/definitions/Address'},
8389 'Port': {'type': 'integer'}},
8390 'required': ['Address', 'Port'],
8392 'LifeResult': {'additionalProperties': False,
8393 'properties': {'Error': {'$ref': '#/definitions/Error'},
8394 'Life': {'type': 'string'}},
8395 'required': ['Life', 'Error'],
8397 'LifeResults': {'additionalProperties': False,
8398 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
8400 'required': ['Results'],
8402 'Macaroon': {'additionalProperties': False,
8403 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
8405 'data': {'items': {'type': 'integer'},
8407 'id': {'$ref': '#/definitions/packet'},
8408 'location': {'$ref': '#/definitions/packet'},
8409 'sig': {'items': {'type': 'integer'},
8411 'required': ['data',
8417 'NotifyWatchResult': {'additionalProperties': False,
8418 'properties': {'Error': {'$ref': '#/definitions/Error'},
8419 'NotifyWatcherId': {'type': 'string'}},
8420 'required': ['NotifyWatcherId', 'Error'],
8422 'StringResult': {'additionalProperties': False,
8423 'properties': {'Error': {'$ref': '#/definitions/Error'},
8424 'Result': {'type': 'string'}},
8425 'required': ['Error', 'Result'],
8427 'StringsResult': {'additionalProperties': False,
8428 'properties': {'Error': {'$ref': '#/definitions/Error'},
8429 'Result': {'items': {'type': 'string'},
8431 'required': ['Error', 'Result'],
8433 'StringsWatchResult': {'additionalProperties': False,
8434 'properties': {'Changes': {'items': {'type': 'string'},
8436 'Error': {'$ref': '#/definitions/Error'},
8437 'StringsWatcherId': {'type': 'string'}},
8438 'required': ['StringsWatcherId',
8442 'StringsWatchResults': {'additionalProperties': False,
8443 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
8445 'required': ['Results'],
8447 'caveat': {'additionalProperties': False,
8448 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
8449 'location': {'$ref': '#/definitions/packet'},
8450 'verificationId': {'$ref': '#/definitions/packet'}},
8451 'required': ['location',
8455 'packet': {'additionalProperties': False,
8456 'properties': {'headerLen': {'type': 'integer'},
8457 'start': {'type': 'integer'},
8458 'totalLen': {'type': 'integer'}},
8459 'required': ['start', 'totalLen', 'headerLen'],
8461 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
8463 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
8465 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
8467 'ConnectionInfo': {'properties': {'Result': {'$ref': '#/definitions/DeployerConnectionValues'}},
8469 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
8470 'Result': {'$ref': '#/definitions/LifeResults'}},
8472 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
8474 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
8475 'Result': {'$ref': '#/definitions/ErrorResults'}},
8477 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
8478 'Result': {'$ref': '#/definitions/ErrorResults'}},
8480 'StateAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
8482 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
8484 'WatchUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
8485 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
8490 @ReturnMapping(StringsResult
)
8491 async def APIAddresses(self
):
8494 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
8496 # map input types to rpc msg
8498 msg
= dict(Type
='Deployer', Request
='APIAddresses', Version
=1, Params
=params
)
8500 reply
= await self
.rpc(msg
)
8505 @ReturnMapping(APIHostPortsResult
)
8506 async def APIHostPorts(self
):
8509 Returns -> typing.Sequence[~HostPort]
8511 # map input types to rpc msg
8513 msg
= dict(Type
='Deployer', Request
='APIHostPorts', Version
=1, Params
=params
)
8515 reply
= await self
.rpc(msg
)
8520 @ReturnMapping(BytesResult
)
8521 async def CACert(self
):
8524 Returns -> typing.Sequence[int]
8526 # map input types to rpc msg
8528 msg
= dict(Type
='Deployer', Request
='CACert', Version
=1, Params
=params
)
8530 reply
= await self
.rpc(msg
)
8535 @ReturnMapping(DeployerConnectionValues
)
8536 async def ConnectionInfo(self
):
8539 Returns -> typing.Sequence[str]
8541 # map input types to rpc msg
8543 msg
= dict(Type
='Deployer', Request
='ConnectionInfo', Version
=1, Params
=params
)
8545 reply
= await self
.rpc(msg
)
8550 @ReturnMapping(LifeResults
)
8551 async def Life(self
, entities
):
8553 entities : typing.Sequence[~Entity]
8554 Returns -> typing.Sequence[~LifeResult]
8556 # map input types to rpc msg
8558 msg
= dict(Type
='Deployer', Request
='Life', Version
=1, Params
=params
)
8559 params
['Entities'] = entities
8560 reply
= await self
.rpc(msg
)
8565 @ReturnMapping(StringResult
)
8566 async def ModelUUID(self
):
8569 Returns -> typing.Union[_ForwardRef('Error'), str]
8571 # map input types to rpc msg
8573 msg
= dict(Type
='Deployer', Request
='ModelUUID', Version
=1, Params
=params
)
8575 reply
= await self
.rpc(msg
)
8580 @ReturnMapping(ErrorResults
)
8581 async def Remove(self
, entities
):
8583 entities : typing.Sequence[~Entity]
8584 Returns -> typing.Sequence[~ErrorResult]
8586 # map input types to rpc msg
8588 msg
= dict(Type
='Deployer', Request
='Remove', Version
=1, Params
=params
)
8589 params
['Entities'] = entities
8590 reply
= await self
.rpc(msg
)
8595 @ReturnMapping(ErrorResults
)
8596 async def SetPasswords(self
, changes
):
8598 changes : typing.Sequence[~EntityPassword]
8599 Returns -> typing.Sequence[~ErrorResult]
8601 # map input types to rpc msg
8603 msg
= dict(Type
='Deployer', Request
='SetPasswords', Version
=1, Params
=params
)
8604 params
['Changes'] = changes
8605 reply
= await self
.rpc(msg
)
8610 @ReturnMapping(StringsResult
)
8611 async def StateAddresses(self
):
8614 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
8616 # map input types to rpc msg
8618 msg
= dict(Type
='Deployer', Request
='StateAddresses', Version
=1, Params
=params
)
8620 reply
= await self
.rpc(msg
)
8625 @ReturnMapping(NotifyWatchResult
)
8626 async def WatchAPIHostPorts(self
):
8629 Returns -> typing.Union[_ForwardRef('Error'), str]
8631 # map input types to rpc msg
8633 msg
= dict(Type
='Deployer', Request
='WatchAPIHostPorts', Version
=1, Params
=params
)
8635 reply
= await self
.rpc(msg
)
8640 @ReturnMapping(StringsWatchResults
)
8641 async def WatchUnits(self
, entities
):
8643 entities : typing.Sequence[~Entity]
8644 Returns -> typing.Sequence[~StringsWatchResult]
8646 # map input types to rpc msg
8648 msg
= dict(Type
='Deployer', Request
='WatchUnits', Version
=1, Params
=params
)
8649 params
['Entities'] = entities
8650 reply
= await self
.rpc(msg
)
8654 class DiscoverSpaces(Type
):
8655 name
= 'DiscoverSpaces'
8657 schema
= {'definitions': {'AddSubnetParams': {'additionalProperties': False,
8658 'properties': {'SpaceTag': {'type': 'string'},
8659 'SubnetProviderId': {'type': 'string'},
8660 'SubnetTag': {'type': 'string'},
8661 'Zones': {'items': {'type': 'string'},
8663 'required': ['SpaceTag'],
8665 'AddSubnetsParams': {'additionalProperties': False,
8666 'properties': {'Subnets': {'items': {'$ref': '#/definitions/AddSubnetParams'},
8668 'required': ['Subnets'],
8670 'CreateSpaceParams': {'additionalProperties': False,
8671 'properties': {'ProviderId': {'type': 'string'},
8672 'Public': {'type': 'boolean'},
8673 'SpaceTag': {'type': 'string'},
8674 'SubnetTags': {'items': {'type': 'string'},
8676 'required': ['SubnetTags',
8680 'CreateSpacesParams': {'additionalProperties': False,
8681 'properties': {'Spaces': {'items': {'$ref': '#/definitions/CreateSpaceParams'},
8683 'required': ['Spaces'],
8685 'DiscoverSpacesResults': {'additionalProperties': False,
8686 'properties': {'Results': {'items': {'$ref': '#/definitions/ProviderSpace'},
8688 'required': ['Results'],
8690 'Error': {'additionalProperties': False,
8691 'properties': {'Code': {'type': 'string'},
8692 'Info': {'$ref': '#/definitions/ErrorInfo'},
8693 'Message': {'type': 'string'}},
8694 'required': ['Message', 'Code'],
8696 'ErrorInfo': {'additionalProperties': False,
8697 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
8698 'MacaroonPath': {'type': 'string'}},
8700 'ErrorResult': {'additionalProperties': False,
8701 'properties': {'Error': {'$ref': '#/definitions/Error'}},
8702 'required': ['Error'],
8704 'ErrorResults': {'additionalProperties': False,
8705 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
8707 'required': ['Results'],
8709 'ListSubnetsResults': {'additionalProperties': False,
8710 'properties': {'Results': {'items': {'$ref': '#/definitions/Subnet'},
8712 'required': ['Results'],
8714 'Macaroon': {'additionalProperties': False,
8715 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
8717 'data': {'items': {'type': 'integer'},
8719 'id': {'$ref': '#/definitions/packet'},
8720 'location': {'$ref': '#/definitions/packet'},
8721 'sig': {'items': {'type': 'integer'},
8723 'required': ['data',
8729 'ModelConfigResult': {'additionalProperties': False,
8730 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
8733 'required': ['Config'],
8735 'ProviderSpace': {'additionalProperties': False,
8736 'properties': {'Error': {'$ref': '#/definitions/Error'},
8737 'Name': {'type': 'string'},
8738 'ProviderId': {'type': 'string'},
8739 'Subnets': {'items': {'$ref': '#/definitions/Subnet'},
8741 'required': ['Name',
8745 'Subnet': {'additionalProperties': False,
8746 'properties': {'CIDR': {'type': 'string'},
8747 'Life': {'type': 'string'},
8748 'ProviderId': {'type': 'string'},
8749 'SpaceTag': {'type': 'string'},
8750 'StaticRangeHighIP': {'items': {'type': 'integer'},
8752 'StaticRangeLowIP': {'items': {'type': 'integer'},
8754 'Status': {'type': 'string'},
8755 'VLANTag': {'type': 'integer'},
8756 'Zones': {'items': {'type': 'string'},
8758 'required': ['CIDR',
8764 'SubnetsFilters': {'additionalProperties': False,
8765 'properties': {'SpaceTag': {'type': 'string'},
8766 'Zone': {'type': 'string'}},
8768 'caveat': {'additionalProperties': False,
8769 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
8770 'location': {'$ref': '#/definitions/packet'},
8771 'verificationId': {'$ref': '#/definitions/packet'}},
8772 'required': ['location',
8776 'packet': {'additionalProperties': False,
8777 'properties': {'headerLen': {'type': 'integer'},
8778 'start': {'type': 'integer'},
8779 'totalLen': {'type': 'integer'}},
8780 'required': ['start', 'totalLen', 'headerLen'],
8782 'properties': {'AddSubnets': {'properties': {'Params': {'$ref': '#/definitions/AddSubnetsParams'},
8783 'Result': {'$ref': '#/definitions/ErrorResults'}},
8785 'CreateSpaces': {'properties': {'Params': {'$ref': '#/definitions/CreateSpacesParams'},
8786 'Result': {'$ref': '#/definitions/ErrorResults'}},
8788 'ListSpaces': {'properties': {'Result': {'$ref': '#/definitions/DiscoverSpacesResults'}},
8790 'ListSubnets': {'properties': {'Params': {'$ref': '#/definitions/SubnetsFilters'},
8791 'Result': {'$ref': '#/definitions/ListSubnetsResults'}},
8793 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
8798 @ReturnMapping(ErrorResults
)
8799 async def AddSubnets(self
, subnets
):
8801 subnets : typing.Sequence[~AddSubnetParams]
8802 Returns -> typing.Sequence[~ErrorResult]
8804 # map input types to rpc msg
8806 msg
= dict(Type
='DiscoverSpaces', Request
='AddSubnets', Version
=2, Params
=params
)
8807 params
['Subnets'] = subnets
8808 reply
= await self
.rpc(msg
)
8813 @ReturnMapping(ErrorResults
)
8814 async def CreateSpaces(self
, spaces
):
8816 spaces : typing.Sequence[~CreateSpaceParams]
8817 Returns -> typing.Sequence[~ErrorResult]
8819 # map input types to rpc msg
8821 msg
= dict(Type
='DiscoverSpaces', Request
='CreateSpaces', Version
=2, Params
=params
)
8822 params
['Spaces'] = spaces
8823 reply
= await self
.rpc(msg
)
8828 @ReturnMapping(DiscoverSpacesResults
)
8829 async def ListSpaces(self
):
8832 Returns -> typing.Sequence[~ProviderSpace]
8834 # map input types to rpc msg
8836 msg
= dict(Type
='DiscoverSpaces', Request
='ListSpaces', Version
=2, Params
=params
)
8838 reply
= await self
.rpc(msg
)
8843 @ReturnMapping(ListSubnetsResults
)
8844 async def ListSubnets(self
, spacetag
, zone
):
8848 Returns -> typing.Sequence[~Subnet]
8850 # map input types to rpc msg
8852 msg
= dict(Type
='DiscoverSpaces', Request
='ListSubnets', Version
=2, Params
=params
)
8853 params
['SpaceTag'] = spacetag
8854 params
['Zone'] = zone
8855 reply
= await self
.rpc(msg
)
8860 @ReturnMapping(ModelConfigResult
)
8861 async def ModelConfig(self
):
8864 Returns -> typing.Mapping[str, typing.Any]
8866 # map input types to rpc msg
8868 msg
= dict(Type
='DiscoverSpaces', Request
='ModelConfig', Version
=2, Params
=params
)
8870 reply
= await self
.rpc(msg
)
8874 class DiskManager(Type
):
8875 name
= 'DiskManager'
8877 schema
= {'definitions': {'BlockDevice': {'additionalProperties': False,
8878 'properties': {'BusAddress': {'type': 'string'},
8879 'DeviceLinks': {'items': {'type': 'string'},
8881 'DeviceName': {'type': 'string'},
8882 'FilesystemType': {'type': 'string'},
8883 'HardwareId': {'type': 'string'},
8884 'InUse': {'type': 'boolean'},
8885 'Label': {'type': 'string'},
8886 'MountPoint': {'type': 'string'},
8887 'Size': {'type': 'integer'},
8888 'UUID': {'type': 'string'}},
8889 'required': ['DeviceName',
8900 'Error': {'additionalProperties': False,
8901 'properties': {'Code': {'type': 'string'},
8902 'Info': {'$ref': '#/definitions/ErrorInfo'},
8903 'Message': {'type': 'string'}},
8904 'required': ['Message', 'Code'],
8906 'ErrorInfo': {'additionalProperties': False,
8907 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
8908 'MacaroonPath': {'type': 'string'}},
8910 'ErrorResult': {'additionalProperties': False,
8911 'properties': {'Error': {'$ref': '#/definitions/Error'}},
8912 'required': ['Error'],
8914 'ErrorResults': {'additionalProperties': False,
8915 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
8917 'required': ['Results'],
8919 'Macaroon': {'additionalProperties': False,
8920 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
8922 'data': {'items': {'type': 'integer'},
8924 'id': {'$ref': '#/definitions/packet'},
8925 'location': {'$ref': '#/definitions/packet'},
8926 'sig': {'items': {'type': 'integer'},
8928 'required': ['data',
8934 'MachineBlockDevices': {'additionalProperties': False,
8935 'properties': {'blockdevices': {'items': {'$ref': '#/definitions/BlockDevice'},
8937 'machine': {'type': 'string'}},
8938 'required': ['machine'],
8940 'SetMachineBlockDevices': {'additionalProperties': False,
8941 'properties': {'machineblockdevices': {'items': {'$ref': '#/definitions/MachineBlockDevices'},
8943 'required': ['machineblockdevices'],
8945 'caveat': {'additionalProperties': False,
8946 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
8947 'location': {'$ref': '#/definitions/packet'},
8948 'verificationId': {'$ref': '#/definitions/packet'}},
8949 'required': ['location',
8953 'packet': {'additionalProperties': False,
8954 'properties': {'headerLen': {'type': 'integer'},
8955 'start': {'type': 'integer'},
8956 'totalLen': {'type': 'integer'}},
8957 'required': ['start', 'totalLen', 'headerLen'],
8959 'properties': {'SetMachineBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/SetMachineBlockDevices'},
8960 'Result': {'$ref': '#/definitions/ErrorResults'}},
8965 @ReturnMapping(ErrorResults
)
8966 async def SetMachineBlockDevices(self
, machineblockdevices
):
8968 machineblockdevices : typing.Sequence[~MachineBlockDevices]
8969 Returns -> typing.Sequence[~ErrorResult]
8971 # map input types to rpc msg
8973 msg
= dict(Type
='DiskManager', Request
='SetMachineBlockDevices', Version
=2, Params
=params
)
8974 params
['machineblockdevices'] = machineblockdevices
8975 reply
= await self
.rpc(msg
)
8979 class EntityWatcher(Type
):
8980 name
= 'EntityWatcher'
8982 schema
= {'definitions': {'EntitiesWatchResult': {'additionalProperties': False,
8983 'properties': {'Changes': {'items': {'type': 'string'},
8985 'EntityWatcherId': {'type': 'string'},
8986 'Error': {'$ref': '#/definitions/Error'}},
8987 'required': ['EntityWatcherId',
8991 'Error': {'additionalProperties': False,
8992 'properties': {'Code': {'type': 'string'},
8993 'Info': {'$ref': '#/definitions/ErrorInfo'},
8994 'Message': {'type': 'string'}},
8995 'required': ['Message', 'Code'],
8997 'ErrorInfo': {'additionalProperties': False,
8998 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
8999 'MacaroonPath': {'type': 'string'}},
9001 'Macaroon': {'additionalProperties': False,
9002 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
9004 'data': {'items': {'type': 'integer'},
9006 'id': {'$ref': '#/definitions/packet'},
9007 'location': {'$ref': '#/definitions/packet'},
9008 'sig': {'items': {'type': 'integer'},
9010 'required': ['data',
9016 'caveat': {'additionalProperties': False,
9017 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
9018 'location': {'$ref': '#/definitions/packet'},
9019 'verificationId': {'$ref': '#/definitions/packet'}},
9020 'required': ['location',
9024 'packet': {'additionalProperties': False,
9025 'properties': {'headerLen': {'type': 'integer'},
9026 'start': {'type': 'integer'},
9027 'totalLen': {'type': 'integer'}},
9028 'required': ['start', 'totalLen', 'headerLen'],
9030 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/EntitiesWatchResult'}},
9032 'Stop': {'type': 'object'}},
9036 @ReturnMapping(EntitiesWatchResult
)
9037 async def Next(self
):
9040 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
9042 # map input types to rpc msg
9044 msg
= dict(Type
='EntityWatcher', Request
='Next', Version
=2, Params
=params
)
9046 reply
= await self
.rpc(msg
)
9051 @ReturnMapping(None)
9052 async def Stop(self
):
9057 # map input types to rpc msg
9059 msg
= dict(Type
='EntityWatcher', Request
='Stop', Version
=2, Params
=params
)
9061 reply
= await self
.rpc(msg
)
9065 class FilesystemAttachmentsWatcher(Type
):
9066 name
= 'FilesystemAttachmentsWatcher'
9068 schema
= {'definitions': {'Error': {'additionalProperties': False,
9069 'properties': {'Code': {'type': 'string'},
9070 'Info': {'$ref': '#/definitions/ErrorInfo'},
9071 'Message': {'type': 'string'}},
9072 'required': ['Message', 'Code'],
9074 'ErrorInfo': {'additionalProperties': False,
9075 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
9076 'MacaroonPath': {'type': 'string'}},
9078 'Macaroon': {'additionalProperties': False,
9079 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
9081 'data': {'items': {'type': 'integer'},
9083 'id': {'$ref': '#/definitions/packet'},
9084 'location': {'$ref': '#/definitions/packet'},
9085 'sig': {'items': {'type': 'integer'},
9087 'required': ['data',
9093 'MachineStorageId': {'additionalProperties': False,
9094 'properties': {'attachmenttag': {'type': 'string'},
9095 'machinetag': {'type': 'string'}},
9096 'required': ['machinetag',
9099 'MachineStorageIdsWatchResult': {'additionalProperties': False,
9100 'properties': {'Changes': {'items': {'$ref': '#/definitions/MachineStorageId'},
9102 'Error': {'$ref': '#/definitions/Error'},
9103 'MachineStorageIdsWatcherId': {'type': 'string'}},
9104 'required': ['MachineStorageIdsWatcherId',
9108 'caveat': {'additionalProperties': False,
9109 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
9110 'location': {'$ref': '#/definitions/packet'},
9111 'verificationId': {'$ref': '#/definitions/packet'}},
9112 'required': ['location',
9116 'packet': {'additionalProperties': False,
9117 'properties': {'headerLen': {'type': 'integer'},
9118 'start': {'type': 'integer'},
9119 'totalLen': {'type': 'integer'}},
9120 'required': ['start', 'totalLen', 'headerLen'],
9122 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResult'}},
9124 'Stop': {'type': 'object'}},
9128 @ReturnMapping(MachineStorageIdsWatchResult
)
9129 async def Next(self
):
9132 Returns -> typing.Union[typing.Sequence[~MachineStorageId], _ForwardRef('Error')]
9134 # map input types to rpc msg
9136 msg
= dict(Type
='FilesystemAttachmentsWatcher', Request
='Next', Version
=2, Params
=params
)
9138 reply
= await self
.rpc(msg
)
9143 @ReturnMapping(None)
9144 async def Stop(self
):
9149 # map input types to rpc msg
9151 msg
= dict(Type
='FilesystemAttachmentsWatcher', Request
='Stop', Version
=2, Params
=params
)
9153 reply
= await self
.rpc(msg
)
9157 class Firewaller(Type
):
9160 schema
= {'definitions': {'BoolResult': {'additionalProperties': False,
9161 'properties': {'Error': {'$ref': '#/definitions/Error'},
9162 'Result': {'type': 'boolean'}},
9163 'required': ['Error', 'Result'],
9165 'BoolResults': {'additionalProperties': False,
9166 'properties': {'Results': {'items': {'$ref': '#/definitions/BoolResult'},
9168 'required': ['Results'],
9170 'Entities': {'additionalProperties': False,
9171 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
9173 'required': ['Entities'],
9175 'Entity': {'additionalProperties': False,
9176 'properties': {'Tag': {'type': 'string'}},
9177 'required': ['Tag'],
9179 'Error': {'additionalProperties': False,
9180 'properties': {'Code': {'type': 'string'},
9181 'Info': {'$ref': '#/definitions/ErrorInfo'},
9182 'Message': {'type': 'string'}},
9183 'required': ['Message', 'Code'],
9185 'ErrorInfo': {'additionalProperties': False,
9186 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
9187 'MacaroonPath': {'type': 'string'}},
9189 'LifeResult': {'additionalProperties': False,
9190 'properties': {'Error': {'$ref': '#/definitions/Error'},
9191 'Life': {'type': 'string'}},
9192 'required': ['Life', 'Error'],
9194 'LifeResults': {'additionalProperties': False,
9195 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
9197 'required': ['Results'],
9199 'Macaroon': {'additionalProperties': False,
9200 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
9202 'data': {'items': {'type': 'integer'},
9204 'id': {'$ref': '#/definitions/packet'},
9205 'location': {'$ref': '#/definitions/packet'},
9206 'sig': {'items': {'type': 'integer'},
9208 'required': ['data',
9214 'MachinePortRange': {'additionalProperties': False,
9215 'properties': {'PortRange': {'$ref': '#/definitions/PortRange'},
9216 'RelationTag': {'type': 'string'},
9217 'UnitTag': {'type': 'string'}},
9218 'required': ['UnitTag',
9222 'MachinePorts': {'additionalProperties': False,
9223 'properties': {'MachineTag': {'type': 'string'},
9224 'SubnetTag': {'type': 'string'}},
9225 'required': ['MachineTag', 'SubnetTag'],
9227 'MachinePortsParams': {'additionalProperties': False,
9228 'properties': {'Params': {'items': {'$ref': '#/definitions/MachinePorts'},
9230 'required': ['Params'],
9232 'MachinePortsResult': {'additionalProperties': False,
9233 'properties': {'Error': {'$ref': '#/definitions/Error'},
9234 'Ports': {'items': {'$ref': '#/definitions/MachinePortRange'},
9236 'required': ['Error', 'Ports'],
9238 'MachinePortsResults': {'additionalProperties': False,
9239 'properties': {'Results': {'items': {'$ref': '#/definitions/MachinePortsResult'},
9241 'required': ['Results'],
9243 'ModelConfigResult': {'additionalProperties': False,
9244 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
9247 'required': ['Config'],
9249 'NotifyWatchResult': {'additionalProperties': False,
9250 'properties': {'Error': {'$ref': '#/definitions/Error'},
9251 'NotifyWatcherId': {'type': 'string'}},
9252 'required': ['NotifyWatcherId', 'Error'],
9254 'NotifyWatchResults': {'additionalProperties': False,
9255 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
9257 'required': ['Results'],
9259 'PortRange': {'additionalProperties': False,
9260 'properties': {'FromPort': {'type': 'integer'},
9261 'Protocol': {'type': 'string'},
9262 'ToPort': {'type': 'integer'}},
9263 'required': ['FromPort', 'ToPort', 'Protocol'],
9265 'StringResult': {'additionalProperties': False,
9266 'properties': {'Error': {'$ref': '#/definitions/Error'},
9267 'Result': {'type': 'string'}},
9268 'required': ['Error', 'Result'],
9270 'StringResults': {'additionalProperties': False,
9271 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'},
9273 'required': ['Results'],
9275 'StringsResult': {'additionalProperties': False,
9276 'properties': {'Error': {'$ref': '#/definitions/Error'},
9277 'Result': {'items': {'type': 'string'},
9279 'required': ['Error', 'Result'],
9281 'StringsResults': {'additionalProperties': False,
9282 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsResult'},
9284 'required': ['Results'],
9286 'StringsWatchResult': {'additionalProperties': False,
9287 'properties': {'Changes': {'items': {'type': 'string'},
9289 'Error': {'$ref': '#/definitions/Error'},
9290 'StringsWatcherId': {'type': 'string'}},
9291 'required': ['StringsWatcherId',
9295 'StringsWatchResults': {'additionalProperties': False,
9296 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
9298 'required': ['Results'],
9300 'caveat': {'additionalProperties': False,
9301 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
9302 'location': {'$ref': '#/definitions/packet'},
9303 'verificationId': {'$ref': '#/definitions/packet'}},
9304 'required': ['location',
9308 'packet': {'additionalProperties': False,
9309 'properties': {'headerLen': {'type': 'integer'},
9310 'start': {'type': 'integer'},
9311 'totalLen': {'type': 'integer'}},
9312 'required': ['start', 'totalLen', 'headerLen'],
9314 'properties': {'GetAssignedMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9315 'Result': {'$ref': '#/definitions/StringResults'}},
9317 'GetExposed': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9318 'Result': {'$ref': '#/definitions/BoolResults'}},
9320 'GetMachineActiveSubnets': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9321 'Result': {'$ref': '#/definitions/StringsResults'}},
9323 'GetMachinePorts': {'properties': {'Params': {'$ref': '#/definitions/MachinePortsParams'},
9324 'Result': {'$ref': '#/definitions/MachinePortsResults'}},
9326 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9327 'Result': {'$ref': '#/definitions/StringResults'}},
9329 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9330 'Result': {'$ref': '#/definitions/LifeResults'}},
9332 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
9334 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9335 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
9337 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
9339 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
9341 'WatchOpenedPorts': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9342 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
9344 'WatchUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9345 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
9350 @ReturnMapping(StringResults
)
9351 async def GetAssignedMachine(self
, entities
):
9353 entities : typing.Sequence[~Entity]
9354 Returns -> typing.Sequence[~StringResult]
9356 # map input types to rpc msg
9358 msg
= dict(Type
='Firewaller', Request
='GetAssignedMachine', Version
=2, Params
=params
)
9359 params
['Entities'] = entities
9360 reply
= await self
.rpc(msg
)
9365 @ReturnMapping(BoolResults
)
9366 async def GetExposed(self
, entities
):
9368 entities : typing.Sequence[~Entity]
9369 Returns -> typing.Sequence[~BoolResult]
9371 # map input types to rpc msg
9373 msg
= dict(Type
='Firewaller', Request
='GetExposed', Version
=2, Params
=params
)
9374 params
['Entities'] = entities
9375 reply
= await self
.rpc(msg
)
9380 @ReturnMapping(StringsResults
)
9381 async def GetMachineActiveSubnets(self
, entities
):
9383 entities : typing.Sequence[~Entity]
9384 Returns -> typing.Sequence[~StringsResult]
9386 # map input types to rpc msg
9388 msg
= dict(Type
='Firewaller', Request
='GetMachineActiveSubnets', Version
=2, Params
=params
)
9389 params
['Entities'] = entities
9390 reply
= await self
.rpc(msg
)
9395 @ReturnMapping(MachinePortsResults
)
9396 async def GetMachinePorts(self
, params
):
9398 params : typing.Sequence[~MachinePorts]
9399 Returns -> typing.Sequence[~MachinePortsResult]
9401 # map input types to rpc msg
9403 msg
= dict(Type
='Firewaller', Request
='GetMachinePorts', Version
=2, Params
=params
)
9404 params
['Params'] = params
9405 reply
= await self
.rpc(msg
)
9410 @ReturnMapping(StringResults
)
9411 async def InstanceId(self
, entities
):
9413 entities : typing.Sequence[~Entity]
9414 Returns -> typing.Sequence[~StringResult]
9416 # map input types to rpc msg
9418 msg
= dict(Type
='Firewaller', Request
='InstanceId', Version
=2, Params
=params
)
9419 params
['Entities'] = entities
9420 reply
= await self
.rpc(msg
)
9425 @ReturnMapping(LifeResults
)
9426 async def Life(self
, entities
):
9428 entities : typing.Sequence[~Entity]
9429 Returns -> typing.Sequence[~LifeResult]
9431 # map input types to rpc msg
9433 msg
= dict(Type
='Firewaller', Request
='Life', Version
=2, Params
=params
)
9434 params
['Entities'] = entities
9435 reply
= await self
.rpc(msg
)
9440 @ReturnMapping(ModelConfigResult
)
9441 async def ModelConfig(self
):
9444 Returns -> typing.Mapping[str, typing.Any]
9446 # map input types to rpc msg
9448 msg
= dict(Type
='Firewaller', Request
='ModelConfig', Version
=2, Params
=params
)
9450 reply
= await self
.rpc(msg
)
9455 @ReturnMapping(NotifyWatchResults
)
9456 async def Watch(self
, entities
):
9458 entities : typing.Sequence[~Entity]
9459 Returns -> typing.Sequence[~NotifyWatchResult]
9461 # map input types to rpc msg
9463 msg
= dict(Type
='Firewaller', Request
='Watch', Version
=2, Params
=params
)
9464 params
['Entities'] = entities
9465 reply
= await self
.rpc(msg
)
9470 @ReturnMapping(NotifyWatchResult
)
9471 async def WatchForModelConfigChanges(self
):
9474 Returns -> typing.Union[_ForwardRef('Error'), str]
9476 # map input types to rpc msg
9478 msg
= dict(Type
='Firewaller', Request
='WatchForModelConfigChanges', Version
=2, Params
=params
)
9480 reply
= await self
.rpc(msg
)
9485 @ReturnMapping(StringsWatchResult
)
9486 async def WatchModelMachines(self
):
9489 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
9491 # map input types to rpc msg
9493 msg
= dict(Type
='Firewaller', Request
='WatchModelMachines', Version
=2, Params
=params
)
9495 reply
= await self
.rpc(msg
)
9500 @ReturnMapping(StringsWatchResults
)
9501 async def WatchOpenedPorts(self
, entities
):
9503 entities : typing.Sequence[~Entity]
9504 Returns -> typing.Sequence[~StringsWatchResult]
9506 # map input types to rpc msg
9508 msg
= dict(Type
='Firewaller', Request
='WatchOpenedPorts', Version
=2, Params
=params
)
9509 params
['Entities'] = entities
9510 reply
= await self
.rpc(msg
)
9515 @ReturnMapping(StringsWatchResults
)
9516 async def WatchUnits(self
, entities
):
9518 entities : typing.Sequence[~Entity]
9519 Returns -> typing.Sequence[~StringsWatchResult]
9521 # map input types to rpc msg
9523 msg
= dict(Type
='Firewaller', Request
='WatchUnits', Version
=2, Params
=params
)
9524 params
['Entities'] = entities
9525 reply
= await self
.rpc(msg
)
9529 class HighAvailability(Type
):
9530 name
= 'HighAvailability'
9532 schema
= {'definitions': {'Address': {'additionalProperties': False,
9533 'properties': {'Scope': {'type': 'string'},
9534 'SpaceName': {'type': 'string'},
9535 'SpaceProviderId': {'type': 'string'},
9536 'Type': {'type': 'string'},
9537 'Value': {'type': 'string'}},
9538 'required': ['Value',
9544 'ControllersChangeResult': {'additionalProperties': False,
9545 'properties': {'Error': {'$ref': '#/definitions/Error'},
9546 'Result': {'$ref': '#/definitions/ControllersChanges'}},
9547 'required': ['Result', 'Error'],
9549 'ControllersChangeResults': {'additionalProperties': False,
9550 'properties': {'Results': {'items': {'$ref': '#/definitions/ControllersChangeResult'},
9552 'required': ['Results'],
9554 'ControllersChanges': {'additionalProperties': False,
9555 'properties': {'added': {'items': {'type': 'string'},
9557 'converted': {'items': {'type': 'string'},
9559 'demoted': {'items': {'type': 'string'},
9561 'maintained': {'items': {'type': 'string'},
9563 'promoted': {'items': {'type': 'string'},
9565 'removed': {'items': {'type': 'string'},
9568 'ControllersSpec': {'additionalProperties': False,
9569 'properties': {'ModelTag': {'type': 'string'},
9570 'constraints': {'$ref': '#/definitions/Value'},
9571 'num-controllers': {'type': 'integer'},
9572 'placement': {'items': {'type': 'string'},
9574 'series': {'type': 'string'}},
9575 'required': ['ModelTag',
9578 'ControllersSpecs': {'additionalProperties': False,
9579 'properties': {'Specs': {'items': {'$ref': '#/definitions/ControllersSpec'},
9581 'required': ['Specs'],
9583 'Error': {'additionalProperties': False,
9584 'properties': {'Code': {'type': 'string'},
9585 'Info': {'$ref': '#/definitions/ErrorInfo'},
9586 'Message': {'type': 'string'}},
9587 'required': ['Message', 'Code'],
9589 'ErrorInfo': {'additionalProperties': False,
9590 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
9591 'MacaroonPath': {'type': 'string'}},
9593 'HAMember': {'additionalProperties': False,
9594 'properties': {'PublicAddress': {'$ref': '#/definitions/Address'},
9595 'Series': {'type': 'string'},
9596 'Tag': {'type': 'string'}},
9597 'required': ['Tag', 'PublicAddress', 'Series'],
9599 'Macaroon': {'additionalProperties': False,
9600 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
9602 'data': {'items': {'type': 'integer'},
9604 'id': {'$ref': '#/definitions/packet'},
9605 'location': {'$ref': '#/definitions/packet'},
9606 'sig': {'items': {'type': 'integer'},
9608 'required': ['data',
9614 'Member': {'additionalProperties': False,
9615 'properties': {'Address': {'type': 'string'},
9616 'Arbiter': {'type': 'boolean'},
9617 'BuildIndexes': {'type': 'boolean'},
9618 'Hidden': {'type': 'boolean'},
9619 'Id': {'type': 'integer'},
9620 'Priority': {'type': 'number'},
9621 'SlaveDelay': {'type': 'integer'},
9622 'Tags': {'patternProperties': {'.*': {'type': 'string'}},
9624 'Votes': {'type': 'integer'}},
9635 'MongoUpgradeResults': {'additionalProperties': False,
9636 'properties': {'Master': {'$ref': '#/definitions/HAMember'},
9637 'Members': {'items': {'$ref': '#/definitions/HAMember'},
9639 'RsMembers': {'items': {'$ref': '#/definitions/Member'},
9641 'required': ['RsMembers',
9645 'ResumeReplicationParams': {'additionalProperties': False,
9646 'properties': {'Members': {'items': {'$ref': '#/definitions/Member'},
9648 'required': ['Members'],
9650 'UpgradeMongoParams': {'additionalProperties': False,
9651 'properties': {'Target': {'$ref': '#/definitions/Version'}},
9652 'required': ['Target'],
9654 'Value': {'additionalProperties': False,
9655 'properties': {'arch': {'type': 'string'},
9656 'container': {'type': 'string'},
9657 'cpu-cores': {'type': 'integer'},
9658 'cpu-power': {'type': 'integer'},
9659 'instance-type': {'type': 'string'},
9660 'mem': {'type': 'integer'},
9661 'root-disk': {'type': 'integer'},
9662 'spaces': {'items': {'type': 'string'},
9664 'tags': {'items': {'type': 'string'},
9666 'virt-type': {'type': 'string'}},
9668 'Version': {'additionalProperties': False,
9669 'properties': {'Major': {'type': 'integer'},
9670 'Minor': {'type': 'integer'},
9671 'Patch': {'type': 'string'},
9672 'StorageEngine': {'type': 'string'}},
9673 'required': ['Major',
9678 'caveat': {'additionalProperties': False,
9679 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
9680 'location': {'$ref': '#/definitions/packet'},
9681 'verificationId': {'$ref': '#/definitions/packet'}},
9682 'required': ['location',
9686 'packet': {'additionalProperties': False,
9687 'properties': {'headerLen': {'type': 'integer'},
9688 'start': {'type': 'integer'},
9689 'totalLen': {'type': 'integer'}},
9690 'required': ['start', 'totalLen', 'headerLen'],
9692 'properties': {'EnableHA': {'properties': {'Params': {'$ref': '#/definitions/ControllersSpecs'},
9693 'Result': {'$ref': '#/definitions/ControllersChangeResults'}},
9695 'ResumeHAReplicationAfterUpgrade': {'properties': {'Params': {'$ref': '#/definitions/ResumeReplicationParams'}},
9697 'StopHAReplicationForUpgrade': {'properties': {'Params': {'$ref': '#/definitions/UpgradeMongoParams'},
9698 'Result': {'$ref': '#/definitions/MongoUpgradeResults'}},
9703 @ReturnMapping(ControllersChangeResults
)
9704 async def EnableHA(self
, specs
):
9706 specs : typing.Sequence[~ControllersSpec]
9707 Returns -> typing.Sequence[~ControllersChangeResult]
9709 # map input types to rpc msg
9711 msg
= dict(Type
='HighAvailability', Request
='EnableHA', Version
=2, Params
=params
)
9712 params
['Specs'] = specs
9713 reply
= await self
.rpc(msg
)
9718 @ReturnMapping(None)
9719 async def ResumeHAReplicationAfterUpgrade(self
, members
):
9721 members : typing.Sequence[~Member]
9724 # map input types to rpc msg
9726 msg
= dict(Type
='HighAvailability', Request
='ResumeHAReplicationAfterUpgrade', Version
=2, Params
=params
)
9727 params
['Members'] = members
9728 reply
= await self
.rpc(msg
)
9733 @ReturnMapping(MongoUpgradeResults
)
9734 async def StopHAReplicationForUpgrade(self
, major
, minor
, patch
, storageengine
):
9740 Returns -> typing.Union[_ForwardRef('HAMember'), typing.Sequence[~Member]]
9742 # map input types to rpc msg
9744 msg
= dict(Type
='HighAvailability', Request
='StopHAReplicationForUpgrade', Version
=2, Params
=params
)
9745 params
['Major'] = major
9746 params
['Minor'] = minor
9747 params
['Patch'] = patch
9748 params
['StorageEngine'] = storageengine
9749 reply
= await self
.rpc(msg
)
9753 class HostKeyReporter(Type
):
9754 name
= 'HostKeyReporter'
9756 schema
= {'definitions': {'Error': {'additionalProperties': False,
9757 'properties': {'Code': {'type': 'string'},
9758 'Info': {'$ref': '#/definitions/ErrorInfo'},
9759 'Message': {'type': 'string'}},
9760 'required': ['Message', 'Code'],
9762 'ErrorInfo': {'additionalProperties': False,
9763 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
9764 'MacaroonPath': {'type': 'string'}},
9766 'ErrorResult': {'additionalProperties': False,
9767 'properties': {'Error': {'$ref': '#/definitions/Error'}},
9768 'required': ['Error'],
9770 'ErrorResults': {'additionalProperties': False,
9771 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
9773 'required': ['Results'],
9775 'Macaroon': {'additionalProperties': False,
9776 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
9778 'data': {'items': {'type': 'integer'},
9780 'id': {'$ref': '#/definitions/packet'},
9781 'location': {'$ref': '#/definitions/packet'},
9782 'sig': {'items': {'type': 'integer'},
9784 'required': ['data',
9790 'SSHHostKeySet': {'additionalProperties': False,
9791 'properties': {'entity-keys': {'items': {'$ref': '#/definitions/SSHHostKeys'},
9793 'required': ['entity-keys'],
9795 'SSHHostKeys': {'additionalProperties': False,
9796 'properties': {'public-keys': {'items': {'type': 'string'},
9798 'tag': {'type': 'string'}},
9799 'required': ['tag', 'public-keys'],
9801 'caveat': {'additionalProperties': False,
9802 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
9803 'location': {'$ref': '#/definitions/packet'},
9804 'verificationId': {'$ref': '#/definitions/packet'}},
9805 'required': ['location',
9809 'packet': {'additionalProperties': False,
9810 'properties': {'headerLen': {'type': 'integer'},
9811 'start': {'type': 'integer'},
9812 'totalLen': {'type': 'integer'}},
9813 'required': ['start', 'totalLen', 'headerLen'],
9815 'properties': {'ReportKeys': {'properties': {'Params': {'$ref': '#/definitions/SSHHostKeySet'},
9816 'Result': {'$ref': '#/definitions/ErrorResults'}},
9821 @ReturnMapping(ErrorResults
)
9822 async def ReportKeys(self
, entity_keys
):
9824 entity_keys : typing.Sequence[~SSHHostKeys]
9825 Returns -> typing.Sequence[~ErrorResult]
9827 # map input types to rpc msg
9829 msg
= dict(Type
='HostKeyReporter', Request
='ReportKeys', Version
=1, Params
=params
)
9830 params
['entity-keys'] = entity_keys
9831 reply
= await self
.rpc(msg
)
9835 class ImageManager(Type
):
9836 name
= 'ImageManager'
9838 schema
= {'definitions': {'Error': {'additionalProperties': False,
9839 'properties': {'Code': {'type': 'string'},
9840 'Info': {'$ref': '#/definitions/ErrorInfo'},
9841 'Message': {'type': 'string'}},
9842 'required': ['Message', 'Code'],
9844 'ErrorInfo': {'additionalProperties': False,
9845 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
9846 'MacaroonPath': {'type': 'string'}},
9848 'ErrorResult': {'additionalProperties': False,
9849 'properties': {'Error': {'$ref': '#/definitions/Error'}},
9850 'required': ['Error'],
9852 'ErrorResults': {'additionalProperties': False,
9853 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
9855 'required': ['Results'],
9857 'ImageFilterParams': {'additionalProperties': False,
9858 'properties': {'images': {'items': {'$ref': '#/definitions/ImageSpec'},
9860 'required': ['images'],
9862 'ImageMetadata': {'additionalProperties': False,
9863 'properties': {'arch': {'type': 'string'},
9864 'created': {'format': 'date-time',
9866 'kind': {'type': 'string'},
9867 'series': {'type': 'string'},
9868 'url': {'type': 'string'}},
9869 'required': ['kind',
9875 'ImageSpec': {'additionalProperties': False,
9876 'properties': {'arch': {'type': 'string'},
9877 'kind': {'type': 'string'},
9878 'series': {'type': 'string'}},
9879 'required': ['kind', 'arch', 'series'],
9881 'ListImageResult': {'additionalProperties': False,
9882 'properties': {'result': {'items': {'$ref': '#/definitions/ImageMetadata'},
9884 'required': ['result'],
9886 'Macaroon': {'additionalProperties': False,
9887 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
9889 'data': {'items': {'type': 'integer'},
9891 'id': {'$ref': '#/definitions/packet'},
9892 'location': {'$ref': '#/definitions/packet'},
9893 'sig': {'items': {'type': 'integer'},
9895 'required': ['data',
9901 'caveat': {'additionalProperties': False,
9902 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
9903 'location': {'$ref': '#/definitions/packet'},
9904 'verificationId': {'$ref': '#/definitions/packet'}},
9905 'required': ['location',
9909 'packet': {'additionalProperties': False,
9910 'properties': {'headerLen': {'type': 'integer'},
9911 'start': {'type': 'integer'},
9912 'totalLen': {'type': 'integer'}},
9913 'required': ['start', 'totalLen', 'headerLen'],
9915 'properties': {'DeleteImages': {'properties': {'Params': {'$ref': '#/definitions/ImageFilterParams'},
9916 'Result': {'$ref': '#/definitions/ErrorResults'}},
9918 'ListImages': {'properties': {'Params': {'$ref': '#/definitions/ImageFilterParams'},
9919 'Result': {'$ref': '#/definitions/ListImageResult'}},
9924 @ReturnMapping(ErrorResults
)
9925 async def DeleteImages(self
, images
):
9927 images : typing.Sequence[~ImageSpec]
9928 Returns -> typing.Sequence[~ErrorResult]
9930 # map input types to rpc msg
9932 msg
= dict(Type
='ImageManager', Request
='DeleteImages', Version
=2, Params
=params
)
9933 params
['images'] = images
9934 reply
= await self
.rpc(msg
)
9939 @ReturnMapping(ListImageResult
)
9940 async def ListImages(self
, images
):
9942 images : typing.Sequence[~ImageSpec]
9943 Returns -> typing.Sequence[~ImageMetadata]
9945 # map input types to rpc msg
9947 msg
= dict(Type
='ImageManager', Request
='ListImages', Version
=2, Params
=params
)
9948 params
['images'] = images
9949 reply
= await self
.rpc(msg
)
9953 class ImageMetadata(Type
):
9954 name
= 'ImageMetadata'
9956 schema
= {'definitions': {'CloudImageMetadata': {'additionalProperties': False,
9957 'properties': {'arch': {'type': 'string'},
9958 'image_id': {'type': 'string'},
9959 'priority': {'type': 'integer'},
9960 'region': {'type': 'string'},
9961 'root_storage_size': {'type': 'integer'},
9962 'root_storage_type': {'type': 'string'},
9963 'series': {'type': 'string'},
9964 'source': {'type': 'string'},
9965 'stream': {'type': 'string'},
9966 'version': {'type': 'string'},
9967 'virt_type': {'type': 'string'}},
9968 'required': ['image_id',
9976 'CloudImageMetadataList': {'additionalProperties': False,
9977 'properties': {'metadata': {'items': {'$ref': '#/definitions/CloudImageMetadata'},
9980 'Error': {'additionalProperties': False,
9981 'properties': {'Code': {'type': 'string'},
9982 'Info': {'$ref': '#/definitions/ErrorInfo'},
9983 'Message': {'type': 'string'}},
9984 'required': ['Message', 'Code'],
9986 'ErrorInfo': {'additionalProperties': False,
9987 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
9988 'MacaroonPath': {'type': 'string'}},
9990 'ErrorResult': {'additionalProperties': False,
9991 'properties': {'Error': {'$ref': '#/definitions/Error'}},
9992 'required': ['Error'],
9994 'ErrorResults': {'additionalProperties': False,
9995 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
9997 'required': ['Results'],
9999 'ImageMetadataFilter': {'additionalProperties': False,
10000 'properties': {'arches': {'items': {'type': 'string'},
10002 'region': {'type': 'string'},
10003 'root-storage-type': {'type': 'string'},
10004 'series': {'items': {'type': 'string'},
10006 'stream': {'type': 'string'},
10007 'virt_type': {'type': 'string'}},
10009 'ListCloudImageMetadataResult': {'additionalProperties': False,
10010 'properties': {'result': {'items': {'$ref': '#/definitions/CloudImageMetadata'},
10012 'required': ['result'],
10014 'Macaroon': {'additionalProperties': False,
10015 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
10017 'data': {'items': {'type': 'integer'},
10019 'id': {'$ref': '#/definitions/packet'},
10020 'location': {'$ref': '#/definitions/packet'},
10021 'sig': {'items': {'type': 'integer'},
10023 'required': ['data',
10029 'MetadataImageIds': {'additionalProperties': False,
10030 'properties': {'image_ids': {'items': {'type': 'string'},
10032 'required': ['image_ids'],
10034 'MetadataSaveParams': {'additionalProperties': False,
10035 'properties': {'metadata': {'items': {'$ref': '#/definitions/CloudImageMetadataList'},
10038 'caveat': {'additionalProperties': False,
10039 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
10040 'location': {'$ref': '#/definitions/packet'},
10041 'verificationId': {'$ref': '#/definitions/packet'}},
10042 'required': ['location',
10046 'packet': {'additionalProperties': False,
10047 'properties': {'headerLen': {'type': 'integer'},
10048 'start': {'type': 'integer'},
10049 'totalLen': {'type': 'integer'}},
10050 'required': ['start', 'totalLen', 'headerLen'],
10051 'type': 'object'}},
10052 'properties': {'Delete': {'properties': {'Params': {'$ref': '#/definitions/MetadataImageIds'},
10053 'Result': {'$ref': '#/definitions/ErrorResults'}},
10055 'List': {'properties': {'Params': {'$ref': '#/definitions/ImageMetadataFilter'},
10056 'Result': {'$ref': '#/definitions/ListCloudImageMetadataResult'}},
10058 'Save': {'properties': {'Params': {'$ref': '#/definitions/MetadataSaveParams'},
10059 'Result': {'$ref': '#/definitions/ErrorResults'}},
10061 'UpdateFromPublishedImages': {'type': 'object'}},
10065 @ReturnMapping(ErrorResults
)
10066 async def Delete(self
, image_ids
):
10068 image_ids : typing.Sequence[str]
10069 Returns -> typing.Sequence[~ErrorResult]
10071 # map input types to rpc msg
10073 msg
= dict(Type
='ImageMetadata', Request
='Delete', Version
=2, Params
=params
)
10074 params
['image_ids'] = image_ids
10075 reply
= await self
.rpc(msg
)
10080 @ReturnMapping(ListCloudImageMetadataResult
)
10081 async def List(self
, arches
, region
, root_storage_type
, series
, stream
, virt_type
):
10083 arches : typing.Sequence[str]
10085 root_storage_type : str
10086 series : typing.Sequence[str]
10089 Returns -> typing.Sequence[~CloudImageMetadata]
10091 # map input types to rpc msg
10093 msg
= dict(Type
='ImageMetadata', Request
='List', Version
=2, Params
=params
)
10094 params
['arches'] = arches
10095 params
['region'] = region
10096 params
['root-storage-type'] = root_storage_type
10097 params
['series'] = series
10098 params
['stream'] = stream
10099 params
['virt_type'] = virt_type
10100 reply
= await self
.rpc(msg
)
10105 @ReturnMapping(ErrorResults
)
10106 async def Save(self
, metadata
):
10108 metadata : typing.Sequence[~CloudImageMetadataList]
10109 Returns -> typing.Sequence[~ErrorResult]
10111 # map input types to rpc msg
10113 msg
= dict(Type
='ImageMetadata', Request
='Save', Version
=2, Params
=params
)
10114 params
['metadata'] = metadata
10115 reply
= await self
.rpc(msg
)
10120 @ReturnMapping(None)
10121 async def UpdateFromPublishedImages(self
):
10126 # map input types to rpc msg
10128 msg
= dict(Type
='ImageMetadata', Request
='UpdateFromPublishedImages', Version
=2, Params
=params
)
10130 reply
= await self
.rpc(msg
)
10134 class InstancePoller(Type
):
10135 name
= 'InstancePoller'
10137 schema
= {'definitions': {'Address': {'additionalProperties': False,
10138 'properties': {'Scope': {'type': 'string'},
10139 'SpaceName': {'type': 'string'},
10140 'Type': {'type': 'string'},
10141 'Value': {'type': 'string'}},
10142 'required': ['Value', 'Type', 'Scope'],
10144 'BoolResult': {'additionalProperties': False,
10145 'properties': {'Error': {'$ref': '#/definitions/Error'},
10146 'Result': {'type': 'boolean'}},
10147 'required': ['Error', 'Result'],
10149 'BoolResults': {'additionalProperties': False,
10150 'properties': {'Results': {'items': {'$ref': '#/definitions/BoolResult'},
10152 'required': ['Results'],
10154 'Entities': {'additionalProperties': False,
10155 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
10157 'required': ['Entities'],
10159 'Entity': {'additionalProperties': False,
10160 'properties': {'Tag': {'type': 'string'}},
10161 'required': ['Tag'],
10163 'EntityStatusArgs': {'additionalProperties': False,
10164 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
10165 'type': 'object'}},
10167 'Info': {'type': 'string'},
10168 'Status': {'type': 'string'},
10169 'Tag': {'type': 'string'}},
10170 'required': ['Tag',
10175 'Error': {'additionalProperties': False,
10176 'properties': {'Code': {'type': 'string'},
10177 'Info': {'$ref': '#/definitions/ErrorInfo'},
10178 'Message': {'type': 'string'}},
10179 'required': ['Message', 'Code'],
10181 'ErrorInfo': {'additionalProperties': False,
10182 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
10183 'MacaroonPath': {'type': 'string'}},
10185 'ErrorResult': {'additionalProperties': False,
10186 'properties': {'Error': {'$ref': '#/definitions/Error'}},
10187 'required': ['Error'],
10189 'ErrorResults': {'additionalProperties': False,
10190 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
10192 'required': ['Results'],
10194 'LifeResult': {'additionalProperties': False,
10195 'properties': {'Error': {'$ref': '#/definitions/Error'},
10196 'Life': {'type': 'string'}},
10197 'required': ['Life', 'Error'],
10199 'LifeResults': {'additionalProperties': False,
10200 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
10202 'required': ['Results'],
10204 'Macaroon': {'additionalProperties': False,
10205 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
10207 'data': {'items': {'type': 'integer'},
10209 'id': {'$ref': '#/definitions/packet'},
10210 'location': {'$ref': '#/definitions/packet'},
10211 'sig': {'items': {'type': 'integer'},
10213 'required': ['data',
10219 'MachineAddresses': {'additionalProperties': False,
10220 'properties': {'Addresses': {'items': {'$ref': '#/definitions/Address'},
10222 'Tag': {'type': 'string'}},
10223 'required': ['Tag', 'Addresses'],
10225 'MachineAddressesResult': {'additionalProperties': False,
10226 'properties': {'Addresses': {'items': {'$ref': '#/definitions/Address'},
10228 'Error': {'$ref': '#/definitions/Error'}},
10229 'required': ['Error', 'Addresses'],
10231 'MachineAddressesResults': {'additionalProperties': False,
10232 'properties': {'Results': {'items': {'$ref': '#/definitions/MachineAddressesResult'},
10234 'required': ['Results'],
10236 'ModelConfigResult': {'additionalProperties': False,
10237 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
10238 'type': 'object'}},
10239 'type': 'object'}},
10240 'required': ['Config'],
10242 'NotifyWatchResult': {'additionalProperties': False,
10243 'properties': {'Error': {'$ref': '#/definitions/Error'},
10244 'NotifyWatcherId': {'type': 'string'}},
10245 'required': ['NotifyWatcherId', 'Error'],
10247 'SetMachinesAddresses': {'additionalProperties': False,
10248 'properties': {'MachineAddresses': {'items': {'$ref': '#/definitions/MachineAddresses'},
10250 'required': ['MachineAddresses'],
10252 'SetStatus': {'additionalProperties': False,
10253 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
10255 'required': ['Entities'],
10257 'StatusResult': {'additionalProperties': False,
10258 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
10259 'type': 'object'}},
10261 'Error': {'$ref': '#/definitions/Error'},
10262 'Id': {'type': 'string'},
10263 'Info': {'type': 'string'},
10264 'Life': {'type': 'string'},
10265 'Since': {'format': 'date-time',
10267 'Status': {'type': 'string'}},
10268 'required': ['Error',
10276 'StatusResults': {'additionalProperties': False,
10277 'properties': {'Results': {'items': {'$ref': '#/definitions/StatusResult'},
10279 'required': ['Results'],
10281 'StringResult': {'additionalProperties': False,
10282 'properties': {'Error': {'$ref': '#/definitions/Error'},
10283 'Result': {'type': 'string'}},
10284 'required': ['Error', 'Result'],
10286 'StringResults': {'additionalProperties': False,
10287 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'},
10289 'required': ['Results'],
10291 'StringsWatchResult': {'additionalProperties': False,
10292 'properties': {'Changes': {'items': {'type': 'string'},
10294 'Error': {'$ref': '#/definitions/Error'},
10295 'StringsWatcherId': {'type': 'string'}},
10296 'required': ['StringsWatcherId',
10300 'caveat': {'additionalProperties': False,
10301 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
10302 'location': {'$ref': '#/definitions/packet'},
10303 'verificationId': {'$ref': '#/definitions/packet'}},
10304 'required': ['location',
10308 'packet': {'additionalProperties': False,
10309 'properties': {'headerLen': {'type': 'integer'},
10310 'start': {'type': 'integer'},
10311 'totalLen': {'type': 'integer'}},
10312 'required': ['start', 'totalLen', 'headerLen'],
10313 'type': 'object'}},
10314 'properties': {'AreManuallyProvisioned': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10315 'Result': {'$ref': '#/definitions/BoolResults'}},
10317 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10318 'Result': {'$ref': '#/definitions/StringResults'}},
10320 'InstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10321 'Result': {'$ref': '#/definitions/StatusResults'}},
10323 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10324 'Result': {'$ref': '#/definitions/LifeResults'}},
10326 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
10328 'ProviderAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10329 'Result': {'$ref': '#/definitions/MachineAddressesResults'}},
10331 'SetInstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
10332 'Result': {'$ref': '#/definitions/ErrorResults'}},
10334 'SetProviderAddresses': {'properties': {'Params': {'$ref': '#/definitions/SetMachinesAddresses'},
10335 'Result': {'$ref': '#/definitions/ErrorResults'}},
10337 'Status': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10338 'Result': {'$ref': '#/definitions/StatusResults'}},
10340 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
10342 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
10343 'type': 'object'}},
10347 @ReturnMapping(BoolResults
)
10348 async def AreManuallyProvisioned(self
, entities
):
10350 entities : typing.Sequence[~Entity]
10351 Returns -> typing.Sequence[~BoolResult]
10353 # map input types to rpc msg
10355 msg
= dict(Type
='InstancePoller', Request
='AreManuallyProvisioned', Version
=2, Params
=params
)
10356 params
['Entities'] = entities
10357 reply
= await self
.rpc(msg
)
10362 @ReturnMapping(StringResults
)
10363 async def InstanceId(self
, entities
):
10365 entities : typing.Sequence[~Entity]
10366 Returns -> typing.Sequence[~StringResult]
10368 # map input types to rpc msg
10370 msg
= dict(Type
='InstancePoller', Request
='InstanceId', Version
=2, Params
=params
)
10371 params
['Entities'] = entities
10372 reply
= await self
.rpc(msg
)
10377 @ReturnMapping(StatusResults
)
10378 async def InstanceStatus(self
, entities
):
10380 entities : typing.Sequence[~Entity]
10381 Returns -> typing.Sequence[~StatusResult]
10383 # map input types to rpc msg
10385 msg
= dict(Type
='InstancePoller', Request
='InstanceStatus', Version
=2, Params
=params
)
10386 params
['Entities'] = entities
10387 reply
= await self
.rpc(msg
)
10392 @ReturnMapping(LifeResults
)
10393 async def Life(self
, entities
):
10395 entities : typing.Sequence[~Entity]
10396 Returns -> typing.Sequence[~LifeResult]
10398 # map input types to rpc msg
10400 msg
= dict(Type
='InstancePoller', Request
='Life', Version
=2, Params
=params
)
10401 params
['Entities'] = entities
10402 reply
= await self
.rpc(msg
)
10407 @ReturnMapping(ModelConfigResult
)
10408 async def ModelConfig(self
):
10411 Returns -> typing.Mapping[str, typing.Any]
10413 # map input types to rpc msg
10415 msg
= dict(Type
='InstancePoller', Request
='ModelConfig', Version
=2, Params
=params
)
10417 reply
= await self
.rpc(msg
)
10422 @ReturnMapping(MachineAddressesResults
)
10423 async def ProviderAddresses(self
, entities
):
10425 entities : typing.Sequence[~Entity]
10426 Returns -> typing.Sequence[~MachineAddressesResult]
10428 # map input types to rpc msg
10430 msg
= dict(Type
='InstancePoller', Request
='ProviderAddresses', Version
=2, Params
=params
)
10431 params
['Entities'] = entities
10432 reply
= await self
.rpc(msg
)
10437 @ReturnMapping(ErrorResults
)
10438 async def SetInstanceStatus(self
, entities
):
10440 entities : typing.Sequence[~EntityStatusArgs]
10441 Returns -> typing.Sequence[~ErrorResult]
10443 # map input types to rpc msg
10445 msg
= dict(Type
='InstancePoller', Request
='SetInstanceStatus', Version
=2, Params
=params
)
10446 params
['Entities'] = entities
10447 reply
= await self
.rpc(msg
)
10452 @ReturnMapping(ErrorResults
)
10453 async def SetProviderAddresses(self
, machineaddresses
):
10455 machineaddresses : typing.Sequence[~MachineAddresses]
10456 Returns -> typing.Sequence[~ErrorResult]
10458 # map input types to rpc msg
10460 msg
= dict(Type
='InstancePoller', Request
='SetProviderAddresses', Version
=2, Params
=params
)
10461 params
['MachineAddresses'] = machineaddresses
10462 reply
= await self
.rpc(msg
)
10467 @ReturnMapping(StatusResults
)
10468 async def Status(self
, entities
):
10470 entities : typing.Sequence[~Entity]
10471 Returns -> typing.Sequence[~StatusResult]
10473 # map input types to rpc msg
10475 msg
= dict(Type
='InstancePoller', Request
='Status', Version
=2, Params
=params
)
10476 params
['Entities'] = entities
10477 reply
= await self
.rpc(msg
)
10482 @ReturnMapping(NotifyWatchResult
)
10483 async def WatchForModelConfigChanges(self
):
10486 Returns -> typing.Union[_ForwardRef('Error'), str]
10488 # map input types to rpc msg
10490 msg
= dict(Type
='InstancePoller', Request
='WatchForModelConfigChanges', Version
=2, Params
=params
)
10492 reply
= await self
.rpc(msg
)
10497 @ReturnMapping(StringsWatchResult
)
10498 async def WatchModelMachines(self
):
10501 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
10503 # map input types to rpc msg
10505 msg
= dict(Type
='InstancePoller', Request
='WatchModelMachines', Version
=2, Params
=params
)
10507 reply
= await self
.rpc(msg
)
10511 class KeyManager(Type
):
10512 name
= 'KeyManager'
10514 schema
= {'definitions': {'Entities': {'additionalProperties': False,
10515 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
10517 'required': ['Entities'],
10519 'Entity': {'additionalProperties': False,
10520 'properties': {'Tag': {'type': 'string'}},
10521 'required': ['Tag'],
10523 'Error': {'additionalProperties': False,
10524 'properties': {'Code': {'type': 'string'},
10525 'Info': {'$ref': '#/definitions/ErrorInfo'},
10526 'Message': {'type': 'string'}},
10527 'required': ['Message', 'Code'],
10529 'ErrorInfo': {'additionalProperties': False,
10530 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
10531 'MacaroonPath': {'type': 'string'}},
10533 'ErrorResult': {'additionalProperties': False,
10534 'properties': {'Error': {'$ref': '#/definitions/Error'}},
10535 'required': ['Error'],
10537 'ErrorResults': {'additionalProperties': False,
10538 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
10540 'required': ['Results'],
10542 'ListSSHKeys': {'additionalProperties': False,
10543 'properties': {'Entities': {'$ref': '#/definitions/Entities'},
10544 'Mode': {'type': 'boolean'}},
10545 'required': ['Entities', 'Mode'],
10547 'Macaroon': {'additionalProperties': False,
10548 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
10550 'data': {'items': {'type': 'integer'},
10552 'id': {'$ref': '#/definitions/packet'},
10553 'location': {'$ref': '#/definitions/packet'},
10554 'sig': {'items': {'type': 'integer'},
10556 'required': ['data',
10562 'ModifyUserSSHKeys': {'additionalProperties': False,
10563 'properties': {'Keys': {'items': {'type': 'string'},
10565 'User': {'type': 'string'}},
10566 'required': ['User', 'Keys'],
10568 'StringsResult': {'additionalProperties': False,
10569 'properties': {'Error': {'$ref': '#/definitions/Error'},
10570 'Result': {'items': {'type': 'string'},
10572 'required': ['Error', 'Result'],
10574 'StringsResults': {'additionalProperties': False,
10575 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsResult'},
10577 'required': ['Results'],
10579 'caveat': {'additionalProperties': False,
10580 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
10581 'location': {'$ref': '#/definitions/packet'},
10582 'verificationId': {'$ref': '#/definitions/packet'}},
10583 'required': ['location',
10587 'packet': {'additionalProperties': False,
10588 'properties': {'headerLen': {'type': 'integer'},
10589 'start': {'type': 'integer'},
10590 'totalLen': {'type': 'integer'}},
10591 'required': ['start', 'totalLen', 'headerLen'],
10592 'type': 'object'}},
10593 'properties': {'AddKeys': {'properties': {'Params': {'$ref': '#/definitions/ModifyUserSSHKeys'},
10594 'Result': {'$ref': '#/definitions/ErrorResults'}},
10596 'DeleteKeys': {'properties': {'Params': {'$ref': '#/definitions/ModifyUserSSHKeys'},
10597 'Result': {'$ref': '#/definitions/ErrorResults'}},
10599 'ImportKeys': {'properties': {'Params': {'$ref': '#/definitions/ModifyUserSSHKeys'},
10600 'Result': {'$ref': '#/definitions/ErrorResults'}},
10602 'ListKeys': {'properties': {'Params': {'$ref': '#/definitions/ListSSHKeys'},
10603 'Result': {'$ref': '#/definitions/StringsResults'}},
10604 'type': 'object'}},
10608 @ReturnMapping(ErrorResults
)
10609 async def AddKeys(self
, keys
, user
):
10611 keys : typing.Sequence[str]
10613 Returns -> typing.Sequence[~ErrorResult]
10615 # map input types to rpc msg
10617 msg
= dict(Type
='KeyManager', Request
='AddKeys', Version
=1, Params
=params
)
10618 params
['Keys'] = keys
10619 params
['User'] = user
10620 reply
= await self
.rpc(msg
)
10625 @ReturnMapping(ErrorResults
)
10626 async def DeleteKeys(self
, keys
, user
):
10628 keys : typing.Sequence[str]
10630 Returns -> typing.Sequence[~ErrorResult]
10632 # map input types to rpc msg
10634 msg
= dict(Type
='KeyManager', Request
='DeleteKeys', Version
=1, Params
=params
)
10635 params
['Keys'] = keys
10636 params
['User'] = user
10637 reply
= await self
.rpc(msg
)
10642 @ReturnMapping(ErrorResults
)
10643 async def ImportKeys(self
, keys
, user
):
10645 keys : typing.Sequence[str]
10647 Returns -> typing.Sequence[~ErrorResult]
10649 # map input types to rpc msg
10651 msg
= dict(Type
='KeyManager', Request
='ImportKeys', Version
=1, Params
=params
)
10652 params
['Keys'] = keys
10653 params
['User'] = user
10654 reply
= await self
.rpc(msg
)
10659 @ReturnMapping(StringsResults
)
10660 async def ListKeys(self
, entities
, mode
):
10662 entities : Entities
10664 Returns -> typing.Sequence[~StringsResult]
10666 # map input types to rpc msg
10668 msg
= dict(Type
='KeyManager', Request
='ListKeys', Version
=1, Params
=params
)
10669 params
['Entities'] = entities
10670 params
['Mode'] = mode
10671 reply
= await self
.rpc(msg
)
10675 class KeyUpdater(Type
):
10676 name
= 'KeyUpdater'
10678 schema
= {'definitions': {'Entities': {'additionalProperties': False,
10679 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
10681 'required': ['Entities'],
10683 'Entity': {'additionalProperties': False,
10684 'properties': {'Tag': {'type': 'string'}},
10685 'required': ['Tag'],
10687 'Error': {'additionalProperties': False,
10688 'properties': {'Code': {'type': 'string'},
10689 'Info': {'$ref': '#/definitions/ErrorInfo'},
10690 'Message': {'type': 'string'}},
10691 'required': ['Message', 'Code'],
10693 'ErrorInfo': {'additionalProperties': False,
10694 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
10695 'MacaroonPath': {'type': 'string'}},
10697 'Macaroon': {'additionalProperties': False,
10698 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
10700 'data': {'items': {'type': 'integer'},
10702 'id': {'$ref': '#/definitions/packet'},
10703 'location': {'$ref': '#/definitions/packet'},
10704 'sig': {'items': {'type': 'integer'},
10706 'required': ['data',
10712 'NotifyWatchResult': {'additionalProperties': False,
10713 'properties': {'Error': {'$ref': '#/definitions/Error'},
10714 'NotifyWatcherId': {'type': 'string'}},
10715 'required': ['NotifyWatcherId', 'Error'],
10717 'NotifyWatchResults': {'additionalProperties': False,
10718 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
10720 'required': ['Results'],
10722 'StringsResult': {'additionalProperties': False,
10723 'properties': {'Error': {'$ref': '#/definitions/Error'},
10724 'Result': {'items': {'type': 'string'},
10726 'required': ['Error', 'Result'],
10728 'StringsResults': {'additionalProperties': False,
10729 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsResult'},
10731 'required': ['Results'],
10733 'caveat': {'additionalProperties': False,
10734 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
10735 'location': {'$ref': '#/definitions/packet'},
10736 'verificationId': {'$ref': '#/definitions/packet'}},
10737 'required': ['location',
10741 'packet': {'additionalProperties': False,
10742 'properties': {'headerLen': {'type': 'integer'},
10743 'start': {'type': 'integer'},
10744 'totalLen': {'type': 'integer'}},
10745 'required': ['start', 'totalLen', 'headerLen'],
10746 'type': 'object'}},
10747 'properties': {'AuthorisedKeys': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10748 'Result': {'$ref': '#/definitions/StringsResults'}},
10750 'WatchAuthorisedKeys': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10751 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
10752 'type': 'object'}},
10756 @ReturnMapping(StringsResults
)
10757 async def AuthorisedKeys(self
, entities
):
10759 entities : typing.Sequence[~Entity]
10760 Returns -> typing.Sequence[~StringsResult]
10762 # map input types to rpc msg
10764 msg
= dict(Type
='KeyUpdater', Request
='AuthorisedKeys', Version
=1, Params
=params
)
10765 params
['Entities'] = entities
10766 reply
= await self
.rpc(msg
)
10771 @ReturnMapping(NotifyWatchResults
)
10772 async def WatchAuthorisedKeys(self
, entities
):
10774 entities : typing.Sequence[~Entity]
10775 Returns -> typing.Sequence[~NotifyWatchResult]
10777 # map input types to rpc msg
10779 msg
= dict(Type
='KeyUpdater', Request
='WatchAuthorisedKeys', Version
=1, Params
=params
)
10780 params
['Entities'] = entities
10781 reply
= await self
.rpc(msg
)
10785 class LeadershipService(Type
):
10786 name
= 'LeadershipService'
10788 schema
= {'definitions': {'ClaimLeadershipBulkParams': {'additionalProperties': False,
10789 'properties': {'Params': {'items': {'$ref': '#/definitions/ClaimLeadershipParams'},
10791 'required': ['Params'],
10793 'ClaimLeadershipBulkResults': {'additionalProperties': False,
10794 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
10796 'required': ['Results'],
10798 'ClaimLeadershipParams': {'additionalProperties': False,
10799 'properties': {'DurationSeconds': {'type': 'number'},
10800 'ServiceTag': {'type': 'string'},
10801 'UnitTag': {'type': 'string'}},
10802 'required': ['ServiceTag',
10804 'DurationSeconds'],
10806 'Error': {'additionalProperties': False,
10807 'properties': {'Code': {'type': 'string'},
10808 'Info': {'$ref': '#/definitions/ErrorInfo'},
10809 'Message': {'type': 'string'}},
10810 'required': ['Message', 'Code'],
10812 'ErrorInfo': {'additionalProperties': False,
10813 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
10814 'MacaroonPath': {'type': 'string'}},
10816 'ErrorResult': {'additionalProperties': False,
10817 'properties': {'Error': {'$ref': '#/definitions/Error'}},
10818 'required': ['Error'],
10820 'Macaroon': {'additionalProperties': False,
10821 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
10823 'data': {'items': {'type': 'integer'},
10825 'id': {'$ref': '#/definitions/packet'},
10826 'location': {'$ref': '#/definitions/packet'},
10827 'sig': {'items': {'type': 'integer'},
10829 'required': ['data',
10835 'ServiceTag': {'additionalProperties': False,
10836 'properties': {'Name': {'type': 'string'}},
10837 'required': ['Name'],
10839 'caveat': {'additionalProperties': False,
10840 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
10841 'location': {'$ref': '#/definitions/packet'},
10842 'verificationId': {'$ref': '#/definitions/packet'}},
10843 'required': ['location',
10847 'packet': {'additionalProperties': False,
10848 'properties': {'headerLen': {'type': 'integer'},
10849 'start': {'type': 'integer'},
10850 'totalLen': {'type': 'integer'}},
10851 'required': ['start', 'totalLen', 'headerLen'],
10852 'type': 'object'}},
10853 'properties': {'BlockUntilLeadershipReleased': {'properties': {'Params': {'$ref': '#/definitions/ServiceTag'},
10854 'Result': {'$ref': '#/definitions/ErrorResult'}},
10856 'ClaimLeadership': {'properties': {'Params': {'$ref': '#/definitions/ClaimLeadershipBulkParams'},
10857 'Result': {'$ref': '#/definitions/ClaimLeadershipBulkResults'}},
10858 'type': 'object'}},
10862 @ReturnMapping(ErrorResult
)
10863 async def BlockUntilLeadershipReleased(self
, name
):
10868 # map input types to rpc msg
10870 msg
= dict(Type
='LeadershipService', Request
='BlockUntilLeadershipReleased', Version
=2, Params
=params
)
10871 params
['Name'] = name
10872 reply
= await self
.rpc(msg
)
10877 @ReturnMapping(ClaimLeadershipBulkResults
)
10878 async def ClaimLeadership(self
, params
):
10880 params : typing.Sequence[~ClaimLeadershipParams]
10881 Returns -> typing.Sequence[~ErrorResult]
10883 # map input types to rpc msg
10885 msg
= dict(Type
='LeadershipService', Request
='ClaimLeadership', Version
=2, Params
=params
)
10886 params
['Params'] = params
10887 reply
= await self
.rpc(msg
)
10891 class LifeFlag(Type
):
10894 schema
= {'definitions': {'Entities': {'additionalProperties': False,
10895 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
10897 'required': ['Entities'],
10899 'Entity': {'additionalProperties': False,
10900 'properties': {'Tag': {'type': 'string'}},
10901 'required': ['Tag'],
10903 'Error': {'additionalProperties': False,
10904 'properties': {'Code': {'type': 'string'},
10905 'Info': {'$ref': '#/definitions/ErrorInfo'},
10906 'Message': {'type': 'string'}},
10907 'required': ['Message', 'Code'],
10909 'ErrorInfo': {'additionalProperties': False,
10910 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
10911 'MacaroonPath': {'type': 'string'}},
10913 'LifeResult': {'additionalProperties': False,
10914 'properties': {'Error': {'$ref': '#/definitions/Error'},
10915 'Life': {'type': 'string'}},
10916 'required': ['Life', 'Error'],
10918 'LifeResults': {'additionalProperties': False,
10919 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
10921 'required': ['Results'],
10923 'Macaroon': {'additionalProperties': False,
10924 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
10926 'data': {'items': {'type': 'integer'},
10928 'id': {'$ref': '#/definitions/packet'},
10929 'location': {'$ref': '#/definitions/packet'},
10930 'sig': {'items': {'type': 'integer'},
10932 'required': ['data',
10938 'NotifyWatchResult': {'additionalProperties': False,
10939 'properties': {'Error': {'$ref': '#/definitions/Error'},
10940 'NotifyWatcherId': {'type': 'string'}},
10941 'required': ['NotifyWatcherId', 'Error'],
10943 'NotifyWatchResults': {'additionalProperties': False,
10944 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
10946 'required': ['Results'],
10948 'caveat': {'additionalProperties': False,
10949 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
10950 'location': {'$ref': '#/definitions/packet'},
10951 'verificationId': {'$ref': '#/definitions/packet'}},
10952 'required': ['location',
10956 'packet': {'additionalProperties': False,
10957 'properties': {'headerLen': {'type': 'integer'},
10958 'start': {'type': 'integer'},
10959 'totalLen': {'type': 'integer'}},
10960 'required': ['start', 'totalLen', 'headerLen'],
10961 'type': 'object'}},
10962 'properties': {'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10963 'Result': {'$ref': '#/definitions/LifeResults'}},
10965 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10966 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
10967 'type': 'object'}},
10971 @ReturnMapping(LifeResults
)
10972 async def Life(self
, entities
):
10974 entities : typing.Sequence[~Entity]
10975 Returns -> typing.Sequence[~LifeResult]
10977 # map input types to rpc msg
10979 msg
= dict(Type
='LifeFlag', Request
='Life', Version
=1, Params
=params
)
10980 params
['Entities'] = entities
10981 reply
= await self
.rpc(msg
)
10986 @ReturnMapping(NotifyWatchResults
)
10987 async def Watch(self
, entities
):
10989 entities : typing.Sequence[~Entity]
10990 Returns -> typing.Sequence[~NotifyWatchResult]
10992 # map input types to rpc msg
10994 msg
= dict(Type
='LifeFlag', Request
='Watch', Version
=1, Params
=params
)
10995 params
['Entities'] = entities
10996 reply
= await self
.rpc(msg
)
11000 class Logger(Type
):
11003 schema
= {'definitions': {'Entities': {'additionalProperties': False,
11004 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
11006 'required': ['Entities'],
11008 'Entity': {'additionalProperties': False,
11009 'properties': {'Tag': {'type': 'string'}},
11010 'required': ['Tag'],
11012 'Error': {'additionalProperties': False,
11013 'properties': {'Code': {'type': 'string'},
11014 'Info': {'$ref': '#/definitions/ErrorInfo'},
11015 'Message': {'type': 'string'}},
11016 'required': ['Message', 'Code'],
11018 'ErrorInfo': {'additionalProperties': False,
11019 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
11020 'MacaroonPath': {'type': 'string'}},
11022 'Macaroon': {'additionalProperties': False,
11023 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
11025 'data': {'items': {'type': 'integer'},
11027 'id': {'$ref': '#/definitions/packet'},
11028 'location': {'$ref': '#/definitions/packet'},
11029 'sig': {'items': {'type': 'integer'},
11031 'required': ['data',
11037 'NotifyWatchResult': {'additionalProperties': False,
11038 'properties': {'Error': {'$ref': '#/definitions/Error'},
11039 'NotifyWatcherId': {'type': 'string'}},
11040 'required': ['NotifyWatcherId', 'Error'],
11042 'NotifyWatchResults': {'additionalProperties': False,
11043 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
11045 'required': ['Results'],
11047 'StringResult': {'additionalProperties': False,
11048 'properties': {'Error': {'$ref': '#/definitions/Error'},
11049 'Result': {'type': 'string'}},
11050 'required': ['Error', 'Result'],
11052 'StringResults': {'additionalProperties': False,
11053 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'},
11055 'required': ['Results'],
11057 'caveat': {'additionalProperties': False,
11058 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
11059 'location': {'$ref': '#/definitions/packet'},
11060 'verificationId': {'$ref': '#/definitions/packet'}},
11061 'required': ['location',
11065 'packet': {'additionalProperties': False,
11066 'properties': {'headerLen': {'type': 'integer'},
11067 'start': {'type': 'integer'},
11068 'totalLen': {'type': 'integer'}},
11069 'required': ['start', 'totalLen', 'headerLen'],
11070 'type': 'object'}},
11071 'properties': {'LoggingConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11072 'Result': {'$ref': '#/definitions/StringResults'}},
11074 'WatchLoggingConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11075 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
11076 'type': 'object'}},
11080 @ReturnMapping(StringResults
)
11081 async def LoggingConfig(self
, entities
):
11083 entities : typing.Sequence[~Entity]
11084 Returns -> typing.Sequence[~StringResult]
11086 # map input types to rpc msg
11088 msg
= dict(Type
='Logger', Request
='LoggingConfig', Version
=1, Params
=params
)
11089 params
['Entities'] = entities
11090 reply
= await self
.rpc(msg
)
11095 @ReturnMapping(NotifyWatchResults
)
11096 async def WatchLoggingConfig(self
, entities
):
11098 entities : typing.Sequence[~Entity]
11099 Returns -> typing.Sequence[~NotifyWatchResult]
11101 # map input types to rpc msg
11103 msg
= dict(Type
='Logger', Request
='WatchLoggingConfig', Version
=1, Params
=params
)
11104 params
['Entities'] = entities
11105 reply
= await self
.rpc(msg
)
11109 class MachineActions(Type
):
11110 name
= 'MachineActions'
11112 schema
= {'definitions': {'Action': {'additionalProperties': False,
11113 'properties': {'name': {'type': 'string'},
11114 'parameters': {'patternProperties': {'.*': {'additionalProperties': True,
11115 'type': 'object'}},
11117 'receiver': {'type': 'string'},
11118 'tag': {'type': 'string'}},
11119 'required': ['tag', 'receiver', 'name'],
11121 'ActionExecutionResult': {'additionalProperties': False,
11122 'properties': {'actiontag': {'type': 'string'},
11123 'message': {'type': 'string'},
11124 'results': {'patternProperties': {'.*': {'additionalProperties': True,
11125 'type': 'object'}},
11127 'status': {'type': 'string'}},
11128 'required': ['actiontag', 'status'],
11130 'ActionExecutionResults': {'additionalProperties': False,
11131 'properties': {'results': {'items': {'$ref': '#/definitions/ActionExecutionResult'},
11134 'ActionResult': {'additionalProperties': False,
11135 'properties': {'action': {'$ref': '#/definitions/Action'},
11136 'completed': {'format': 'date-time',
11138 'enqueued': {'format': 'date-time',
11140 'error': {'$ref': '#/definitions/Error'},
11141 'message': {'type': 'string'},
11142 'output': {'patternProperties': {'.*': {'additionalProperties': True,
11143 'type': 'object'}},
11145 'started': {'format': 'date-time',
11147 'status': {'type': 'string'}},
11149 'ActionResults': {'additionalProperties': False,
11150 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'},
11153 'ActionsByReceiver': {'additionalProperties': False,
11154 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'},
11156 'error': {'$ref': '#/definitions/Error'},
11157 'receiver': {'type': 'string'}},
11159 'ActionsByReceivers': {'additionalProperties': False,
11160 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByReceiver'},
11163 'Entities': {'additionalProperties': False,
11164 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
11166 'required': ['Entities'],
11168 'Entity': {'additionalProperties': False,
11169 'properties': {'Tag': {'type': 'string'}},
11170 'required': ['Tag'],
11172 'Error': {'additionalProperties': False,
11173 'properties': {'Code': {'type': 'string'},
11174 'Info': {'$ref': '#/definitions/ErrorInfo'},
11175 'Message': {'type': 'string'}},
11176 'required': ['Message', 'Code'],
11178 'ErrorInfo': {'additionalProperties': False,
11179 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
11180 'MacaroonPath': {'type': 'string'}},
11182 'ErrorResult': {'additionalProperties': False,
11183 'properties': {'Error': {'$ref': '#/definitions/Error'}},
11184 'required': ['Error'],
11186 'ErrorResults': {'additionalProperties': False,
11187 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
11189 'required': ['Results'],
11191 'Macaroon': {'additionalProperties': False,
11192 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
11194 'data': {'items': {'type': 'integer'},
11196 'id': {'$ref': '#/definitions/packet'},
11197 'location': {'$ref': '#/definitions/packet'},
11198 'sig': {'items': {'type': 'integer'},
11200 'required': ['data',
11206 'StringsWatchResult': {'additionalProperties': False,
11207 'properties': {'Changes': {'items': {'type': 'string'},
11209 'Error': {'$ref': '#/definitions/Error'},
11210 'StringsWatcherId': {'type': 'string'}},
11211 'required': ['StringsWatcherId',
11215 'StringsWatchResults': {'additionalProperties': False,
11216 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
11218 'required': ['Results'],
11220 'caveat': {'additionalProperties': False,
11221 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
11222 'location': {'$ref': '#/definitions/packet'},
11223 'verificationId': {'$ref': '#/definitions/packet'}},
11224 'required': ['location',
11228 'packet': {'additionalProperties': False,
11229 'properties': {'headerLen': {'type': 'integer'},
11230 'start': {'type': 'integer'},
11231 'totalLen': {'type': 'integer'}},
11232 'required': ['start', 'totalLen', 'headerLen'],
11233 'type': 'object'}},
11234 'properties': {'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11235 'Result': {'$ref': '#/definitions/ActionResults'}},
11237 'BeginActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11238 'Result': {'$ref': '#/definitions/ErrorResults'}},
11240 'FinishActions': {'properties': {'Params': {'$ref': '#/definitions/ActionExecutionResults'},
11241 'Result': {'$ref': '#/definitions/ErrorResults'}},
11243 'RunningActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11244 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
11246 'WatchActionNotifications': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11247 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
11248 'type': 'object'}},
11252 @ReturnMapping(ActionResults
)
11253 async def Actions(self
, entities
):
11255 entities : typing.Sequence[~Entity]
11256 Returns -> typing.Sequence[~ActionResult]
11258 # map input types to rpc msg
11260 msg
= dict(Type
='MachineActions', Request
='Actions', Version
=1, Params
=params
)
11261 params
['Entities'] = entities
11262 reply
= await self
.rpc(msg
)
11267 @ReturnMapping(ErrorResults
)
11268 async def BeginActions(self
, entities
):
11270 entities : typing.Sequence[~Entity]
11271 Returns -> typing.Sequence[~ErrorResult]
11273 # map input types to rpc msg
11275 msg
= dict(Type
='MachineActions', Request
='BeginActions', Version
=1, Params
=params
)
11276 params
['Entities'] = entities
11277 reply
= await self
.rpc(msg
)
11282 @ReturnMapping(ErrorResults
)
11283 async def FinishActions(self
, results
):
11285 results : typing.Sequence[~ActionExecutionResult]
11286 Returns -> typing.Sequence[~ErrorResult]
11288 # map input types to rpc msg
11290 msg
= dict(Type
='MachineActions', Request
='FinishActions', Version
=1, Params
=params
)
11291 params
['results'] = results
11292 reply
= await self
.rpc(msg
)
11297 @ReturnMapping(ActionsByReceivers
)
11298 async def RunningActions(self
, entities
):
11300 entities : typing.Sequence[~Entity]
11301 Returns -> typing.Sequence[~ActionsByReceiver]
11303 # map input types to rpc msg
11305 msg
= dict(Type
='MachineActions', Request
='RunningActions', Version
=1, Params
=params
)
11306 params
['Entities'] = entities
11307 reply
= await self
.rpc(msg
)
11312 @ReturnMapping(StringsWatchResults
)
11313 async def WatchActionNotifications(self
, entities
):
11315 entities : typing.Sequence[~Entity]
11316 Returns -> typing.Sequence[~StringsWatchResult]
11318 # map input types to rpc msg
11320 msg
= dict(Type
='MachineActions', Request
='WatchActionNotifications', Version
=1, Params
=params
)
11321 params
['Entities'] = entities
11322 reply
= await self
.rpc(msg
)
11326 class MachineManager(Type
):
11327 name
= 'MachineManager'
11329 schema
= {'definitions': {'AddMachineParams': {'additionalProperties': False,
11330 'properties': {'Addrs': {'items': {'$ref': '#/definitions/Address'},
11332 'Constraints': {'$ref': '#/definitions/Value'},
11333 'ContainerType': {'type': 'string'},
11334 'Disks': {'items': {'$ref': '#/definitions/Constraints'},
11336 'HardwareCharacteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
11337 'InstanceId': {'type': 'string'},
11338 'Jobs': {'items': {'type': 'string'},
11340 'Nonce': {'type': 'string'},
11341 'ParentId': {'type': 'string'},
11342 'Placement': {'$ref': '#/definitions/Placement'},
11343 'Series': {'type': 'string'}},
11344 'required': ['Series',
11353 'HardwareCharacteristics',
11356 'AddMachines': {'additionalProperties': False,
11357 'properties': {'MachineParams': {'items': {'$ref': '#/definitions/AddMachineParams'},
11359 'required': ['MachineParams'],
11361 'AddMachinesResult': {'additionalProperties': False,
11362 'properties': {'Error': {'$ref': '#/definitions/Error'},
11363 'Machine': {'type': 'string'}},
11364 'required': ['Machine', 'Error'],
11366 'AddMachinesResults': {'additionalProperties': False,
11367 'properties': {'Machines': {'items': {'$ref': '#/definitions/AddMachinesResult'},
11369 'required': ['Machines'],
11371 'Address': {'additionalProperties': False,
11372 'properties': {'Scope': {'type': 'string'},
11373 'SpaceName': {'type': 'string'},
11374 'Type': {'type': 'string'},
11375 'Value': {'type': 'string'}},
11376 'required': ['Value', 'Type', 'Scope'],
11378 'Constraints': {'additionalProperties': False,
11379 'properties': {'Count': {'type': 'integer'},
11380 'Pool': {'type': 'string'},
11381 'Size': {'type': 'integer'}},
11382 'required': ['Pool', 'Size', 'Count'],
11384 'Error': {'additionalProperties': False,
11385 'properties': {'Code': {'type': 'string'},
11386 'Info': {'$ref': '#/definitions/ErrorInfo'},
11387 'Message': {'type': 'string'}},
11388 'required': ['Message', 'Code'],
11390 'ErrorInfo': {'additionalProperties': False,
11391 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
11392 'MacaroonPath': {'type': 'string'}},
11394 'HardwareCharacteristics': {'additionalProperties': False,
11395 'properties': {'Arch': {'type': 'string'},
11396 'AvailabilityZone': {'type': 'string'},
11397 'CpuCores': {'type': 'integer'},
11398 'CpuPower': {'type': 'integer'},
11399 'Mem': {'type': 'integer'},
11400 'RootDisk': {'type': 'integer'},
11401 'Tags': {'items': {'type': 'string'},
11404 'Macaroon': {'additionalProperties': False,
11405 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
11407 'data': {'items': {'type': 'integer'},
11409 'id': {'$ref': '#/definitions/packet'},
11410 'location': {'$ref': '#/definitions/packet'},
11411 'sig': {'items': {'type': 'integer'},
11413 'required': ['data',
11419 'Placement': {'additionalProperties': False,
11420 'properties': {'Directive': {'type': 'string'},
11421 'Scope': {'type': 'string'}},
11422 'required': ['Scope', 'Directive'],
11424 'Value': {'additionalProperties': False,
11425 'properties': {'arch': {'type': 'string'},
11426 'container': {'type': 'string'},
11427 'cpu-cores': {'type': 'integer'},
11428 'cpu-power': {'type': 'integer'},
11429 'instance-type': {'type': 'string'},
11430 'mem': {'type': 'integer'},
11431 'root-disk': {'type': 'integer'},
11432 'spaces': {'items': {'type': 'string'},
11434 'tags': {'items': {'type': 'string'},
11436 'virt-type': {'type': 'string'}},
11438 'caveat': {'additionalProperties': False,
11439 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
11440 'location': {'$ref': '#/definitions/packet'},
11441 'verificationId': {'$ref': '#/definitions/packet'}},
11442 'required': ['location',
11446 'packet': {'additionalProperties': False,
11447 'properties': {'headerLen': {'type': 'integer'},
11448 'start': {'type': 'integer'},
11449 'totalLen': {'type': 'integer'}},
11450 'required': ['start', 'totalLen', 'headerLen'],
11451 'type': 'object'}},
11452 'properties': {'AddMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
11453 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
11454 'type': 'object'}},
11458 @ReturnMapping(AddMachinesResults
)
11459 async def AddMachines(self
, machineparams
):
11461 machineparams : typing.Sequence[~AddMachineParams]
11462 Returns -> typing.Sequence[~AddMachinesResult]
11464 # map input types to rpc msg
11466 msg
= dict(Type
='MachineManager', Request
='AddMachines', Version
=2, Params
=params
)
11467 params
['MachineParams'] = machineparams
11468 reply
= await self
.rpc(msg
)
11472 class Machiner(Type
):
11475 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
11476 'properties': {'Servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
11479 'required': ['Servers'],
11481 'Address': {'additionalProperties': False,
11482 'properties': {'Scope': {'type': 'string'},
11483 'SpaceName': {'type': 'string'},
11484 'Type': {'type': 'string'},
11485 'Value': {'type': 'string'}},
11486 'required': ['Value', 'Type', 'Scope'],
11488 'BytesResult': {'additionalProperties': False,
11489 'properties': {'Result': {'items': {'type': 'integer'},
11491 'required': ['Result'],
11493 'Entities': {'additionalProperties': False,
11494 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
11496 'required': ['Entities'],
11498 'Entity': {'additionalProperties': False,
11499 'properties': {'Tag': {'type': 'string'}},
11500 'required': ['Tag'],
11502 'EntityStatusArgs': {'additionalProperties': False,
11503 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
11504 'type': 'object'}},
11506 'Info': {'type': 'string'},
11507 'Status': {'type': 'string'},
11508 'Tag': {'type': 'string'}},
11509 'required': ['Tag',
11514 'Error': {'additionalProperties': False,
11515 'properties': {'Code': {'type': 'string'},
11516 'Info': {'$ref': '#/definitions/ErrorInfo'},
11517 'Message': {'type': 'string'}},
11518 'required': ['Message', 'Code'],
11520 'ErrorInfo': {'additionalProperties': False,
11521 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
11522 'MacaroonPath': {'type': 'string'}},
11524 'ErrorResult': {'additionalProperties': False,
11525 'properties': {'Error': {'$ref': '#/definitions/Error'}},
11526 'required': ['Error'],
11528 'ErrorResults': {'additionalProperties': False,
11529 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
11531 'required': ['Results'],
11533 'HostPort': {'additionalProperties': False,
11534 'properties': {'Address': {'$ref': '#/definitions/Address'},
11535 'Port': {'type': 'integer'}},
11536 'required': ['Address', 'Port'],
11538 'JobsResult': {'additionalProperties': False,
11539 'properties': {'Error': {'$ref': '#/definitions/Error'},
11540 'Jobs': {'items': {'type': 'string'},
11542 'required': ['Jobs', 'Error'],
11544 'JobsResults': {'additionalProperties': False,
11545 'properties': {'Results': {'items': {'$ref': '#/definitions/JobsResult'},
11547 'required': ['Results'],
11549 'LifeResult': {'additionalProperties': False,
11550 'properties': {'Error': {'$ref': '#/definitions/Error'},
11551 'Life': {'type': 'string'}},
11552 'required': ['Life', 'Error'],
11554 'LifeResults': {'additionalProperties': False,
11555 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
11557 'required': ['Results'],
11559 'Macaroon': {'additionalProperties': False,
11560 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
11562 'data': {'items': {'type': 'integer'},
11564 'id': {'$ref': '#/definitions/packet'},
11565 'location': {'$ref': '#/definitions/packet'},
11566 'sig': {'items': {'type': 'integer'},
11568 'required': ['data',
11574 'MachineAddresses': {'additionalProperties': False,
11575 'properties': {'Addresses': {'items': {'$ref': '#/definitions/Address'},
11577 'Tag': {'type': 'string'}},
11578 'required': ['Tag', 'Addresses'],
11580 'NetworkConfig': {'additionalProperties': False,
11581 'properties': {'Address': {'type': 'string'},
11582 'CIDR': {'type': 'string'},
11583 'ConfigType': {'type': 'string'},
11584 'DNSSearchDomains': {'items': {'type': 'string'},
11586 'DNSServers': {'items': {'type': 'string'},
11588 'DeviceIndex': {'type': 'integer'},
11589 'Disabled': {'type': 'boolean'},
11590 'GatewayAddress': {'type': 'string'},
11591 'InterfaceName': {'type': 'string'},
11592 'InterfaceType': {'type': 'string'},
11593 'MACAddress': {'type': 'string'},
11594 'MTU': {'type': 'integer'},
11595 'NoAutoStart': {'type': 'boolean'},
11596 'ParentInterfaceName': {'type': 'string'},
11597 'ProviderAddressId': {'type': 'string'},
11598 'ProviderId': {'type': 'string'},
11599 'ProviderSpaceId': {'type': 'string'},
11600 'ProviderSubnetId': {'type': 'string'},
11601 'ProviderVLANId': {'type': 'string'},
11602 'VLANTag': {'type': 'integer'}},
11603 'required': ['DeviceIndex',
11608 'ProviderSubnetId',
11610 'ProviderAddressId',
11614 'ParentInterfaceName',
11618 'NotifyWatchResult': {'additionalProperties': False,
11619 'properties': {'Error': {'$ref': '#/definitions/Error'},
11620 'NotifyWatcherId': {'type': 'string'}},
11621 'required': ['NotifyWatcherId', 'Error'],
11623 'NotifyWatchResults': {'additionalProperties': False,
11624 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
11626 'required': ['Results'],
11628 'SetMachineNetworkConfig': {'additionalProperties': False,
11629 'properties': {'Config': {'items': {'$ref': '#/definitions/NetworkConfig'},
11631 'Tag': {'type': 'string'}},
11632 'required': ['Tag', 'Config'],
11634 'SetMachinesAddresses': {'additionalProperties': False,
11635 'properties': {'MachineAddresses': {'items': {'$ref': '#/definitions/MachineAddresses'},
11637 'required': ['MachineAddresses'],
11639 'SetStatus': {'additionalProperties': False,
11640 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
11642 'required': ['Entities'],
11644 'StringResult': {'additionalProperties': False,
11645 'properties': {'Error': {'$ref': '#/definitions/Error'},
11646 'Result': {'type': 'string'}},
11647 'required': ['Error', 'Result'],
11649 'StringsResult': {'additionalProperties': False,
11650 'properties': {'Error': {'$ref': '#/definitions/Error'},
11651 'Result': {'items': {'type': 'string'},
11653 'required': ['Error', 'Result'],
11655 'caveat': {'additionalProperties': False,
11656 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
11657 'location': {'$ref': '#/definitions/packet'},
11658 'verificationId': {'$ref': '#/definitions/packet'}},
11659 'required': ['location',
11663 'packet': {'additionalProperties': False,
11664 'properties': {'headerLen': {'type': 'integer'},
11665 'start': {'type': 'integer'},
11666 'totalLen': {'type': 'integer'}},
11667 'required': ['start', 'totalLen', 'headerLen'],
11668 'type': 'object'}},
11669 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
11671 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
11673 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
11675 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11676 'Result': {'$ref': '#/definitions/ErrorResults'}},
11678 'Jobs': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11679 'Result': {'$ref': '#/definitions/JobsResults'}},
11681 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11682 'Result': {'$ref': '#/definitions/LifeResults'}},
11684 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
11686 'SetMachineAddresses': {'properties': {'Params': {'$ref': '#/definitions/SetMachinesAddresses'},
11687 'Result': {'$ref': '#/definitions/ErrorResults'}},
11689 'SetObservedNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/SetMachineNetworkConfig'}},
11691 'SetProviderNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11692 'Result': {'$ref': '#/definitions/ErrorResults'}},
11694 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
11695 'Result': {'$ref': '#/definitions/ErrorResults'}},
11697 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
11698 'Result': {'$ref': '#/definitions/ErrorResults'}},
11700 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11701 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
11703 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
11704 'type': 'object'}},
11708 @ReturnMapping(StringsResult
)
11709 async def APIAddresses(self
):
11712 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
11714 # map input types to rpc msg
11716 msg
= dict(Type
='Machiner', Request
='APIAddresses', Version
=1, Params
=params
)
11718 reply
= await self
.rpc(msg
)
11723 @ReturnMapping(APIHostPortsResult
)
11724 async def APIHostPorts(self
):
11727 Returns -> typing.Sequence[~HostPort]
11729 # map input types to rpc msg
11731 msg
= dict(Type
='Machiner', Request
='APIHostPorts', Version
=1, Params
=params
)
11733 reply
= await self
.rpc(msg
)
11738 @ReturnMapping(BytesResult
)
11739 async def CACert(self
):
11742 Returns -> typing.Sequence[int]
11744 # map input types to rpc msg
11746 msg
= dict(Type
='Machiner', Request
='CACert', Version
=1, Params
=params
)
11748 reply
= await self
.rpc(msg
)
11753 @ReturnMapping(ErrorResults
)
11754 async def EnsureDead(self
, entities
):
11756 entities : typing.Sequence[~Entity]
11757 Returns -> typing.Sequence[~ErrorResult]
11759 # map input types to rpc msg
11761 msg
= dict(Type
='Machiner', Request
='EnsureDead', Version
=1, Params
=params
)
11762 params
['Entities'] = entities
11763 reply
= await self
.rpc(msg
)
11768 @ReturnMapping(JobsResults
)
11769 async def Jobs(self
, entities
):
11771 entities : typing.Sequence[~Entity]
11772 Returns -> typing.Sequence[~JobsResult]
11774 # map input types to rpc msg
11776 msg
= dict(Type
='Machiner', Request
='Jobs', Version
=1, Params
=params
)
11777 params
['Entities'] = entities
11778 reply
= await self
.rpc(msg
)
11783 @ReturnMapping(LifeResults
)
11784 async def Life(self
, entities
):
11786 entities : typing.Sequence[~Entity]
11787 Returns -> typing.Sequence[~LifeResult]
11789 # map input types to rpc msg
11791 msg
= dict(Type
='Machiner', Request
='Life', Version
=1, Params
=params
)
11792 params
['Entities'] = entities
11793 reply
= await self
.rpc(msg
)
11798 @ReturnMapping(StringResult
)
11799 async def ModelUUID(self
):
11802 Returns -> typing.Union[_ForwardRef('Error'), str]
11804 # map input types to rpc msg
11806 msg
= dict(Type
='Machiner', Request
='ModelUUID', Version
=1, Params
=params
)
11808 reply
= await self
.rpc(msg
)
11813 @ReturnMapping(ErrorResults
)
11814 async def SetMachineAddresses(self
, machineaddresses
):
11816 machineaddresses : typing.Sequence[~MachineAddresses]
11817 Returns -> typing.Sequence[~ErrorResult]
11819 # map input types to rpc msg
11821 msg
= dict(Type
='Machiner', Request
='SetMachineAddresses', Version
=1, Params
=params
)
11822 params
['MachineAddresses'] = machineaddresses
11823 reply
= await self
.rpc(msg
)
11828 @ReturnMapping(None)
11829 async def SetObservedNetworkConfig(self
, config
, tag
):
11831 config : typing.Sequence[~NetworkConfig]
11835 # map input types to rpc msg
11837 msg
= dict(Type
='Machiner', Request
='SetObservedNetworkConfig', Version
=1, Params
=params
)
11838 params
['Config'] = config
11839 params
['Tag'] = tag
11840 reply
= await self
.rpc(msg
)
11845 @ReturnMapping(ErrorResults
)
11846 async def SetProviderNetworkConfig(self
, entities
):
11848 entities : typing.Sequence[~Entity]
11849 Returns -> typing.Sequence[~ErrorResult]
11851 # map input types to rpc msg
11853 msg
= dict(Type
='Machiner', Request
='SetProviderNetworkConfig', Version
=1, Params
=params
)
11854 params
['Entities'] = entities
11855 reply
= await self
.rpc(msg
)
11860 @ReturnMapping(ErrorResults
)
11861 async def SetStatus(self
, entities
):
11863 entities : typing.Sequence[~EntityStatusArgs]
11864 Returns -> typing.Sequence[~ErrorResult]
11866 # map input types to rpc msg
11868 msg
= dict(Type
='Machiner', Request
='SetStatus', Version
=1, Params
=params
)
11869 params
['Entities'] = entities
11870 reply
= await self
.rpc(msg
)
11875 @ReturnMapping(ErrorResults
)
11876 async def UpdateStatus(self
, entities
):
11878 entities : typing.Sequence[~EntityStatusArgs]
11879 Returns -> typing.Sequence[~ErrorResult]
11881 # map input types to rpc msg
11883 msg
= dict(Type
='Machiner', Request
='UpdateStatus', Version
=1, Params
=params
)
11884 params
['Entities'] = entities
11885 reply
= await self
.rpc(msg
)
11890 @ReturnMapping(NotifyWatchResults
)
11891 async def Watch(self
, entities
):
11893 entities : typing.Sequence[~Entity]
11894 Returns -> typing.Sequence[~NotifyWatchResult]
11896 # map input types to rpc msg
11898 msg
= dict(Type
='Machiner', Request
='Watch', Version
=1, Params
=params
)
11899 params
['Entities'] = entities
11900 reply
= await self
.rpc(msg
)
11905 @ReturnMapping(NotifyWatchResult
)
11906 async def WatchAPIHostPorts(self
):
11909 Returns -> typing.Union[_ForwardRef('Error'), str]
11911 # map input types to rpc msg
11913 msg
= dict(Type
='Machiner', Request
='WatchAPIHostPorts', Version
=1, Params
=params
)
11915 reply
= await self
.rpc(msg
)
11919 class MeterStatus(Type
):
11920 name
= 'MeterStatus'
11922 schema
= {'definitions': {'Entities': {'additionalProperties': False,
11923 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
11925 'required': ['Entities'],
11927 'Entity': {'additionalProperties': False,
11928 'properties': {'Tag': {'type': 'string'}},
11929 'required': ['Tag'],
11931 'Error': {'additionalProperties': False,
11932 'properties': {'Code': {'type': 'string'},
11933 'Info': {'$ref': '#/definitions/ErrorInfo'},
11934 'Message': {'type': 'string'}},
11935 'required': ['Message', 'Code'],
11937 'ErrorInfo': {'additionalProperties': False,
11938 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
11939 'MacaroonPath': {'type': 'string'}},
11941 'Macaroon': {'additionalProperties': False,
11942 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
11944 'data': {'items': {'type': 'integer'},
11946 'id': {'$ref': '#/definitions/packet'},
11947 'location': {'$ref': '#/definitions/packet'},
11948 'sig': {'items': {'type': 'integer'},
11950 'required': ['data',
11956 'MeterStatusResult': {'additionalProperties': False,
11957 'properties': {'Code': {'type': 'string'},
11958 'Error': {'$ref': '#/definitions/Error'},
11959 'Info': {'type': 'string'}},
11960 'required': ['Code', 'Info', 'Error'],
11962 'MeterStatusResults': {'additionalProperties': False,
11963 'properties': {'Results': {'items': {'$ref': '#/definitions/MeterStatusResult'},
11965 'required': ['Results'],
11967 'NotifyWatchResult': {'additionalProperties': False,
11968 'properties': {'Error': {'$ref': '#/definitions/Error'},
11969 'NotifyWatcherId': {'type': 'string'}},
11970 'required': ['NotifyWatcherId', 'Error'],
11972 'NotifyWatchResults': {'additionalProperties': False,
11973 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
11975 'required': ['Results'],
11977 'caveat': {'additionalProperties': False,
11978 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
11979 'location': {'$ref': '#/definitions/packet'},
11980 'verificationId': {'$ref': '#/definitions/packet'}},
11981 'required': ['location',
11985 'packet': {'additionalProperties': False,
11986 'properties': {'headerLen': {'type': 'integer'},
11987 'start': {'type': 'integer'},
11988 'totalLen': {'type': 'integer'}},
11989 'required': ['start', 'totalLen', 'headerLen'],
11990 'type': 'object'}},
11991 'properties': {'GetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11992 'Result': {'$ref': '#/definitions/MeterStatusResults'}},
11994 'WatchMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11995 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
11996 'type': 'object'}},
12000 @ReturnMapping(MeterStatusResults
)
12001 async def GetMeterStatus(self
, entities
):
12003 entities : typing.Sequence[~Entity]
12004 Returns -> typing.Sequence[~MeterStatusResult]
12006 # map input types to rpc msg
12008 msg
= dict(Type
='MeterStatus', Request
='GetMeterStatus', Version
=1, Params
=params
)
12009 params
['Entities'] = entities
12010 reply
= await self
.rpc(msg
)
12015 @ReturnMapping(NotifyWatchResults
)
12016 async def WatchMeterStatus(self
, entities
):
12018 entities : typing.Sequence[~Entity]
12019 Returns -> typing.Sequence[~NotifyWatchResult]
12021 # map input types to rpc msg
12023 msg
= dict(Type
='MeterStatus', Request
='WatchMeterStatus', Version
=1, Params
=params
)
12024 params
['Entities'] = entities
12025 reply
= await self
.rpc(msg
)
12029 class MetricsAdder(Type
):
12030 name
= 'MetricsAdder'
12032 schema
= {'definitions': {'Error': {'additionalProperties': False,
12033 'properties': {'Code': {'type': 'string'},
12034 'Info': {'$ref': '#/definitions/ErrorInfo'},
12035 'Message': {'type': 'string'}},
12036 'required': ['Message', 'Code'],
12038 'ErrorInfo': {'additionalProperties': False,
12039 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12040 'MacaroonPath': {'type': 'string'}},
12042 'ErrorResult': {'additionalProperties': False,
12043 'properties': {'Error': {'$ref': '#/definitions/Error'}},
12044 'required': ['Error'],
12046 'ErrorResults': {'additionalProperties': False,
12047 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
12049 'required': ['Results'],
12051 'Macaroon': {'additionalProperties': False,
12052 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12054 'data': {'items': {'type': 'integer'},
12056 'id': {'$ref': '#/definitions/packet'},
12057 'location': {'$ref': '#/definitions/packet'},
12058 'sig': {'items': {'type': 'integer'},
12060 'required': ['data',
12066 'Metric': {'additionalProperties': False,
12067 'properties': {'Key': {'type': 'string'},
12068 'Time': {'format': 'date-time',
12070 'Value': {'type': 'string'}},
12071 'required': ['Key', 'Value', 'Time'],
12073 'MetricBatch': {'additionalProperties': False,
12074 'properties': {'CharmURL': {'type': 'string'},
12075 'Created': {'format': 'date-time',
12077 'Metrics': {'items': {'$ref': '#/definitions/Metric'},
12079 'UUID': {'type': 'string'}},
12080 'required': ['UUID',
12085 'MetricBatchParam': {'additionalProperties': False,
12086 'properties': {'Batch': {'$ref': '#/definitions/MetricBatch'},
12087 'Tag': {'type': 'string'}},
12088 'required': ['Tag', 'Batch'],
12090 'MetricBatchParams': {'additionalProperties': False,
12091 'properties': {'Batches': {'items': {'$ref': '#/definitions/MetricBatchParam'},
12093 'required': ['Batches'],
12095 'caveat': {'additionalProperties': False,
12096 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12097 'location': {'$ref': '#/definitions/packet'},
12098 'verificationId': {'$ref': '#/definitions/packet'}},
12099 'required': ['location',
12103 'packet': {'additionalProperties': False,
12104 'properties': {'headerLen': {'type': 'integer'},
12105 'start': {'type': 'integer'},
12106 'totalLen': {'type': 'integer'}},
12107 'required': ['start', 'totalLen', 'headerLen'],
12108 'type': 'object'}},
12109 'properties': {'AddMetricBatches': {'properties': {'Params': {'$ref': '#/definitions/MetricBatchParams'},
12110 'Result': {'$ref': '#/definitions/ErrorResults'}},
12111 'type': 'object'}},
12115 @ReturnMapping(ErrorResults
)
12116 async def AddMetricBatches(self
, batches
):
12118 batches : typing.Sequence[~MetricBatchParam]
12119 Returns -> typing.Sequence[~ErrorResult]
12121 # map input types to rpc msg
12123 msg
= dict(Type
='MetricsAdder', Request
='AddMetricBatches', Version
=2, Params
=params
)
12124 params
['Batches'] = batches
12125 reply
= await self
.rpc(msg
)
12129 class MetricsDebug(Type
):
12130 name
= 'MetricsDebug'
12132 schema
= {'definitions': {'Entities': {'additionalProperties': False,
12133 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
12135 'required': ['Entities'],
12137 'Entity': {'additionalProperties': False,
12138 'properties': {'Tag': {'type': 'string'}},
12139 'required': ['Tag'],
12141 'EntityMetrics': {'additionalProperties': False,
12142 'properties': {'error': {'$ref': '#/definitions/Error'},
12143 'metrics': {'items': {'$ref': '#/definitions/MetricResult'},
12146 'Error': {'additionalProperties': False,
12147 'properties': {'Code': {'type': 'string'},
12148 'Info': {'$ref': '#/definitions/ErrorInfo'},
12149 'Message': {'type': 'string'}},
12150 'required': ['Message', 'Code'],
12152 'ErrorInfo': {'additionalProperties': False,
12153 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12154 'MacaroonPath': {'type': 'string'}},
12156 'ErrorResult': {'additionalProperties': False,
12157 'properties': {'Error': {'$ref': '#/definitions/Error'}},
12158 'required': ['Error'],
12160 'ErrorResults': {'additionalProperties': False,
12161 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
12163 'required': ['Results'],
12165 'Macaroon': {'additionalProperties': False,
12166 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12168 'data': {'items': {'type': 'integer'},
12170 'id': {'$ref': '#/definitions/packet'},
12171 'location': {'$ref': '#/definitions/packet'},
12172 'sig': {'items': {'type': 'integer'},
12174 'required': ['data',
12180 'MeterStatusParam': {'additionalProperties': False,
12181 'properties': {'code': {'type': 'string'},
12182 'info': {'type': 'string'},
12183 'tag': {'type': 'string'}},
12184 'required': ['tag', 'code', 'info'],
12186 'MeterStatusParams': {'additionalProperties': False,
12187 'properties': {'statues': {'items': {'$ref': '#/definitions/MeterStatusParam'},
12189 'required': ['statues'],
12191 'MetricResult': {'additionalProperties': False,
12192 'properties': {'key': {'type': 'string'},
12193 'time': {'format': 'date-time',
12195 'value': {'type': 'string'}},
12196 'required': ['time', 'key', 'value'],
12198 'MetricResults': {'additionalProperties': False,
12199 'properties': {'results': {'items': {'$ref': '#/definitions/EntityMetrics'},
12201 'required': ['results'],
12203 'caveat': {'additionalProperties': False,
12204 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12205 'location': {'$ref': '#/definitions/packet'},
12206 'verificationId': {'$ref': '#/definitions/packet'}},
12207 'required': ['location',
12211 'packet': {'additionalProperties': False,
12212 'properties': {'headerLen': {'type': 'integer'},
12213 'start': {'type': 'integer'},
12214 'totalLen': {'type': 'integer'}},
12215 'required': ['start', 'totalLen', 'headerLen'],
12216 'type': 'object'}},
12217 'properties': {'GetMetrics': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12218 'Result': {'$ref': '#/definitions/MetricResults'}},
12220 'SetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/MeterStatusParams'},
12221 'Result': {'$ref': '#/definitions/ErrorResults'}},
12222 'type': 'object'}},
12226 @ReturnMapping(MetricResults
)
12227 async def GetMetrics(self
, entities
):
12229 entities : typing.Sequence[~Entity]
12230 Returns -> typing.Sequence[~EntityMetrics]
12232 # map input types to rpc msg
12234 msg
= dict(Type
='MetricsDebug', Request
='GetMetrics', Version
=1, Params
=params
)
12235 params
['Entities'] = entities
12236 reply
= await self
.rpc(msg
)
12241 @ReturnMapping(ErrorResults
)
12242 async def SetMeterStatus(self
, statues
):
12244 statues : typing.Sequence[~MeterStatusParam]
12245 Returns -> typing.Sequence[~ErrorResult]
12247 # map input types to rpc msg
12249 msg
= dict(Type
='MetricsDebug', Request
='SetMeterStatus', Version
=1, Params
=params
)
12250 params
['statues'] = statues
12251 reply
= await self
.rpc(msg
)
12255 class MetricsManager(Type
):
12256 name
= 'MetricsManager'
12258 schema
= {'definitions': {'Entities': {'additionalProperties': False,
12259 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
12261 'required': ['Entities'],
12263 'Entity': {'additionalProperties': False,
12264 'properties': {'Tag': {'type': 'string'}},
12265 'required': ['Tag'],
12267 'Error': {'additionalProperties': False,
12268 'properties': {'Code': {'type': 'string'},
12269 'Info': {'$ref': '#/definitions/ErrorInfo'},
12270 'Message': {'type': 'string'}},
12271 'required': ['Message', 'Code'],
12273 'ErrorInfo': {'additionalProperties': False,
12274 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12275 'MacaroonPath': {'type': 'string'}},
12277 'ErrorResult': {'additionalProperties': False,
12278 'properties': {'Error': {'$ref': '#/definitions/Error'}},
12279 'required': ['Error'],
12281 'ErrorResults': {'additionalProperties': False,
12282 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
12284 'required': ['Results'],
12286 'Macaroon': {'additionalProperties': False,
12287 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12289 'data': {'items': {'type': 'integer'},
12291 'id': {'$ref': '#/definitions/packet'},
12292 'location': {'$ref': '#/definitions/packet'},
12293 'sig': {'items': {'type': 'integer'},
12295 'required': ['data',
12301 'caveat': {'additionalProperties': False,
12302 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12303 'location': {'$ref': '#/definitions/packet'},
12304 'verificationId': {'$ref': '#/definitions/packet'}},
12305 'required': ['location',
12309 'packet': {'additionalProperties': False,
12310 'properties': {'headerLen': {'type': 'integer'},
12311 'start': {'type': 'integer'},
12312 'totalLen': {'type': 'integer'}},
12313 'required': ['start', 'totalLen', 'headerLen'],
12314 'type': 'object'}},
12315 'properties': {'CleanupOldMetrics': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12316 'Result': {'$ref': '#/definitions/ErrorResults'}},
12318 'SendMetrics': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12319 'Result': {'$ref': '#/definitions/ErrorResults'}},
12320 'type': 'object'}},
12324 @ReturnMapping(ErrorResults
)
12325 async def CleanupOldMetrics(self
, entities
):
12327 entities : typing.Sequence[~Entity]
12328 Returns -> typing.Sequence[~ErrorResult]
12330 # map input types to rpc msg
12332 msg
= dict(Type
='MetricsManager', Request
='CleanupOldMetrics', Version
=1, Params
=params
)
12333 params
['Entities'] = entities
12334 reply
= await self
.rpc(msg
)
12339 @ReturnMapping(ErrorResults
)
12340 async def SendMetrics(self
, entities
):
12342 entities : typing.Sequence[~Entity]
12343 Returns -> typing.Sequence[~ErrorResult]
12345 # map input types to rpc msg
12347 msg
= dict(Type
='MetricsManager', Request
='SendMetrics', Version
=1, Params
=params
)
12348 params
['Entities'] = entities
12349 reply
= await self
.rpc(msg
)
12353 class MigrationFlag(Type
):
12354 name
= 'MigrationFlag'
12356 schema
= {'definitions': {'Entities': {'additionalProperties': False,
12357 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
12359 'required': ['Entities'],
12361 'Entity': {'additionalProperties': False,
12362 'properties': {'Tag': {'type': 'string'}},
12363 'required': ['Tag'],
12365 'Error': {'additionalProperties': False,
12366 'properties': {'Code': {'type': 'string'},
12367 'Info': {'$ref': '#/definitions/ErrorInfo'},
12368 'Message': {'type': 'string'}},
12369 'required': ['Message', 'Code'],
12371 'ErrorInfo': {'additionalProperties': False,
12372 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12373 'MacaroonPath': {'type': 'string'}},
12375 'Macaroon': {'additionalProperties': False,
12376 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12378 'data': {'items': {'type': 'integer'},
12380 'id': {'$ref': '#/definitions/packet'},
12381 'location': {'$ref': '#/definitions/packet'},
12382 'sig': {'items': {'type': 'integer'},
12384 'required': ['data',
12390 'NotifyWatchResult': {'additionalProperties': False,
12391 'properties': {'Error': {'$ref': '#/definitions/Error'},
12392 'NotifyWatcherId': {'type': 'string'}},
12393 'required': ['NotifyWatcherId', 'Error'],
12395 'NotifyWatchResults': {'additionalProperties': False,
12396 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
12398 'required': ['Results'],
12400 'PhaseResult': {'additionalProperties': False,
12401 'properties': {'Error': {'$ref': '#/definitions/Error'},
12402 'phase': {'type': 'string'}},
12403 'required': ['phase', 'Error'],
12405 'PhaseResults': {'additionalProperties': False,
12406 'properties': {'Results': {'items': {'$ref': '#/definitions/PhaseResult'},
12408 'required': ['Results'],
12410 'caveat': {'additionalProperties': False,
12411 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12412 'location': {'$ref': '#/definitions/packet'},
12413 'verificationId': {'$ref': '#/definitions/packet'}},
12414 'required': ['location',
12418 'packet': {'additionalProperties': False,
12419 'properties': {'headerLen': {'type': 'integer'},
12420 'start': {'type': 'integer'},
12421 'totalLen': {'type': 'integer'}},
12422 'required': ['start', 'totalLen', 'headerLen'],
12423 'type': 'object'}},
12424 'properties': {'Phase': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12425 'Result': {'$ref': '#/definitions/PhaseResults'}},
12427 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12428 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
12429 'type': 'object'}},
12433 @ReturnMapping(PhaseResults
)
12434 async def Phase(self
, entities
):
12436 entities : typing.Sequence[~Entity]
12437 Returns -> typing.Sequence[~PhaseResult]
12439 # map input types to rpc msg
12441 msg
= dict(Type
='MigrationFlag', Request
='Phase', Version
=1, Params
=params
)
12442 params
['Entities'] = entities
12443 reply
= await self
.rpc(msg
)
12448 @ReturnMapping(NotifyWatchResults
)
12449 async def Watch(self
, entities
):
12451 entities : typing.Sequence[~Entity]
12452 Returns -> typing.Sequence[~NotifyWatchResult]
12454 # map input types to rpc msg
12456 msg
= dict(Type
='MigrationFlag', Request
='Watch', Version
=1, Params
=params
)
12457 params
['Entities'] = entities
12458 reply
= await self
.rpc(msg
)
12462 class MigrationMaster(Type
):
12463 name
= 'MigrationMaster'
12465 schema
= {'definitions': {'Error': {'additionalProperties': False,
12466 'properties': {'Code': {'type': 'string'},
12467 'Info': {'$ref': '#/definitions/ErrorInfo'},
12468 'Message': {'type': 'string'}},
12469 'required': ['Message', 'Code'],
12471 'ErrorInfo': {'additionalProperties': False,
12472 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12473 'MacaroonPath': {'type': 'string'}},
12475 'FullMigrationStatus': {'additionalProperties': False,
12476 'properties': {'attempt': {'type': 'integer'},
12477 'phase': {'type': 'string'},
12478 'spec': {'$ref': '#/definitions/ModelMigrationSpec'}},
12479 'required': ['spec',
12483 'Macaroon': {'additionalProperties': False,
12484 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12486 'data': {'items': {'type': 'integer'},
12488 'id': {'$ref': '#/definitions/packet'},
12489 'location': {'$ref': '#/definitions/packet'},
12490 'sig': {'items': {'type': 'integer'},
12492 'required': ['data',
12498 'ModelMigrationSpec': {'additionalProperties': False,
12499 'properties': {'model-tag': {'type': 'string'},
12500 'target-info': {'$ref': '#/definitions/ModelMigrationTargetInfo'}},
12501 'required': ['model-tag',
12504 'ModelMigrationTargetInfo': {'additionalProperties': False,
12505 'properties': {'addrs': {'items': {'type': 'string'},
12507 'auth-tag': {'type': 'string'},
12508 'ca-cert': {'type': 'string'},
12509 'controller-tag': {'type': 'string'},
12510 'password': {'type': 'string'}},
12511 'required': ['controller-tag',
12517 'NotifyWatchResult': {'additionalProperties': False,
12518 'properties': {'Error': {'$ref': '#/definitions/Error'},
12519 'NotifyWatcherId': {'type': 'string'}},
12520 'required': ['NotifyWatcherId', 'Error'],
12522 'SerializedModel': {'additionalProperties': False,
12523 'properties': {'bytes': {'items': {'type': 'integer'},
12525 'required': ['bytes'],
12527 'SetMigrationPhaseArgs': {'additionalProperties': False,
12528 'properties': {'phase': {'type': 'string'}},
12529 'required': ['phase'],
12531 'caveat': {'additionalProperties': False,
12532 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12533 'location': {'$ref': '#/definitions/packet'},
12534 'verificationId': {'$ref': '#/definitions/packet'}},
12535 'required': ['location',
12539 'packet': {'additionalProperties': False,
12540 'properties': {'headerLen': {'type': 'integer'},
12541 'start': {'type': 'integer'},
12542 'totalLen': {'type': 'integer'}},
12543 'required': ['start', 'totalLen', 'headerLen'],
12544 'type': 'object'}},
12545 'properties': {'Export': {'properties': {'Result': {'$ref': '#/definitions/SerializedModel'}},
12547 'GetMigrationStatus': {'properties': {'Result': {'$ref': '#/definitions/FullMigrationStatus'}},
12549 'SetPhase': {'properties': {'Params': {'$ref': '#/definitions/SetMigrationPhaseArgs'}},
12551 'Watch': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
12552 'type': 'object'}},
12556 @ReturnMapping(SerializedModel
)
12557 async def Export(self
):
12560 Returns -> typing.Sequence[int]
12562 # map input types to rpc msg
12564 msg
= dict(Type
='MigrationMaster', Request
='Export', Version
=1, Params
=params
)
12566 reply
= await self
.rpc(msg
)
12571 @ReturnMapping(FullMigrationStatus
)
12572 async def GetMigrationStatus(self
):
12575 Returns -> typing.Union[int, str, _ForwardRef('ModelMigrationSpec')]
12577 # map input types to rpc msg
12579 msg
= dict(Type
='MigrationMaster', Request
='GetMigrationStatus', Version
=1, Params
=params
)
12581 reply
= await self
.rpc(msg
)
12586 @ReturnMapping(None)
12587 async def SetPhase(self
, phase
):
12592 # map input types to rpc msg
12594 msg
= dict(Type
='MigrationMaster', Request
='SetPhase', Version
=1, Params
=params
)
12595 params
['phase'] = phase
12596 reply
= await self
.rpc(msg
)
12601 @ReturnMapping(NotifyWatchResult
)
12602 async def Watch(self
):
12605 Returns -> typing.Union[_ForwardRef('Error'), str]
12607 # map input types to rpc msg
12609 msg
= dict(Type
='MigrationMaster', Request
='Watch', Version
=1, Params
=params
)
12611 reply
= await self
.rpc(msg
)
12615 class MigrationMinion(Type
):
12616 name
= 'MigrationMinion'
12618 schema
= {'definitions': {'Error': {'additionalProperties': False,
12619 'properties': {'Code': {'type': 'string'},
12620 'Info': {'$ref': '#/definitions/ErrorInfo'},
12621 'Message': {'type': 'string'}},
12622 'required': ['Message', 'Code'],
12624 'ErrorInfo': {'additionalProperties': False,
12625 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12626 'MacaroonPath': {'type': 'string'}},
12628 'Macaroon': {'additionalProperties': False,
12629 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12631 'data': {'items': {'type': 'integer'},
12633 'id': {'$ref': '#/definitions/packet'},
12634 'location': {'$ref': '#/definitions/packet'},
12635 'sig': {'items': {'type': 'integer'},
12637 'required': ['data',
12643 'NotifyWatchResult': {'additionalProperties': False,
12644 'properties': {'Error': {'$ref': '#/definitions/Error'},
12645 'NotifyWatcherId': {'type': 'string'}},
12646 'required': ['NotifyWatcherId', 'Error'],
12648 'caveat': {'additionalProperties': False,
12649 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12650 'location': {'$ref': '#/definitions/packet'},
12651 'verificationId': {'$ref': '#/definitions/packet'}},
12652 'required': ['location',
12656 'packet': {'additionalProperties': False,
12657 'properties': {'headerLen': {'type': 'integer'},
12658 'start': {'type': 'integer'},
12659 'totalLen': {'type': 'integer'}},
12660 'required': ['start', 'totalLen', 'headerLen'],
12661 'type': 'object'}},
12662 'properties': {'Watch': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
12663 'type': 'object'}},
12667 @ReturnMapping(NotifyWatchResult
)
12668 async def Watch(self
):
12671 Returns -> typing.Union[_ForwardRef('Error'), str]
12673 # map input types to rpc msg
12675 msg
= dict(Type
='MigrationMinion', Request
='Watch', Version
=1, Params
=params
)
12677 reply
= await self
.rpc(msg
)
12681 class MigrationStatusWatcher(Type
):
12682 name
= 'MigrationStatusWatcher'
12684 schema
= {'definitions': {'MigrationStatus': {'additionalProperties': False,
12685 'properties': {'attempt': {'type': 'integer'},
12686 'phase': {'type': 'string'},
12687 'source-api-addrs': {'items': {'type': 'string'},
12689 'source-ca-cert': {'type': 'string'},
12690 'target-api-addrs': {'items': {'type': 'string'},
12692 'target-ca-cert': {'type': 'string'}},
12693 'required': ['attempt',
12695 'source-api-addrs',
12697 'target-api-addrs',
12699 'type': 'object'}},
12700 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/MigrationStatus'}},
12702 'Stop': {'type': 'object'}},
12706 @ReturnMapping(MigrationStatus
)
12707 async def Next(self
):
12710 Returns -> typing.Union[int, typing.Sequence[str]]
12712 # map input types to rpc msg
12714 msg
= dict(Type
='MigrationStatusWatcher', Request
='Next', Version
=1, Params
=params
)
12716 reply
= await self
.rpc(msg
)
12721 @ReturnMapping(None)
12722 async def Stop(self
):
12727 # map input types to rpc msg
12729 msg
= dict(Type
='MigrationStatusWatcher', Request
='Stop', Version
=1, Params
=params
)
12731 reply
= await self
.rpc(msg
)
12735 class MigrationTarget(Type
):
12736 name
= 'MigrationTarget'
12738 schema
= {'definitions': {'ModelArgs': {'additionalProperties': False,
12739 'properties': {'model-tag': {'type': 'string'}},
12740 'required': ['model-tag'],
12742 'SerializedModel': {'additionalProperties': False,
12743 'properties': {'bytes': {'items': {'type': 'integer'},
12745 'required': ['bytes'],
12746 'type': 'object'}},
12747 'properties': {'Abort': {'properties': {'Params': {'$ref': '#/definitions/ModelArgs'}},
12749 'Activate': {'properties': {'Params': {'$ref': '#/definitions/ModelArgs'}},
12751 'Import': {'properties': {'Params': {'$ref': '#/definitions/SerializedModel'}},
12752 'type': 'object'}},
12756 @ReturnMapping(None)
12757 async def Abort(self
, model_tag
):
12762 # map input types to rpc msg
12764 msg
= dict(Type
='MigrationTarget', Request
='Abort', Version
=1, Params
=params
)
12765 params
['model-tag'] = model_tag
12766 reply
= await self
.rpc(msg
)
12771 @ReturnMapping(None)
12772 async def Activate(self
, model_tag
):
12777 # map input types to rpc msg
12779 msg
= dict(Type
='MigrationTarget', Request
='Activate', Version
=1, Params
=params
)
12780 params
['model-tag'] = model_tag
12781 reply
= await self
.rpc(msg
)
12786 @ReturnMapping(None)
12787 async def Import(self
, bytes_
):
12789 bytes_ : typing.Sequence[int]
12792 # map input types to rpc msg
12794 msg
= dict(Type
='MigrationTarget', Request
='Import', Version
=1, Params
=params
)
12795 params
['bytes'] = bytes_
12796 reply
= await self
.rpc(msg
)
12800 class ModelManager(Type
):
12801 name
= 'ModelManager'
12803 schema
= {'definitions': {'Entities': {'additionalProperties': False,
12804 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
12806 'required': ['Entities'],
12808 'Entity': {'additionalProperties': False,
12809 'properties': {'Tag': {'type': 'string'}},
12810 'required': ['Tag'],
12812 'EntityStatus': {'additionalProperties': False,
12813 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
12814 'type': 'object'}},
12816 'Info': {'type': 'string'},
12817 'Since': {'format': 'date-time',
12819 'Status': {'type': 'string'}},
12820 'required': ['Status',
12825 'Error': {'additionalProperties': False,
12826 'properties': {'Code': {'type': 'string'},
12827 'Info': {'$ref': '#/definitions/ErrorInfo'},
12828 'Message': {'type': 'string'}},
12829 'required': ['Message', 'Code'],
12831 'ErrorInfo': {'additionalProperties': False,
12832 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12833 'MacaroonPath': {'type': 'string'}},
12835 'ErrorResult': {'additionalProperties': False,
12836 'properties': {'Error': {'$ref': '#/definitions/Error'}},
12837 'required': ['Error'],
12839 'ErrorResults': {'additionalProperties': False,
12840 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
12842 'required': ['Results'],
12844 'Macaroon': {'additionalProperties': False,
12845 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12847 'data': {'items': {'type': 'integer'},
12849 'id': {'$ref': '#/definitions/packet'},
12850 'location': {'$ref': '#/definitions/packet'},
12851 'sig': {'items': {'type': 'integer'},
12853 'required': ['data',
12859 'Model': {'additionalProperties': False,
12860 'properties': {'Name': {'type': 'string'},
12861 'OwnerTag': {'type': 'string'},
12862 'UUID': {'type': 'string'}},
12863 'required': ['Name', 'UUID', 'OwnerTag'],
12865 'ModelConfigResult': {'additionalProperties': False,
12866 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
12867 'type': 'object'}},
12868 'type': 'object'}},
12869 'required': ['Config'],
12871 'ModelCreateArgs': {'additionalProperties': False,
12872 'properties': {'Account': {'patternProperties': {'.*': {'additionalProperties': True,
12873 'type': 'object'}},
12875 'Config': {'patternProperties': {'.*': {'additionalProperties': True,
12876 'type': 'object'}},
12878 'OwnerTag': {'type': 'string'}},
12879 'required': ['OwnerTag',
12883 'ModelInfo': {'additionalProperties': False,
12884 'properties': {'DefaultSeries': {'type': 'string'},
12885 'Life': {'type': 'string'},
12886 'Name': {'type': 'string'},
12887 'OwnerTag': {'type': 'string'},
12888 'ProviderType': {'type': 'string'},
12889 'ServerUUID': {'type': 'string'},
12890 'Status': {'$ref': '#/definitions/EntityStatus'},
12891 'UUID': {'type': 'string'},
12892 'Users': {'items': {'$ref': '#/definitions/ModelUserInfo'},
12894 'required': ['Name',
12904 'ModelInfoResult': {'additionalProperties': False,
12905 'properties': {'error': {'$ref': '#/definitions/Error'},
12906 'result': {'$ref': '#/definitions/ModelInfo'}},
12908 'ModelInfoResults': {'additionalProperties': False,
12909 'properties': {'results': {'items': {'$ref': '#/definitions/ModelInfoResult'},
12911 'required': ['results'],
12913 'ModelSkeletonConfigArgs': {'additionalProperties': False,
12914 'properties': {'Provider': {'type': 'string'},
12915 'Region': {'type': 'string'}},
12916 'required': ['Provider', 'Region'],
12918 'ModelUserInfo': {'additionalProperties': False,
12919 'properties': {'access': {'type': 'string'},
12920 'displayname': {'type': 'string'},
12921 'lastconnection': {'format': 'date-time',
12923 'user': {'type': 'string'}},
12924 'required': ['user',
12929 'ModifyModelAccess': {'additionalProperties': False,
12930 'properties': {'access': {'type': 'string'},
12931 'action': {'type': 'string'},
12932 'model-tag': {'type': 'string'},
12933 'user-tag': {'type': 'string'}},
12934 'required': ['user-tag',
12939 'ModifyModelAccessRequest': {'additionalProperties': False,
12940 'properties': {'changes': {'items': {'$ref': '#/definitions/ModifyModelAccess'},
12942 'required': ['changes'],
12944 'UserModel': {'additionalProperties': False,
12945 'properties': {'LastConnection': {'format': 'date-time',
12947 'Model': {'$ref': '#/definitions/Model'}},
12948 'required': ['Model', 'LastConnection'],
12950 'UserModelList': {'additionalProperties': False,
12951 'properties': {'UserModels': {'items': {'$ref': '#/definitions/UserModel'},
12953 'required': ['UserModels'],
12955 'caveat': {'additionalProperties': False,
12956 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12957 'location': {'$ref': '#/definitions/packet'},
12958 'verificationId': {'$ref': '#/definitions/packet'}},
12959 'required': ['location',
12963 'packet': {'additionalProperties': False,
12964 'properties': {'headerLen': {'type': 'integer'},
12965 'start': {'type': 'integer'},
12966 'totalLen': {'type': 'integer'}},
12967 'required': ['start', 'totalLen', 'headerLen'],
12968 'type': 'object'}},
12969 'properties': {'ConfigSkeleton': {'properties': {'Params': {'$ref': '#/definitions/ModelSkeletonConfigArgs'},
12970 'Result': {'$ref': '#/definitions/ModelConfigResult'}},
12972 'CreateModel': {'properties': {'Params': {'$ref': '#/definitions/ModelCreateArgs'},
12973 'Result': {'$ref': '#/definitions/Model'}},
12975 'ListModels': {'properties': {'Params': {'$ref': '#/definitions/Entity'},
12976 'Result': {'$ref': '#/definitions/UserModelList'}},
12978 'ModelInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12979 'Result': {'$ref': '#/definitions/ModelInfoResults'}},
12981 'ModifyModelAccess': {'properties': {'Params': {'$ref': '#/definitions/ModifyModelAccessRequest'},
12982 'Result': {'$ref': '#/definitions/ErrorResults'}},
12983 'type': 'object'}},
12987 @ReturnMapping(ModelConfigResult
)
12988 async def ConfigSkeleton(self
, provider
, region
):
12992 Returns -> typing.Mapping[str, typing.Any]
12994 # map input types to rpc msg
12996 msg
= dict(Type
='ModelManager', Request
='ConfigSkeleton', Version
=2, Params
=params
)
12997 params
['Provider'] = provider
12998 params
['Region'] = region
12999 reply
= await self
.rpc(msg
)
13004 @ReturnMapping(Model
)
13005 async def CreateModel(self
, account
, config
, ownertag
):
13007 account : typing.Mapping[str, typing.Any]
13008 config : typing.Mapping[str, typing.Any]
13010 Returns -> <class 'str'>
13012 # map input types to rpc msg
13014 msg
= dict(Type
='ModelManager', Request
='CreateModel', Version
=2, Params
=params
)
13015 params
['Account'] = account
13016 params
['Config'] = config
13017 params
['OwnerTag'] = ownertag
13018 reply
= await self
.rpc(msg
)
13023 @ReturnMapping(UserModelList
)
13024 async def ListModels(self
, tag
):
13027 Returns -> typing.Sequence[~UserModel]
13029 # map input types to rpc msg
13031 msg
= dict(Type
='ModelManager', Request
='ListModels', Version
=2, Params
=params
)
13032 params
['Tag'] = tag
13033 reply
= await self
.rpc(msg
)
13038 @ReturnMapping(ModelInfoResults
)
13039 async def ModelInfo(self
, entities
):
13041 entities : typing.Sequence[~Entity]
13042 Returns -> typing.Sequence[~ModelInfoResult]
13044 # map input types to rpc msg
13046 msg
= dict(Type
='ModelManager', Request
='ModelInfo', Version
=2, Params
=params
)
13047 params
['Entities'] = entities
13048 reply
= await self
.rpc(msg
)
13053 @ReturnMapping(ErrorResults
)
13054 async def ModifyModelAccess(self
, changes
):
13056 changes : typing.Sequence[~ModifyModelAccess]
13057 Returns -> typing.Sequence[~ErrorResult]
13059 # map input types to rpc msg
13061 msg
= dict(Type
='ModelManager', Request
='ModifyModelAccess', Version
=2, Params
=params
)
13062 params
['changes'] = changes
13063 reply
= await self
.rpc(msg
)
13067 class NotifyWatcher(Type
):
13068 name
= 'NotifyWatcher'
13070 schema
= {'properties': {'Next': {'type': 'object'}, 'Stop': {'type': 'object'}},
13074 @ReturnMapping(None)
13075 async def Next(self
):
13080 # map input types to rpc msg
13082 msg
= dict(Type
='NotifyWatcher', Request
='Next', Version
=1, Params
=params
)
13084 reply
= await self
.rpc(msg
)
13089 @ReturnMapping(None)
13090 async def Stop(self
):
13095 # map input types to rpc msg
13097 msg
= dict(Type
='NotifyWatcher', Request
='Stop', Version
=1, Params
=params
)
13099 reply
= await self
.rpc(msg
)
13103 class Pinger(Type
):
13106 schema
= {'properties': {'Ping': {'type': 'object'}, 'Stop': {'type': 'object'}},
13110 @ReturnMapping(None)
13111 async def Ping(self
):
13116 # map input types to rpc msg
13118 msg
= dict(Type
='Pinger', Request
='Ping', Version
=1, Params
=params
)
13120 reply
= await self
.rpc(msg
)
13125 @ReturnMapping(None)
13126 async def Stop(self
):
13131 # map input types to rpc msg
13133 msg
= dict(Type
='Pinger', Request
='Stop', Version
=1, Params
=params
)
13135 reply
= await self
.rpc(msg
)
13139 class Provisioner(Type
):
13140 name
= 'Provisioner'
13142 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
13143 'properties': {'Servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
13146 'required': ['Servers'],
13148 'Address': {'additionalProperties': False,
13149 'properties': {'Scope': {'type': 'string'},
13150 'SpaceName': {'type': 'string'},
13151 'Type': {'type': 'string'},
13152 'Value': {'type': 'string'}},
13153 'required': ['Value', 'Type', 'Scope'],
13155 'Binary': {'additionalProperties': False,
13156 'properties': {'Arch': {'type': 'string'},
13157 'Number': {'$ref': '#/definitions/Number'},
13158 'Series': {'type': 'string'}},
13159 'required': ['Number', 'Series', 'Arch'],
13161 'BytesResult': {'additionalProperties': False,
13162 'properties': {'Result': {'items': {'type': 'integer'},
13164 'required': ['Result'],
13166 'CloudImageMetadata': {'additionalProperties': False,
13167 'properties': {'arch': {'type': 'string'},
13168 'image_id': {'type': 'string'},
13169 'priority': {'type': 'integer'},
13170 'region': {'type': 'string'},
13171 'root_storage_size': {'type': 'integer'},
13172 'root_storage_type': {'type': 'string'},
13173 'series': {'type': 'string'},
13174 'source': {'type': 'string'},
13175 'stream': {'type': 'string'},
13176 'version': {'type': 'string'},
13177 'virt_type': {'type': 'string'}},
13178 'required': ['image_id',
13186 'ConstraintsResult': {'additionalProperties': False,
13187 'properties': {'Constraints': {'$ref': '#/definitions/Value'},
13188 'Error': {'$ref': '#/definitions/Error'}},
13189 'required': ['Error', 'Constraints'],
13191 'ConstraintsResults': {'additionalProperties': False,
13192 'properties': {'Results': {'items': {'$ref': '#/definitions/ConstraintsResult'},
13194 'required': ['Results'],
13196 'ContainerConfig': {'additionalProperties': False,
13197 'properties': {'AllowLXCLoopMounts': {'type': 'boolean'},
13198 'AptMirror': {'type': 'string'},
13199 'AptProxy': {'$ref': '#/definitions/Settings'},
13200 'AuthorizedKeys': {'type': 'string'},
13201 'PreferIPv6': {'type': 'boolean'},
13202 'ProviderType': {'type': 'string'},
13203 'Proxy': {'$ref': '#/definitions/Settings'},
13204 'SSLHostnameVerification': {'type': 'boolean'},
13205 'UpdateBehavior': {'$ref': '#/definitions/UpdateBehavior'}},
13206 'required': ['ProviderType',
13208 'SSLHostnameVerification',
13213 'AllowLXCLoopMounts',
13216 'ContainerManagerConfig': {'additionalProperties': False,
13217 'properties': {'ManagerConfig': {'patternProperties': {'.*': {'type': 'string'}},
13218 'type': 'object'}},
13219 'required': ['ManagerConfig'],
13221 'ContainerManagerConfigParams': {'additionalProperties': False,
13222 'properties': {'Type': {'type': 'string'}},
13223 'required': ['Type'],
13225 'DistributionGroupResult': {'additionalProperties': False,
13226 'properties': {'Error': {'$ref': '#/definitions/Error'},
13227 'Result': {'items': {'type': 'string'},
13229 'required': ['Error', 'Result'],
13231 'DistributionGroupResults': {'additionalProperties': False,
13232 'properties': {'Results': {'items': {'$ref': '#/definitions/DistributionGroupResult'},
13234 'required': ['Results'],
13236 'Entities': {'additionalProperties': False,
13237 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
13239 'required': ['Entities'],
13241 'Entity': {'additionalProperties': False,
13242 'properties': {'Tag': {'type': 'string'}},
13243 'required': ['Tag'],
13245 'EntityPassword': {'additionalProperties': False,
13246 'properties': {'Password': {'type': 'string'},
13247 'Tag': {'type': 'string'}},
13248 'required': ['Tag', 'Password'],
13250 'EntityPasswords': {'additionalProperties': False,
13251 'properties': {'Changes': {'items': {'$ref': '#/definitions/EntityPassword'},
13253 'required': ['Changes'],
13255 'EntityStatusArgs': {'additionalProperties': False,
13256 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
13257 'type': 'object'}},
13259 'Info': {'type': 'string'},
13260 'Status': {'type': 'string'},
13261 'Tag': {'type': 'string'}},
13262 'required': ['Tag',
13267 'Error': {'additionalProperties': False,
13268 'properties': {'Code': {'type': 'string'},
13269 'Info': {'$ref': '#/definitions/ErrorInfo'},
13270 'Message': {'type': 'string'}},
13271 'required': ['Message', 'Code'],
13273 'ErrorInfo': {'additionalProperties': False,
13274 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
13275 'MacaroonPath': {'type': 'string'}},
13277 'ErrorResult': {'additionalProperties': False,
13278 'properties': {'Error': {'$ref': '#/definitions/Error'}},
13279 'required': ['Error'],
13281 'ErrorResults': {'additionalProperties': False,
13282 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
13284 'required': ['Results'],
13286 'FindToolsParams': {'additionalProperties': False,
13287 'properties': {'Arch': {'type': 'string'},
13288 'MajorVersion': {'type': 'integer'},
13289 'MinorVersion': {'type': 'integer'},
13290 'Number': {'$ref': '#/definitions/Number'},
13291 'Series': {'type': 'string'}},
13292 'required': ['Number',
13298 'FindToolsResult': {'additionalProperties': False,
13299 'properties': {'Error': {'$ref': '#/definitions/Error'},
13300 'List': {'items': {'$ref': '#/definitions/Tools'},
13302 'required': ['List', 'Error'],
13304 'HardwareCharacteristics': {'additionalProperties': False,
13305 'properties': {'Arch': {'type': 'string'},
13306 'AvailabilityZone': {'type': 'string'},
13307 'CpuCores': {'type': 'integer'},
13308 'CpuPower': {'type': 'integer'},
13309 'Mem': {'type': 'integer'},
13310 'RootDisk': {'type': 'integer'},
13311 'Tags': {'items': {'type': 'string'},
13314 'HostPort': {'additionalProperties': False,
13315 'properties': {'Address': {'$ref': '#/definitions/Address'},
13316 'Port': {'type': 'integer'}},
13317 'required': ['Address', 'Port'],
13319 'InstanceInfo': {'additionalProperties': False,
13320 'properties': {'Characteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
13321 'InstanceId': {'type': 'string'},
13322 'NetworkConfig': {'items': {'$ref': '#/definitions/NetworkConfig'},
13324 'Nonce': {'type': 'string'},
13325 'Tag': {'type': 'string'},
13326 'VolumeAttachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentInfo'}},
13328 'Volumes': {'items': {'$ref': '#/definitions/Volume'},
13330 'required': ['Tag',
13335 'VolumeAttachments',
13338 'InstancesInfo': {'additionalProperties': False,
13339 'properties': {'Machines': {'items': {'$ref': '#/definitions/InstanceInfo'},
13341 'required': ['Machines'],
13343 'LifeResult': {'additionalProperties': False,
13344 'properties': {'Error': {'$ref': '#/definitions/Error'},
13345 'Life': {'type': 'string'}},
13346 'required': ['Life', 'Error'],
13348 'LifeResults': {'additionalProperties': False,
13349 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
13351 'required': ['Results'],
13353 'Macaroon': {'additionalProperties': False,
13354 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
13356 'data': {'items': {'type': 'integer'},
13358 'id': {'$ref': '#/definitions/packet'},
13359 'location': {'$ref': '#/definitions/packet'},
13360 'sig': {'items': {'type': 'integer'},
13362 'required': ['data',
13368 'MachineContainers': {'additionalProperties': False,
13369 'properties': {'ContainerTypes': {'items': {'type': 'string'},
13371 'MachineTag': {'type': 'string'}},
13372 'required': ['MachineTag',
13375 'MachineContainersParams': {'additionalProperties': False,
13376 'properties': {'Params': {'items': {'$ref': '#/definitions/MachineContainers'},
13378 'required': ['Params'],
13380 'MachineNetworkConfigResult': {'additionalProperties': False,
13381 'properties': {'Error': {'$ref': '#/definitions/Error'},
13382 'Info': {'items': {'$ref': '#/definitions/NetworkConfig'},
13384 'required': ['Error', 'Info'],
13386 'MachineNetworkConfigResults': {'additionalProperties': False,
13387 'properties': {'Results': {'items': {'$ref': '#/definitions/MachineNetworkConfigResult'},
13389 'required': ['Results'],
13391 'ModelConfigResult': {'additionalProperties': False,
13392 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
13393 'type': 'object'}},
13394 'type': 'object'}},
13395 'required': ['Config'],
13397 'NetworkConfig': {'additionalProperties': False,
13398 'properties': {'Address': {'type': 'string'},
13399 'CIDR': {'type': 'string'},
13400 'ConfigType': {'type': 'string'},
13401 'DNSSearchDomains': {'items': {'type': 'string'},
13403 'DNSServers': {'items': {'type': 'string'},
13405 'DeviceIndex': {'type': 'integer'},
13406 'Disabled': {'type': 'boolean'},
13407 'GatewayAddress': {'type': 'string'},
13408 'InterfaceName': {'type': 'string'},
13409 'InterfaceType': {'type': 'string'},
13410 'MACAddress': {'type': 'string'},
13411 'MTU': {'type': 'integer'},
13412 'NoAutoStart': {'type': 'boolean'},
13413 'ParentInterfaceName': {'type': 'string'},
13414 'ProviderAddressId': {'type': 'string'},
13415 'ProviderId': {'type': 'string'},
13416 'ProviderSpaceId': {'type': 'string'},
13417 'ProviderSubnetId': {'type': 'string'},
13418 'ProviderVLANId': {'type': 'string'},
13419 'VLANTag': {'type': 'integer'}},
13420 'required': ['DeviceIndex',
13425 'ProviderSubnetId',
13427 'ProviderAddressId',
13431 'ParentInterfaceName',
13435 'NotifyWatchResult': {'additionalProperties': False,
13436 'properties': {'Error': {'$ref': '#/definitions/Error'},
13437 'NotifyWatcherId': {'type': 'string'}},
13438 'required': ['NotifyWatcherId', 'Error'],
13440 'Number': {'additionalProperties': False,
13441 'properties': {'Build': {'type': 'integer'},
13442 'Major': {'type': 'integer'},
13443 'Minor': {'type': 'integer'},
13444 'Patch': {'type': 'integer'},
13445 'Tag': {'type': 'string'}},
13446 'required': ['Major',
13452 'ProvisioningInfo': {'additionalProperties': False,
13453 'properties': {'Constraints': {'$ref': '#/definitions/Value'},
13454 'EndpointBindings': {'patternProperties': {'.*': {'type': 'string'}},
13456 'ImageMetadata': {'items': {'$ref': '#/definitions/CloudImageMetadata'},
13458 'Jobs': {'items': {'type': 'string'},
13460 'Placement': {'type': 'string'},
13461 'Series': {'type': 'string'},
13462 'SubnetsToZones': {'patternProperties': {'.*': {'items': {'type': 'string'},
13465 'Tags': {'patternProperties': {'.*': {'type': 'string'}},
13467 'Volumes': {'items': {'$ref': '#/definitions/VolumeParams'},
13469 'required': ['Constraints',
13477 'EndpointBindings'],
13479 'ProvisioningInfoResult': {'additionalProperties': False,
13480 'properties': {'Error': {'$ref': '#/definitions/Error'},
13481 'Result': {'$ref': '#/definitions/ProvisioningInfo'}},
13482 'required': ['Error', 'Result'],
13484 'ProvisioningInfoResults': {'additionalProperties': False,
13485 'properties': {'Results': {'items': {'$ref': '#/definitions/ProvisioningInfoResult'},
13487 'required': ['Results'],
13489 'SetStatus': {'additionalProperties': False,
13490 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
13492 'required': ['Entities'],
13494 'Settings': {'additionalProperties': False,
13495 'properties': {'Ftp': {'type': 'string'},
13496 'Http': {'type': 'string'},
13497 'Https': {'type': 'string'},
13498 'NoProxy': {'type': 'string'}},
13499 'required': ['Http', 'Https', 'Ftp', 'NoProxy'],
13501 'StatusResult': {'additionalProperties': False,
13502 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
13503 'type': 'object'}},
13505 'Error': {'$ref': '#/definitions/Error'},
13506 'Id': {'type': 'string'},
13507 'Info': {'type': 'string'},
13508 'Life': {'type': 'string'},
13509 'Since': {'format': 'date-time',
13511 'Status': {'type': 'string'}},
13512 'required': ['Error',
13520 'StatusResults': {'additionalProperties': False,
13521 'properties': {'Results': {'items': {'$ref': '#/definitions/StatusResult'},
13523 'required': ['Results'],
13525 'StringResult': {'additionalProperties': False,
13526 'properties': {'Error': {'$ref': '#/definitions/Error'},
13527 'Result': {'type': 'string'}},
13528 'required': ['Error', 'Result'],
13530 'StringResults': {'additionalProperties': False,
13531 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'},
13533 'required': ['Results'],
13535 'StringsResult': {'additionalProperties': False,
13536 'properties': {'Error': {'$ref': '#/definitions/Error'},
13537 'Result': {'items': {'type': 'string'},
13539 'required': ['Error', 'Result'],
13541 'StringsWatchResult': {'additionalProperties': False,
13542 'properties': {'Changes': {'items': {'type': 'string'},
13544 'Error': {'$ref': '#/definitions/Error'},
13545 'StringsWatcherId': {'type': 'string'}},
13546 'required': ['StringsWatcherId',
13550 'StringsWatchResults': {'additionalProperties': False,
13551 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
13553 'required': ['Results'],
13555 'Tools': {'additionalProperties': False,
13556 'properties': {'sha256': {'type': 'string'},
13557 'size': {'type': 'integer'},
13558 'url': {'type': 'string'},
13559 'version': {'$ref': '#/definitions/Binary'}},
13560 'required': ['version', 'url', 'size'],
13562 'ToolsResult': {'additionalProperties': False,
13563 'properties': {'DisableSSLHostnameVerification': {'type': 'boolean'},
13564 'Error': {'$ref': '#/definitions/Error'},
13565 'ToolsList': {'items': {'$ref': '#/definitions/Tools'},
13567 'required': ['ToolsList',
13568 'DisableSSLHostnameVerification',
13571 'ToolsResults': {'additionalProperties': False,
13572 'properties': {'Results': {'items': {'$ref': '#/definitions/ToolsResult'},
13574 'required': ['Results'],
13576 'UpdateBehavior': {'additionalProperties': False,
13577 'properties': {'EnableOSRefreshUpdate': {'type': 'boolean'},
13578 'EnableOSUpgrade': {'type': 'boolean'}},
13579 'required': ['EnableOSRefreshUpdate',
13580 'EnableOSUpgrade'],
13582 'Value': {'additionalProperties': False,
13583 'properties': {'arch': {'type': 'string'},
13584 'container': {'type': 'string'},
13585 'cpu-cores': {'type': 'integer'},
13586 'cpu-power': {'type': 'integer'},
13587 'instance-type': {'type': 'string'},
13588 'mem': {'type': 'integer'},
13589 'root-disk': {'type': 'integer'},
13590 'spaces': {'items': {'type': 'string'},
13592 'tags': {'items': {'type': 'string'},
13594 'virt-type': {'type': 'string'}},
13596 'Volume': {'additionalProperties': False,
13597 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
13598 'volumetag': {'type': 'string'}},
13599 'required': ['volumetag', 'info'],
13601 'VolumeAttachmentInfo': {'additionalProperties': False,
13602 'properties': {'busaddress': {'type': 'string'},
13603 'devicelink': {'type': 'string'},
13604 'devicename': {'type': 'string'},
13605 'read-only': {'type': 'boolean'}},
13607 'VolumeAttachmentParams': {'additionalProperties': False,
13608 'properties': {'instanceid': {'type': 'string'},
13609 'machinetag': {'type': 'string'},
13610 'provider': {'type': 'string'},
13611 'read-only': {'type': 'boolean'},
13612 'volumeid': {'type': 'string'},
13613 'volumetag': {'type': 'string'}},
13614 'required': ['volumetag',
13618 'VolumeInfo': {'additionalProperties': False,
13619 'properties': {'hardwareid': {'type': 'string'},
13620 'persistent': {'type': 'boolean'},
13621 'size': {'type': 'integer'},
13622 'volumeid': {'type': 'string'}},
13623 'required': ['volumeid', 'size', 'persistent'],
13625 'VolumeParams': {'additionalProperties': False,
13626 'properties': {'attachment': {'$ref': '#/definitions/VolumeAttachmentParams'},
13627 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
13628 'type': 'object'}},
13630 'provider': {'type': 'string'},
13631 'size': {'type': 'integer'},
13632 'tags': {'patternProperties': {'.*': {'type': 'string'}},
13634 'volumetag': {'type': 'string'}},
13635 'required': ['volumetag', 'size', 'provider'],
13637 'WatchContainer': {'additionalProperties': False,
13638 'properties': {'ContainerType': {'type': 'string'},
13639 'MachineTag': {'type': 'string'}},
13640 'required': ['MachineTag', 'ContainerType'],
13642 'WatchContainers': {'additionalProperties': False,
13643 'properties': {'Params': {'items': {'$ref': '#/definitions/WatchContainer'},
13645 'required': ['Params'],
13647 'caveat': {'additionalProperties': False,
13648 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
13649 'location': {'$ref': '#/definitions/packet'},
13650 'verificationId': {'$ref': '#/definitions/packet'}},
13651 'required': ['location',
13655 'packet': {'additionalProperties': False,
13656 'properties': {'headerLen': {'type': 'integer'},
13657 'start': {'type': 'integer'},
13658 'totalLen': {'type': 'integer'}},
13659 'required': ['start', 'totalLen', 'headerLen'],
13660 'type': 'object'}},
13661 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
13663 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
13665 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
13667 'Constraints': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13668 'Result': {'$ref': '#/definitions/ConstraintsResults'}},
13670 'ContainerConfig': {'properties': {'Result': {'$ref': '#/definitions/ContainerConfig'}},
13672 'ContainerManagerConfig': {'properties': {'Params': {'$ref': '#/definitions/ContainerManagerConfigParams'},
13673 'Result': {'$ref': '#/definitions/ContainerManagerConfig'}},
13675 'DistributionGroup': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13676 'Result': {'$ref': '#/definitions/DistributionGroupResults'}},
13678 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13679 'Result': {'$ref': '#/definitions/ErrorResults'}},
13681 'FindTools': {'properties': {'Params': {'$ref': '#/definitions/FindToolsParams'},
13682 'Result': {'$ref': '#/definitions/FindToolsResult'}},
13684 'GetContainerInterfaceInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13685 'Result': {'$ref': '#/definitions/MachineNetworkConfigResults'}},
13687 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13688 'Result': {'$ref': '#/definitions/StringResults'}},
13690 'InstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13691 'Result': {'$ref': '#/definitions/StatusResults'}},
13693 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13694 'Result': {'$ref': '#/definitions/LifeResults'}},
13696 'MachinesWithTransientErrors': {'properties': {'Result': {'$ref': '#/definitions/StatusResults'}},
13698 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
13700 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
13702 'PrepareContainerInterfaceInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13703 'Result': {'$ref': '#/definitions/MachineNetworkConfigResults'}},
13705 'ProvisioningInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13706 'Result': {'$ref': '#/definitions/ProvisioningInfoResults'}},
13708 'ReleaseContainerAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13709 'Result': {'$ref': '#/definitions/ErrorResults'}},
13711 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13712 'Result': {'$ref': '#/definitions/ErrorResults'}},
13714 'Series': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13715 'Result': {'$ref': '#/definitions/StringResults'}},
13717 'SetInstanceInfo': {'properties': {'Params': {'$ref': '#/definitions/InstancesInfo'},
13718 'Result': {'$ref': '#/definitions/ErrorResults'}},
13720 'SetInstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
13721 'Result': {'$ref': '#/definitions/ErrorResults'}},
13723 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
13724 'Result': {'$ref': '#/definitions/ErrorResults'}},
13726 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
13727 'Result': {'$ref': '#/definitions/ErrorResults'}},
13729 'SetSupportedContainers': {'properties': {'Params': {'$ref': '#/definitions/MachineContainersParams'},
13730 'Result': {'$ref': '#/definitions/ErrorResults'}},
13732 'StateAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
13734 'Status': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13735 'Result': {'$ref': '#/definitions/StatusResults'}},
13737 'Tools': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13738 'Result': {'$ref': '#/definitions/ToolsResults'}},
13740 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
13741 'Result': {'$ref': '#/definitions/ErrorResults'}},
13743 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
13745 'WatchAllContainers': {'properties': {'Params': {'$ref': '#/definitions/WatchContainers'},
13746 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
13748 'WatchContainers': {'properties': {'Params': {'$ref': '#/definitions/WatchContainers'},
13749 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
13751 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
13753 'WatchMachineErrorRetry': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
13755 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
13756 'type': 'object'}},
13760 @ReturnMapping(StringsResult
)
13761 async def APIAddresses(self
):
13764 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
13766 # map input types to rpc msg
13768 msg
= dict(Type
='Provisioner', Request
='APIAddresses', Version
=2, Params
=params
)
13770 reply
= await self
.rpc(msg
)
13775 @ReturnMapping(APIHostPortsResult
)
13776 async def APIHostPorts(self
):
13779 Returns -> typing.Sequence[~HostPort]
13781 # map input types to rpc msg
13783 msg
= dict(Type
='Provisioner', Request
='APIHostPorts', Version
=2, Params
=params
)
13785 reply
= await self
.rpc(msg
)
13790 @ReturnMapping(BytesResult
)
13791 async def CACert(self
):
13794 Returns -> typing.Sequence[int]
13796 # map input types to rpc msg
13798 msg
= dict(Type
='Provisioner', Request
='CACert', Version
=2, Params
=params
)
13800 reply
= await self
.rpc(msg
)
13805 @ReturnMapping(ConstraintsResults
)
13806 async def Constraints(self
, entities
):
13808 entities : typing.Sequence[~Entity]
13809 Returns -> typing.Sequence[~ConstraintsResult]
13811 # map input types to rpc msg
13813 msg
= dict(Type
='Provisioner', Request
='Constraints', Version
=2, Params
=params
)
13814 params
['Entities'] = entities
13815 reply
= await self
.rpc(msg
)
13820 @ReturnMapping(ContainerConfig
)
13821 async def ContainerConfig(self
):
13824 Returns -> typing.Union[bool, str, _ForwardRef('Settings'), _ForwardRef('Settings'), _ForwardRef('UpdateBehavior')]
13826 # map input types to rpc msg
13828 msg
= dict(Type
='Provisioner', Request
='ContainerConfig', Version
=2, Params
=params
)
13830 reply
= await self
.rpc(msg
)
13835 @ReturnMapping(ContainerManagerConfig
)
13836 async def ContainerManagerConfig(self
, type_
):
13839 Returns -> typing.Mapping[str, str]
13841 # map input types to rpc msg
13843 msg
= dict(Type
='Provisioner', Request
='ContainerManagerConfig', Version
=2, Params
=params
)
13844 params
['Type'] = type_
13845 reply
= await self
.rpc(msg
)
13850 @ReturnMapping(DistributionGroupResults
)
13851 async def DistributionGroup(self
, entities
):
13853 entities : typing.Sequence[~Entity]
13854 Returns -> typing.Sequence[~DistributionGroupResult]
13856 # map input types to rpc msg
13858 msg
= dict(Type
='Provisioner', Request
='DistributionGroup', Version
=2, Params
=params
)
13859 params
['Entities'] = entities
13860 reply
= await self
.rpc(msg
)
13865 @ReturnMapping(ErrorResults
)
13866 async def EnsureDead(self
, entities
):
13868 entities : typing.Sequence[~Entity]
13869 Returns -> typing.Sequence[~ErrorResult]
13871 # map input types to rpc msg
13873 msg
= dict(Type
='Provisioner', Request
='EnsureDead', Version
=2, Params
=params
)
13874 params
['Entities'] = entities
13875 reply
= await self
.rpc(msg
)
13880 @ReturnMapping(FindToolsResult
)
13881 async def FindTools(self
, arch
, majorversion
, minorversion
, number
, series
):
13888 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[~Tools]]
13890 # map input types to rpc msg
13892 msg
= dict(Type
='Provisioner', Request
='FindTools', Version
=2, Params
=params
)
13893 params
['Arch'] = arch
13894 params
['MajorVersion'] = majorversion
13895 params
['MinorVersion'] = minorversion
13896 params
['Number'] = number
13897 params
['Series'] = series
13898 reply
= await self
.rpc(msg
)
13903 @ReturnMapping(MachineNetworkConfigResults
)
13904 async def GetContainerInterfaceInfo(self
, entities
):
13906 entities : typing.Sequence[~Entity]
13907 Returns -> typing.Sequence[~MachineNetworkConfigResult]
13909 # map input types to rpc msg
13911 msg
= dict(Type
='Provisioner', Request
='GetContainerInterfaceInfo', Version
=2, Params
=params
)
13912 params
['Entities'] = entities
13913 reply
= await self
.rpc(msg
)
13918 @ReturnMapping(StringResults
)
13919 async def InstanceId(self
, entities
):
13921 entities : typing.Sequence[~Entity]
13922 Returns -> typing.Sequence[~StringResult]
13924 # map input types to rpc msg
13926 msg
= dict(Type
='Provisioner', Request
='InstanceId', Version
=2, Params
=params
)
13927 params
['Entities'] = entities
13928 reply
= await self
.rpc(msg
)
13933 @ReturnMapping(StatusResults
)
13934 async def InstanceStatus(self
, entities
):
13936 entities : typing.Sequence[~Entity]
13937 Returns -> typing.Sequence[~StatusResult]
13939 # map input types to rpc msg
13941 msg
= dict(Type
='Provisioner', Request
='InstanceStatus', Version
=2, Params
=params
)
13942 params
['Entities'] = entities
13943 reply
= await self
.rpc(msg
)
13948 @ReturnMapping(LifeResults
)
13949 async def Life(self
, entities
):
13951 entities : typing.Sequence[~Entity]
13952 Returns -> typing.Sequence[~LifeResult]
13954 # map input types to rpc msg
13956 msg
= dict(Type
='Provisioner', Request
='Life', Version
=2, Params
=params
)
13957 params
['Entities'] = entities
13958 reply
= await self
.rpc(msg
)
13963 @ReturnMapping(StatusResults
)
13964 async def MachinesWithTransientErrors(self
):
13967 Returns -> typing.Sequence[~StatusResult]
13969 # map input types to rpc msg
13971 msg
= dict(Type
='Provisioner', Request
='MachinesWithTransientErrors', Version
=2, Params
=params
)
13973 reply
= await self
.rpc(msg
)
13978 @ReturnMapping(ModelConfigResult
)
13979 async def ModelConfig(self
):
13982 Returns -> typing.Mapping[str, typing.Any]
13984 # map input types to rpc msg
13986 msg
= dict(Type
='Provisioner', Request
='ModelConfig', Version
=2, Params
=params
)
13988 reply
= await self
.rpc(msg
)
13993 @ReturnMapping(StringResult
)
13994 async def ModelUUID(self
):
13997 Returns -> typing.Union[_ForwardRef('Error'), str]
13999 # map input types to rpc msg
14001 msg
= dict(Type
='Provisioner', Request
='ModelUUID', Version
=2, Params
=params
)
14003 reply
= await self
.rpc(msg
)
14008 @ReturnMapping(MachineNetworkConfigResults
)
14009 async def PrepareContainerInterfaceInfo(self
, entities
):
14011 entities : typing.Sequence[~Entity]
14012 Returns -> typing.Sequence[~MachineNetworkConfigResult]
14014 # map input types to rpc msg
14016 msg
= dict(Type
='Provisioner', Request
='PrepareContainerInterfaceInfo', Version
=2, Params
=params
)
14017 params
['Entities'] = entities
14018 reply
= await self
.rpc(msg
)
14023 @ReturnMapping(ProvisioningInfoResults
)
14024 async def ProvisioningInfo(self
, entities
):
14026 entities : typing.Sequence[~Entity]
14027 Returns -> typing.Sequence[~ProvisioningInfoResult]
14029 # map input types to rpc msg
14031 msg
= dict(Type
='Provisioner', Request
='ProvisioningInfo', Version
=2, Params
=params
)
14032 params
['Entities'] = entities
14033 reply
= await self
.rpc(msg
)
14038 @ReturnMapping(ErrorResults
)
14039 async def ReleaseContainerAddresses(self
, entities
):
14041 entities : typing.Sequence[~Entity]
14042 Returns -> typing.Sequence[~ErrorResult]
14044 # map input types to rpc msg
14046 msg
= dict(Type
='Provisioner', Request
='ReleaseContainerAddresses', Version
=2, Params
=params
)
14047 params
['Entities'] = entities
14048 reply
= await self
.rpc(msg
)
14053 @ReturnMapping(ErrorResults
)
14054 async def Remove(self
, entities
):
14056 entities : typing.Sequence[~Entity]
14057 Returns -> typing.Sequence[~ErrorResult]
14059 # map input types to rpc msg
14061 msg
= dict(Type
='Provisioner', Request
='Remove', Version
=2, Params
=params
)
14062 params
['Entities'] = entities
14063 reply
= await self
.rpc(msg
)
14068 @ReturnMapping(StringResults
)
14069 async def Series(self
, entities
):
14071 entities : typing.Sequence[~Entity]
14072 Returns -> typing.Sequence[~StringResult]
14074 # map input types to rpc msg
14076 msg
= dict(Type
='Provisioner', Request
='Series', Version
=2, Params
=params
)
14077 params
['Entities'] = entities
14078 reply
= await self
.rpc(msg
)
14083 @ReturnMapping(ErrorResults
)
14084 async def SetInstanceInfo(self
, machines
):
14086 machines : typing.Sequence[~InstanceInfo]
14087 Returns -> typing.Sequence[~ErrorResult]
14089 # map input types to rpc msg
14091 msg
= dict(Type
='Provisioner', Request
='SetInstanceInfo', Version
=2, Params
=params
)
14092 params
['Machines'] = machines
14093 reply
= await self
.rpc(msg
)
14098 @ReturnMapping(ErrorResults
)
14099 async def SetInstanceStatus(self
, entities
):
14101 entities : typing.Sequence[~EntityStatusArgs]
14102 Returns -> typing.Sequence[~ErrorResult]
14104 # map input types to rpc msg
14106 msg
= dict(Type
='Provisioner', Request
='SetInstanceStatus', Version
=2, Params
=params
)
14107 params
['Entities'] = entities
14108 reply
= await self
.rpc(msg
)
14113 @ReturnMapping(ErrorResults
)
14114 async def SetPasswords(self
, changes
):
14116 changes : typing.Sequence[~EntityPassword]
14117 Returns -> typing.Sequence[~ErrorResult]
14119 # map input types to rpc msg
14121 msg
= dict(Type
='Provisioner', Request
='SetPasswords', Version
=2, Params
=params
)
14122 params
['Changes'] = changes
14123 reply
= await self
.rpc(msg
)
14128 @ReturnMapping(ErrorResults
)
14129 async def SetStatus(self
, entities
):
14131 entities : typing.Sequence[~EntityStatusArgs]
14132 Returns -> typing.Sequence[~ErrorResult]
14134 # map input types to rpc msg
14136 msg
= dict(Type
='Provisioner', Request
='SetStatus', Version
=2, Params
=params
)
14137 params
['Entities'] = entities
14138 reply
= await self
.rpc(msg
)
14143 @ReturnMapping(ErrorResults
)
14144 async def SetSupportedContainers(self
, params
):
14146 params : typing.Sequence[~MachineContainers]
14147 Returns -> typing.Sequence[~ErrorResult]
14149 # map input types to rpc msg
14151 msg
= dict(Type
='Provisioner', Request
='SetSupportedContainers', Version
=2, Params
=params
)
14152 params
['Params'] = params
14153 reply
= await self
.rpc(msg
)
14158 @ReturnMapping(StringsResult
)
14159 async def StateAddresses(self
):
14162 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
14164 # map input types to rpc msg
14166 msg
= dict(Type
='Provisioner', Request
='StateAddresses', Version
=2, Params
=params
)
14168 reply
= await self
.rpc(msg
)
14173 @ReturnMapping(StatusResults
)
14174 async def Status(self
, entities
):
14176 entities : typing.Sequence[~Entity]
14177 Returns -> typing.Sequence[~StatusResult]
14179 # map input types to rpc msg
14181 msg
= dict(Type
='Provisioner', Request
='Status', Version
=2, Params
=params
)
14182 params
['Entities'] = entities
14183 reply
= await self
.rpc(msg
)
14188 @ReturnMapping(ToolsResults
)
14189 async def Tools(self
, entities
):
14191 entities : typing.Sequence[~Entity]
14192 Returns -> typing.Sequence[~ToolsResult]
14194 # map input types to rpc msg
14196 msg
= dict(Type
='Provisioner', Request
='Tools', Version
=2, Params
=params
)
14197 params
['Entities'] = entities
14198 reply
= await self
.rpc(msg
)
14203 @ReturnMapping(ErrorResults
)
14204 async def UpdateStatus(self
, entities
):
14206 entities : typing.Sequence[~EntityStatusArgs]
14207 Returns -> typing.Sequence[~ErrorResult]
14209 # map input types to rpc msg
14211 msg
= dict(Type
='Provisioner', Request
='UpdateStatus', Version
=2, Params
=params
)
14212 params
['Entities'] = entities
14213 reply
= await self
.rpc(msg
)
14218 @ReturnMapping(NotifyWatchResult
)
14219 async def WatchAPIHostPorts(self
):
14222 Returns -> typing.Union[_ForwardRef('Error'), str]
14224 # map input types to rpc msg
14226 msg
= dict(Type
='Provisioner', Request
='WatchAPIHostPorts', Version
=2, Params
=params
)
14228 reply
= await self
.rpc(msg
)
14233 @ReturnMapping(StringsWatchResults
)
14234 async def WatchAllContainers(self
, params
):
14236 params : typing.Sequence[~WatchContainer]
14237 Returns -> typing.Sequence[~StringsWatchResult]
14239 # map input types to rpc msg
14241 msg
= dict(Type
='Provisioner', Request
='WatchAllContainers', Version
=2, Params
=params
)
14242 params
['Params'] = params
14243 reply
= await self
.rpc(msg
)
14248 @ReturnMapping(StringsWatchResults
)
14249 async def WatchContainers(self
, params
):
14251 params : typing.Sequence[~WatchContainer]
14252 Returns -> typing.Sequence[~StringsWatchResult]
14254 # map input types to rpc msg
14256 msg
= dict(Type
='Provisioner', Request
='WatchContainers', Version
=2, Params
=params
)
14257 params
['Params'] = params
14258 reply
= await self
.rpc(msg
)
14263 @ReturnMapping(NotifyWatchResult
)
14264 async def WatchForModelConfigChanges(self
):
14267 Returns -> typing.Union[_ForwardRef('Error'), str]
14269 # map input types to rpc msg
14271 msg
= dict(Type
='Provisioner', Request
='WatchForModelConfigChanges', Version
=2, Params
=params
)
14273 reply
= await self
.rpc(msg
)
14278 @ReturnMapping(NotifyWatchResult
)
14279 async def WatchMachineErrorRetry(self
):
14282 Returns -> typing.Union[_ForwardRef('Error'), str]
14284 # map input types to rpc msg
14286 msg
= dict(Type
='Provisioner', Request
='WatchMachineErrorRetry', Version
=2, Params
=params
)
14288 reply
= await self
.rpc(msg
)
14293 @ReturnMapping(StringsWatchResult
)
14294 async def WatchModelMachines(self
):
14297 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
14299 # map input types to rpc msg
14301 msg
= dict(Type
='Provisioner', Request
='WatchModelMachines', Version
=2, Params
=params
)
14303 reply
= await self
.rpc(msg
)
14307 class ProxyUpdater(Type
):
14308 name
= 'ProxyUpdater'
14310 schema
= {'definitions': {'Entities': {'additionalProperties': False,
14311 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
14313 'required': ['Entities'],
14315 'Entity': {'additionalProperties': False,
14316 'properties': {'Tag': {'type': 'string'}},
14317 'required': ['Tag'],
14319 'Error': {'additionalProperties': False,
14320 'properties': {'Code': {'type': 'string'},
14321 'Info': {'$ref': '#/definitions/ErrorInfo'},
14322 'Message': {'type': 'string'}},
14323 'required': ['Message', 'Code'],
14325 'ErrorInfo': {'additionalProperties': False,
14326 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
14327 'MacaroonPath': {'type': 'string'}},
14329 'Macaroon': {'additionalProperties': False,
14330 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
14332 'data': {'items': {'type': 'integer'},
14334 'id': {'$ref': '#/definitions/packet'},
14335 'location': {'$ref': '#/definitions/packet'},
14336 'sig': {'items': {'type': 'integer'},
14338 'required': ['data',
14344 'NotifyWatchResult': {'additionalProperties': False,
14345 'properties': {'Error': {'$ref': '#/definitions/Error'},
14346 'NotifyWatcherId': {'type': 'string'}},
14347 'required': ['NotifyWatcherId', 'Error'],
14349 'NotifyWatchResults': {'additionalProperties': False,
14350 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
14352 'required': ['Results'],
14354 'ProxyConfig': {'additionalProperties': False,
14355 'properties': {'FTP': {'type': 'string'},
14356 'HTTP': {'type': 'string'},
14357 'HTTPS': {'type': 'string'},
14358 'NoProxy': {'type': 'string'}},
14359 'required': ['HTTP',
14364 'ProxyConfigResult': {'additionalProperties': False,
14365 'properties': {'APTProxySettings': {'$ref': '#/definitions/ProxyConfig'},
14366 'Error': {'$ref': '#/definitions/Error'},
14367 'ProxySettings': {'$ref': '#/definitions/ProxyConfig'}},
14368 'required': ['ProxySettings',
14369 'APTProxySettings'],
14371 'ProxyConfigResults': {'additionalProperties': False,
14372 'properties': {'Results': {'items': {'$ref': '#/definitions/ProxyConfigResult'},
14374 'required': ['Results'],
14376 'caveat': {'additionalProperties': False,
14377 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
14378 'location': {'$ref': '#/definitions/packet'},
14379 'verificationId': {'$ref': '#/definitions/packet'}},
14380 'required': ['location',
14384 'packet': {'additionalProperties': False,
14385 'properties': {'headerLen': {'type': 'integer'},
14386 'start': {'type': 'integer'},
14387 'totalLen': {'type': 'integer'}},
14388 'required': ['start', 'totalLen', 'headerLen'],
14389 'type': 'object'}},
14390 'properties': {'ProxyConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14391 'Result': {'$ref': '#/definitions/ProxyConfigResults'}},
14393 'WatchForProxyConfigAndAPIHostPortChanges': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14394 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
14395 'type': 'object'}},
14399 @ReturnMapping(ProxyConfigResults
)
14400 async def ProxyConfig(self
, entities
):
14402 entities : typing.Sequence[~Entity]
14403 Returns -> typing.Sequence[~ProxyConfigResult]
14405 # map input types to rpc msg
14407 msg
= dict(Type
='ProxyUpdater', Request
='ProxyConfig', Version
=1, Params
=params
)
14408 params
['Entities'] = entities
14409 reply
= await self
.rpc(msg
)
14414 @ReturnMapping(NotifyWatchResults
)
14415 async def WatchForProxyConfigAndAPIHostPortChanges(self
, entities
):
14417 entities : typing.Sequence[~Entity]
14418 Returns -> typing.Sequence[~NotifyWatchResult]
14420 # map input types to rpc msg
14422 msg
= dict(Type
='ProxyUpdater', Request
='WatchForProxyConfigAndAPIHostPortChanges', Version
=1, Params
=params
)
14423 params
['Entities'] = entities
14424 reply
= await self
.rpc(msg
)
14428 class Reboot(Type
):
14431 schema
= {'definitions': {'Entities': {'additionalProperties': False,
14432 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
14434 'required': ['Entities'],
14436 'Entity': {'additionalProperties': False,
14437 'properties': {'Tag': {'type': 'string'}},
14438 'required': ['Tag'],
14440 'Error': {'additionalProperties': False,
14441 'properties': {'Code': {'type': 'string'},
14442 'Info': {'$ref': '#/definitions/ErrorInfo'},
14443 'Message': {'type': 'string'}},
14444 'required': ['Message', 'Code'],
14446 'ErrorInfo': {'additionalProperties': False,
14447 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
14448 'MacaroonPath': {'type': 'string'}},
14450 'ErrorResult': {'additionalProperties': False,
14451 'properties': {'Error': {'$ref': '#/definitions/Error'}},
14452 'required': ['Error'],
14454 'ErrorResults': {'additionalProperties': False,
14455 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
14457 'required': ['Results'],
14459 'Macaroon': {'additionalProperties': False,
14460 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
14462 'data': {'items': {'type': 'integer'},
14464 'id': {'$ref': '#/definitions/packet'},
14465 'location': {'$ref': '#/definitions/packet'},
14466 'sig': {'items': {'type': 'integer'},
14468 'required': ['data',
14474 'NotifyWatchResult': {'additionalProperties': False,
14475 'properties': {'Error': {'$ref': '#/definitions/Error'},
14476 'NotifyWatcherId': {'type': 'string'}},
14477 'required': ['NotifyWatcherId', 'Error'],
14479 'RebootActionResult': {'additionalProperties': False,
14480 'properties': {'error': {'$ref': '#/definitions/Error'},
14481 'result': {'type': 'string'}},
14483 'RebootActionResults': {'additionalProperties': False,
14484 'properties': {'results': {'items': {'$ref': '#/definitions/RebootActionResult'},
14487 'caveat': {'additionalProperties': False,
14488 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
14489 'location': {'$ref': '#/definitions/packet'},
14490 'verificationId': {'$ref': '#/definitions/packet'}},
14491 'required': ['location',
14495 'packet': {'additionalProperties': False,
14496 'properties': {'headerLen': {'type': 'integer'},
14497 'start': {'type': 'integer'},
14498 'totalLen': {'type': 'integer'}},
14499 'required': ['start', 'totalLen', 'headerLen'],
14500 'type': 'object'}},
14501 'properties': {'ClearReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14502 'Result': {'$ref': '#/definitions/ErrorResults'}},
14504 'GetRebootAction': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14505 'Result': {'$ref': '#/definitions/RebootActionResults'}},
14507 'RequestReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14508 'Result': {'$ref': '#/definitions/ErrorResults'}},
14510 'WatchForRebootEvent': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
14511 'type': 'object'}},
14515 @ReturnMapping(ErrorResults
)
14516 async def ClearReboot(self
, entities
):
14518 entities : typing.Sequence[~Entity]
14519 Returns -> typing.Sequence[~ErrorResult]
14521 # map input types to rpc msg
14523 msg
= dict(Type
='Reboot', Request
='ClearReboot', Version
=2, Params
=params
)
14524 params
['Entities'] = entities
14525 reply
= await self
.rpc(msg
)
14530 @ReturnMapping(RebootActionResults
)
14531 async def GetRebootAction(self
, entities
):
14533 entities : typing.Sequence[~Entity]
14534 Returns -> typing.Sequence[~RebootActionResult]
14536 # map input types to rpc msg
14538 msg
= dict(Type
='Reboot', Request
='GetRebootAction', Version
=2, Params
=params
)
14539 params
['Entities'] = entities
14540 reply
= await self
.rpc(msg
)
14545 @ReturnMapping(ErrorResults
)
14546 async def RequestReboot(self
, entities
):
14548 entities : typing.Sequence[~Entity]
14549 Returns -> typing.Sequence[~ErrorResult]
14551 # map input types to rpc msg
14553 msg
= dict(Type
='Reboot', Request
='RequestReboot', Version
=2, Params
=params
)
14554 params
['Entities'] = entities
14555 reply
= await self
.rpc(msg
)
14560 @ReturnMapping(NotifyWatchResult
)
14561 async def WatchForRebootEvent(self
):
14564 Returns -> typing.Union[_ForwardRef('Error'), str]
14566 # map input types to rpc msg
14568 msg
= dict(Type
='Reboot', Request
='WatchForRebootEvent', Version
=2, Params
=params
)
14570 reply
= await self
.rpc(msg
)
14574 class RelationUnitsWatcher(Type
):
14575 name
= 'RelationUnitsWatcher'
14577 schema
= {'definitions': {'Error': {'additionalProperties': False,
14578 'properties': {'Code': {'type': 'string'},
14579 'Info': {'$ref': '#/definitions/ErrorInfo'},
14580 'Message': {'type': 'string'}},
14581 'required': ['Message', 'Code'],
14583 'ErrorInfo': {'additionalProperties': False,
14584 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
14585 'MacaroonPath': {'type': 'string'}},
14587 'Macaroon': {'additionalProperties': False,
14588 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
14590 'data': {'items': {'type': 'integer'},
14592 'id': {'$ref': '#/definitions/packet'},
14593 'location': {'$ref': '#/definitions/packet'},
14594 'sig': {'items': {'type': 'integer'},
14596 'required': ['data',
14602 'RelationUnitsChange': {'additionalProperties': False,
14603 'properties': {'Changed': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitSettings'}},
14605 'Departed': {'items': {'type': 'string'},
14607 'required': ['Changed', 'Departed'],
14609 'RelationUnitsWatchResult': {'additionalProperties': False,
14610 'properties': {'Changes': {'$ref': '#/definitions/RelationUnitsChange'},
14611 'Error': {'$ref': '#/definitions/Error'},
14612 'RelationUnitsWatcherId': {'type': 'string'}},
14613 'required': ['RelationUnitsWatcherId',
14617 'UnitSettings': {'additionalProperties': False,
14618 'properties': {'Version': {'type': 'integer'}},
14619 'required': ['Version'],
14621 'caveat': {'additionalProperties': False,
14622 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
14623 'location': {'$ref': '#/definitions/packet'},
14624 'verificationId': {'$ref': '#/definitions/packet'}},
14625 'required': ['location',
14629 'packet': {'additionalProperties': False,
14630 'properties': {'headerLen': {'type': 'integer'},
14631 'start': {'type': 'integer'},
14632 'totalLen': {'type': 'integer'}},
14633 'required': ['start', 'totalLen', 'headerLen'],
14634 'type': 'object'}},
14635 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/RelationUnitsWatchResult'}},
14637 'Stop': {'type': 'object'}},
14641 @ReturnMapping(RelationUnitsWatchResult
)
14642 async def Next(self
):
14645 Returns -> typing.Union[_ForwardRef('RelationUnitsChange'), _ForwardRef('Error'), str]
14647 # map input types to rpc msg
14649 msg
= dict(Type
='RelationUnitsWatcher', Request
='Next', Version
=1, Params
=params
)
14651 reply
= await self
.rpc(msg
)
14656 @ReturnMapping(None)
14657 async def Stop(self
):
14662 # map input types to rpc msg
14664 msg
= dict(Type
='RelationUnitsWatcher', Request
='Stop', Version
=1, Params
=params
)
14666 reply
= await self
.rpc(msg
)
14670 class Resumer(Type
):
14673 schema
= {'properties': {'ResumeTransactions': {'type': 'object'}}, 'type': 'object'}
14676 @ReturnMapping(None)
14677 async def ResumeTransactions(self
):
14682 # map input types to rpc msg
14684 msg
= dict(Type
='Resumer', Request
='ResumeTransactions', Version
=2, Params
=params
)
14686 reply
= await self
.rpc(msg
)
14690 class RetryStrategy(Type
):
14691 name
= 'RetryStrategy'
14693 schema
= {'definitions': {'Entities': {'additionalProperties': False,
14694 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
14696 'required': ['Entities'],
14698 'Entity': {'additionalProperties': False,
14699 'properties': {'Tag': {'type': 'string'}},
14700 'required': ['Tag'],
14702 'Error': {'additionalProperties': False,
14703 'properties': {'Code': {'type': 'string'},
14704 'Info': {'$ref': '#/definitions/ErrorInfo'},
14705 'Message': {'type': 'string'}},
14706 'required': ['Message', 'Code'],
14708 'ErrorInfo': {'additionalProperties': False,
14709 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
14710 'MacaroonPath': {'type': 'string'}},
14712 'Macaroon': {'additionalProperties': False,
14713 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
14715 'data': {'items': {'type': 'integer'},
14717 'id': {'$ref': '#/definitions/packet'},
14718 'location': {'$ref': '#/definitions/packet'},
14719 'sig': {'items': {'type': 'integer'},
14721 'required': ['data',
14727 'NotifyWatchResult': {'additionalProperties': False,
14728 'properties': {'Error': {'$ref': '#/definitions/Error'},
14729 'NotifyWatcherId': {'type': 'string'}},
14730 'required': ['NotifyWatcherId', 'Error'],
14732 'NotifyWatchResults': {'additionalProperties': False,
14733 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
14735 'required': ['Results'],
14737 'RetryStrategy': {'additionalProperties': False,
14738 'properties': {'JitterRetryTime': {'type': 'boolean'},
14739 'MaxRetryTime': {'type': 'integer'},
14740 'MinRetryTime': {'type': 'integer'},
14741 'RetryTimeFactor': {'type': 'integer'},
14742 'ShouldRetry': {'type': 'boolean'}},
14743 'required': ['ShouldRetry',
14747 'RetryTimeFactor'],
14749 'RetryStrategyResult': {'additionalProperties': False,
14750 'properties': {'Error': {'$ref': '#/definitions/Error'},
14751 'Result': {'$ref': '#/definitions/RetryStrategy'}},
14752 'required': ['Error', 'Result'],
14754 'RetryStrategyResults': {'additionalProperties': False,
14755 'properties': {'Results': {'items': {'$ref': '#/definitions/RetryStrategyResult'},
14757 'required': ['Results'],
14759 'caveat': {'additionalProperties': False,
14760 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
14761 'location': {'$ref': '#/definitions/packet'},
14762 'verificationId': {'$ref': '#/definitions/packet'}},
14763 'required': ['location',
14767 'packet': {'additionalProperties': False,
14768 'properties': {'headerLen': {'type': 'integer'},
14769 'start': {'type': 'integer'},
14770 'totalLen': {'type': 'integer'}},
14771 'required': ['start', 'totalLen', 'headerLen'],
14772 'type': 'object'}},
14773 'properties': {'RetryStrategy': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14774 'Result': {'$ref': '#/definitions/RetryStrategyResults'}},
14776 'WatchRetryStrategy': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14777 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
14778 'type': 'object'}},
14782 @ReturnMapping(RetryStrategyResults
)
14783 async def RetryStrategy(self
, entities
):
14785 entities : typing.Sequence[~Entity]
14786 Returns -> typing.Sequence[~RetryStrategyResult]
14788 # map input types to rpc msg
14790 msg
= dict(Type
='RetryStrategy', Request
='RetryStrategy', Version
=1, Params
=params
)
14791 params
['Entities'] = entities
14792 reply
= await self
.rpc(msg
)
14797 @ReturnMapping(NotifyWatchResults
)
14798 async def WatchRetryStrategy(self
, entities
):
14800 entities : typing.Sequence[~Entity]
14801 Returns -> typing.Sequence[~NotifyWatchResult]
14803 # map input types to rpc msg
14805 msg
= dict(Type
='RetryStrategy', Request
='WatchRetryStrategy', Version
=1, Params
=params
)
14806 params
['Entities'] = entities
14807 reply
= await self
.rpc(msg
)
14811 class SSHClient(Type
):
14814 schema
= {'definitions': {'Entities': {'additionalProperties': False,
14815 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
14817 'required': ['Entities'],
14819 'Entity': {'additionalProperties': False,
14820 'properties': {'Tag': {'type': 'string'}},
14821 'required': ['Tag'],
14823 'Error': {'additionalProperties': False,
14824 'properties': {'Code': {'type': 'string'},
14825 'Info': {'$ref': '#/definitions/ErrorInfo'},
14826 'Message': {'type': 'string'}},
14827 'required': ['Message', 'Code'],
14829 'ErrorInfo': {'additionalProperties': False,
14830 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
14831 'MacaroonPath': {'type': 'string'}},
14833 'Macaroon': {'additionalProperties': False,
14834 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
14836 'data': {'items': {'type': 'integer'},
14838 'id': {'$ref': '#/definitions/packet'},
14839 'location': {'$ref': '#/definitions/packet'},
14840 'sig': {'items': {'type': 'integer'},
14842 'required': ['data',
14848 'SSHAddressResult': {'additionalProperties': False,
14849 'properties': {'address': {'type': 'string'},
14850 'error': {'$ref': '#/definitions/Error'}},
14852 'SSHAddressResults': {'additionalProperties': False,
14853 'properties': {'results': {'items': {'$ref': '#/definitions/SSHAddressResult'},
14855 'required': ['results'],
14857 'SSHProxyResult': {'additionalProperties': False,
14858 'properties': {'use-proxy': {'type': 'boolean'}},
14859 'required': ['use-proxy'],
14861 'SSHPublicKeysResult': {'additionalProperties': False,
14862 'properties': {'error': {'$ref': '#/definitions/Error'},
14863 'public-keys': {'items': {'type': 'string'},
14866 'SSHPublicKeysResults': {'additionalProperties': False,
14867 'properties': {'results': {'items': {'$ref': '#/definitions/SSHPublicKeysResult'},
14869 'required': ['results'],
14871 'caveat': {'additionalProperties': False,
14872 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
14873 'location': {'$ref': '#/definitions/packet'},
14874 'verificationId': {'$ref': '#/definitions/packet'}},
14875 'required': ['location',
14879 'packet': {'additionalProperties': False,
14880 'properties': {'headerLen': {'type': 'integer'},
14881 'start': {'type': 'integer'},
14882 'totalLen': {'type': 'integer'}},
14883 'required': ['start', 'totalLen', 'headerLen'],
14884 'type': 'object'}},
14885 'properties': {'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14886 'Result': {'$ref': '#/definitions/SSHAddressResults'}},
14888 'Proxy': {'properties': {'Result': {'$ref': '#/definitions/SSHProxyResult'}},
14890 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14891 'Result': {'$ref': '#/definitions/SSHAddressResults'}},
14893 'PublicKeys': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14894 'Result': {'$ref': '#/definitions/SSHPublicKeysResults'}},
14895 'type': 'object'}},
14899 @ReturnMapping(SSHAddressResults
)
14900 async def PrivateAddress(self
, entities
):
14902 entities : typing.Sequence[~Entity]
14903 Returns -> typing.Sequence[~SSHAddressResult]
14905 # map input types to rpc msg
14907 msg
= dict(Type
='SSHClient', Request
='PrivateAddress', Version
=1, Params
=params
)
14908 params
['Entities'] = entities
14909 reply
= await self
.rpc(msg
)
14914 @ReturnMapping(SSHProxyResult
)
14915 async def Proxy(self
):
14920 # map input types to rpc msg
14922 msg
= dict(Type
='SSHClient', Request
='Proxy', Version
=1, Params
=params
)
14924 reply
= await self
.rpc(msg
)
14929 @ReturnMapping(SSHAddressResults
)
14930 async def PublicAddress(self
, entities
):
14932 entities : typing.Sequence[~Entity]
14933 Returns -> typing.Sequence[~SSHAddressResult]
14935 # map input types to rpc msg
14937 msg
= dict(Type
='SSHClient', Request
='PublicAddress', Version
=1, Params
=params
)
14938 params
['Entities'] = entities
14939 reply
= await self
.rpc(msg
)
14944 @ReturnMapping(SSHPublicKeysResults
)
14945 async def PublicKeys(self
, entities
):
14947 entities : typing.Sequence[~Entity]
14948 Returns -> typing.Sequence[~SSHPublicKeysResult]
14950 # map input types to rpc msg
14952 msg
= dict(Type
='SSHClient', Request
='PublicKeys', Version
=1, Params
=params
)
14953 params
['Entities'] = entities
14954 reply
= await self
.rpc(msg
)
14958 class Service(Type
):
14961 schema
= {'definitions': {'AddRelation': {'additionalProperties': False,
14962 'properties': {'Endpoints': {'items': {'type': 'string'},
14964 'required': ['Endpoints'],
14966 'AddRelationResults': {'additionalProperties': False,
14967 'properties': {'Endpoints': {'patternProperties': {'.*': {'$ref': '#/definitions/Relation'}},
14968 'type': 'object'}},
14969 'required': ['Endpoints'],
14971 'AddServiceUnits': {'additionalProperties': False,
14972 'properties': {'NumUnits': {'type': 'integer'},
14973 'Placement': {'items': {'$ref': '#/definitions/Placement'},
14975 'ServiceName': {'type': 'string'}},
14976 'required': ['ServiceName',
14980 'AddServiceUnitsResults': {'additionalProperties': False,
14981 'properties': {'Units': {'items': {'type': 'string'},
14983 'required': ['Units'],
14985 'Constraints': {'additionalProperties': False,
14986 'properties': {'Count': {'type': 'integer'},
14987 'Pool': {'type': 'string'},
14988 'Size': {'type': 'integer'}},
14989 'required': ['Pool', 'Size', 'Count'],
14991 'DestroyRelation': {'additionalProperties': False,
14992 'properties': {'Endpoints': {'items': {'type': 'string'},
14994 'required': ['Endpoints'],
14996 'DestroyServiceUnits': {'additionalProperties': False,
14997 'properties': {'UnitNames': {'items': {'type': 'string'},
14999 'required': ['UnitNames'],
15001 'Error': {'additionalProperties': False,
15002 'properties': {'Code': {'type': 'string'},
15003 'Info': {'$ref': '#/definitions/ErrorInfo'},
15004 'Message': {'type': 'string'}},
15005 'required': ['Message', 'Code'],
15007 'ErrorInfo': {'additionalProperties': False,
15008 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
15009 'MacaroonPath': {'type': 'string'}},
15011 'ErrorResult': {'additionalProperties': False,
15012 'properties': {'Error': {'$ref': '#/definitions/Error'}},
15013 'required': ['Error'],
15015 'ErrorResults': {'additionalProperties': False,
15016 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
15018 'required': ['Results'],
15020 'GetConstraintsResults': {'additionalProperties': False,
15021 'properties': {'Constraints': {'$ref': '#/definitions/Value'}},
15022 'required': ['Constraints'],
15024 'GetServiceConstraints': {'additionalProperties': False,
15025 'properties': {'ServiceName': {'type': 'string'}},
15026 'required': ['ServiceName'],
15028 'Macaroon': {'additionalProperties': False,
15029 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
15031 'data': {'items': {'type': 'integer'},
15033 'id': {'$ref': '#/definitions/packet'},
15034 'location': {'$ref': '#/definitions/packet'},
15035 'sig': {'items': {'type': 'integer'},
15037 'required': ['data',
15043 'Placement': {'additionalProperties': False,
15044 'properties': {'Directive': {'type': 'string'},
15045 'Scope': {'type': 'string'}},
15046 'required': ['Scope', 'Directive'],
15048 'Relation': {'additionalProperties': False,
15049 'properties': {'Interface': {'type': 'string'},
15050 'Limit': {'type': 'integer'},
15051 'Name': {'type': 'string'},
15052 'Optional': {'type': 'boolean'},
15053 'Role': {'type': 'string'},
15054 'Scope': {'type': 'string'}},
15055 'required': ['Name',
15062 'ServiceCharmRelations': {'additionalProperties': False,
15063 'properties': {'ServiceName': {'type': 'string'}},
15064 'required': ['ServiceName'],
15066 'ServiceCharmRelationsResults': {'additionalProperties': False,
15067 'properties': {'CharmRelations': {'items': {'type': 'string'},
15069 'required': ['CharmRelations'],
15071 'ServiceDeploy': {'additionalProperties': False,
15072 'properties': {'Channel': {'type': 'string'},
15073 'CharmUrl': {'type': 'string'},
15074 'Config': {'patternProperties': {'.*': {'type': 'string'}},
15076 'ConfigYAML': {'type': 'string'},
15077 'Constraints': {'$ref': '#/definitions/Value'},
15078 'EndpointBindings': {'patternProperties': {'.*': {'type': 'string'}},
15080 'NumUnits': {'type': 'integer'},
15081 'Placement': {'items': {'$ref': '#/definitions/Placement'},
15083 'Resources': {'patternProperties': {'.*': {'type': 'string'}},
15085 'Series': {'type': 'string'},
15086 'ServiceName': {'type': 'string'},
15087 'Storage': {'patternProperties': {'.*': {'$ref': '#/definitions/Constraints'}},
15088 'type': 'object'}},
15089 'required': ['ServiceName',
15099 'EndpointBindings',
15102 'ServiceDestroy': {'additionalProperties': False,
15103 'properties': {'ServiceName': {'type': 'string'}},
15104 'required': ['ServiceName'],
15106 'ServiceExpose': {'additionalProperties': False,
15107 'properties': {'ServiceName': {'type': 'string'}},
15108 'required': ['ServiceName'],
15110 'ServiceGet': {'additionalProperties': False,
15111 'properties': {'ServiceName': {'type': 'string'}},
15112 'required': ['ServiceName'],
15114 'ServiceGetResults': {'additionalProperties': False,
15115 'properties': {'Charm': {'type': 'string'},
15116 'Config': {'patternProperties': {'.*': {'additionalProperties': True,
15117 'type': 'object'}},
15119 'Constraints': {'$ref': '#/definitions/Value'},
15120 'Service': {'type': 'string'}},
15121 'required': ['Service',
15126 'ServiceMetricCredential': {'additionalProperties': False,
15127 'properties': {'MetricCredentials': {'items': {'type': 'integer'},
15129 'ServiceName': {'type': 'string'}},
15130 'required': ['ServiceName',
15131 'MetricCredentials'],
15133 'ServiceMetricCredentials': {'additionalProperties': False,
15134 'properties': {'Creds': {'items': {'$ref': '#/definitions/ServiceMetricCredential'},
15136 'required': ['Creds'],
15138 'ServiceSet': {'additionalProperties': False,
15139 'properties': {'Options': {'patternProperties': {'.*': {'type': 'string'}},
15141 'ServiceName': {'type': 'string'}},
15142 'required': ['ServiceName', 'Options'],
15144 'ServiceSetCharm': {'additionalProperties': False,
15145 'properties': {'charmurl': {'type': 'string'},
15146 'cs-channel': {'type': 'string'},
15147 'forceseries': {'type': 'boolean'},
15148 'forceunits': {'type': 'boolean'},
15149 'resourceids': {'patternProperties': {'.*': {'type': 'string'}},
15151 'servicename': {'type': 'string'}},
15152 'required': ['servicename',
15159 'ServiceUnexpose': {'additionalProperties': False,
15160 'properties': {'ServiceName': {'type': 'string'}},
15161 'required': ['ServiceName'],
15163 'ServiceUnset': {'additionalProperties': False,
15164 'properties': {'Options': {'items': {'type': 'string'},
15166 'ServiceName': {'type': 'string'}},
15167 'required': ['ServiceName', 'Options'],
15169 'ServiceUpdate': {'additionalProperties': False,
15170 'properties': {'CharmUrl': {'type': 'string'},
15171 'Constraints': {'$ref': '#/definitions/Value'},
15172 'ForceCharmUrl': {'type': 'boolean'},
15173 'ForceSeries': {'type': 'boolean'},
15174 'MinUnits': {'type': 'integer'},
15175 'ServiceName': {'type': 'string'},
15176 'SettingsStrings': {'patternProperties': {'.*': {'type': 'string'}},
15178 'SettingsYAML': {'type': 'string'}},
15179 'required': ['ServiceName',
15188 'ServicesDeploy': {'additionalProperties': False,
15189 'properties': {'Services': {'items': {'$ref': '#/definitions/ServiceDeploy'},
15191 'required': ['Services'],
15193 'SetConstraints': {'additionalProperties': False,
15194 'properties': {'Constraints': {'$ref': '#/definitions/Value'},
15195 'ServiceName': {'type': 'string'}},
15196 'required': ['ServiceName', 'Constraints'],
15198 'StringResult': {'additionalProperties': False,
15199 'properties': {'Error': {'$ref': '#/definitions/Error'},
15200 'Result': {'type': 'string'}},
15201 'required': ['Error', 'Result'],
15203 'Value': {'additionalProperties': False,
15204 'properties': {'arch': {'type': 'string'},
15205 'container': {'type': 'string'},
15206 'cpu-cores': {'type': 'integer'},
15207 'cpu-power': {'type': 'integer'},
15208 'instance-type': {'type': 'string'},
15209 'mem': {'type': 'integer'},
15210 'root-disk': {'type': 'integer'},
15211 'spaces': {'items': {'type': 'string'},
15213 'tags': {'items': {'type': 'string'},
15215 'virt-type': {'type': 'string'}},
15217 'caveat': {'additionalProperties': False,
15218 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
15219 'location': {'$ref': '#/definitions/packet'},
15220 'verificationId': {'$ref': '#/definitions/packet'}},
15221 'required': ['location',
15225 'packet': {'additionalProperties': False,
15226 'properties': {'headerLen': {'type': 'integer'},
15227 'start': {'type': 'integer'},
15228 'totalLen': {'type': 'integer'}},
15229 'required': ['start', 'totalLen', 'headerLen'],
15230 'type': 'object'}},
15231 'properties': {'AddRelation': {'properties': {'Params': {'$ref': '#/definitions/AddRelation'},
15232 'Result': {'$ref': '#/definitions/AddRelationResults'}},
15234 'AddUnits': {'properties': {'Params': {'$ref': '#/definitions/AddServiceUnits'},
15235 'Result': {'$ref': '#/definitions/AddServiceUnitsResults'}},
15237 'CharmRelations': {'properties': {'Params': {'$ref': '#/definitions/ServiceCharmRelations'},
15238 'Result': {'$ref': '#/definitions/ServiceCharmRelationsResults'}},
15240 'Deploy': {'properties': {'Params': {'$ref': '#/definitions/ServicesDeploy'},
15241 'Result': {'$ref': '#/definitions/ErrorResults'}},
15243 'Destroy': {'properties': {'Params': {'$ref': '#/definitions/ServiceDestroy'}},
15245 'DestroyRelation': {'properties': {'Params': {'$ref': '#/definitions/DestroyRelation'}},
15247 'DestroyUnits': {'properties': {'Params': {'$ref': '#/definitions/DestroyServiceUnits'}},
15249 'Expose': {'properties': {'Params': {'$ref': '#/definitions/ServiceExpose'}},
15251 'Get': {'properties': {'Params': {'$ref': '#/definitions/ServiceGet'},
15252 'Result': {'$ref': '#/definitions/ServiceGetResults'}},
15254 'GetCharmURL': {'properties': {'Params': {'$ref': '#/definitions/ServiceGet'},
15255 'Result': {'$ref': '#/definitions/StringResult'}},
15257 'GetConstraints': {'properties': {'Params': {'$ref': '#/definitions/GetServiceConstraints'},
15258 'Result': {'$ref': '#/definitions/GetConstraintsResults'}},
15260 'Set': {'properties': {'Params': {'$ref': '#/definitions/ServiceSet'}},
15262 'SetCharm': {'properties': {'Params': {'$ref': '#/definitions/ServiceSetCharm'}},
15264 'SetConstraints': {'properties': {'Params': {'$ref': '#/definitions/SetConstraints'}},
15266 'SetMetricCredentials': {'properties': {'Params': {'$ref': '#/definitions/ServiceMetricCredentials'},
15267 'Result': {'$ref': '#/definitions/ErrorResults'}},
15269 'Unexpose': {'properties': {'Params': {'$ref': '#/definitions/ServiceUnexpose'}},
15271 'Unset': {'properties': {'Params': {'$ref': '#/definitions/ServiceUnset'}},
15273 'Update': {'properties': {'Params': {'$ref': '#/definitions/ServiceUpdate'}},
15274 'type': 'object'}},
15278 @ReturnMapping(AddRelationResults
)
15279 async def AddRelation(self
, endpoints
):
15281 endpoints : typing.Sequence[str]
15282 Returns -> typing.Mapping[str, ~Relation]
15284 # map input types to rpc msg
15286 msg
= dict(Type
='Service', Request
='AddRelation', Version
=3, Params
=params
)
15287 params
['Endpoints'] = endpoints
15288 reply
= await self
.rpc(msg
)
15293 @ReturnMapping(AddServiceUnitsResults
)
15294 async def AddUnits(self
, numunits
, placement
, servicename
):
15297 placement : typing.Sequence[~Placement]
15299 Returns -> typing.Sequence[str]
15301 # map input types to rpc msg
15303 msg
= dict(Type
='Service', Request
='AddUnits', Version
=3, Params
=params
)
15304 params
['NumUnits'] = numunits
15305 params
['Placement'] = placement
15306 params
['ServiceName'] = servicename
15307 reply
= await self
.rpc(msg
)
15312 @ReturnMapping(ServiceCharmRelationsResults
)
15313 async def CharmRelations(self
, servicename
):
15316 Returns -> typing.Sequence[str]
15318 # map input types to rpc msg
15320 msg
= dict(Type
='Service', Request
='CharmRelations', Version
=3, Params
=params
)
15321 params
['ServiceName'] = servicename
15322 reply
= await self
.rpc(msg
)
15327 @ReturnMapping(ErrorResults
)
15328 async def Deploy(self
, services
):
15330 services : typing.Sequence[~ServiceDeploy]
15331 Returns -> typing.Sequence[~ErrorResult]
15333 # map input types to rpc msg
15335 msg
= dict(Type
='Service', Request
='Deploy', Version
=3, Params
=params
)
15336 params
['Services'] = services
15337 reply
= await self
.rpc(msg
)
15342 @ReturnMapping(None)
15343 async def Destroy(self
, servicename
):
15348 # map input types to rpc msg
15350 msg
= dict(Type
='Service', Request
='Destroy', Version
=3, Params
=params
)
15351 params
['ServiceName'] = servicename
15352 reply
= await self
.rpc(msg
)
15357 @ReturnMapping(None)
15358 async def DestroyRelation(self
, endpoints
):
15360 endpoints : typing.Sequence[str]
15363 # map input types to rpc msg
15365 msg
= dict(Type
='Service', Request
='DestroyRelation', Version
=3, Params
=params
)
15366 params
['Endpoints'] = endpoints
15367 reply
= await self
.rpc(msg
)
15372 @ReturnMapping(None)
15373 async def DestroyUnits(self
, unitnames
):
15375 unitnames : typing.Sequence[str]
15378 # map input types to rpc msg
15380 msg
= dict(Type
='Service', Request
='DestroyUnits', Version
=3, Params
=params
)
15381 params
['UnitNames'] = unitnames
15382 reply
= await self
.rpc(msg
)
15387 @ReturnMapping(None)
15388 async def Expose(self
, servicename
):
15393 # map input types to rpc msg
15395 msg
= dict(Type
='Service', Request
='Expose', Version
=3, Params
=params
)
15396 params
['ServiceName'] = servicename
15397 reply
= await self
.rpc(msg
)
15402 @ReturnMapping(ServiceGetResults
)
15403 async def Get(self
, servicename
):
15406 Returns -> typing.Union[str, typing.Mapping[str, typing.Any], _ForwardRef('Value')]
15408 # map input types to rpc msg
15410 msg
= dict(Type
='Service', Request
='Get', Version
=3, Params
=params
)
15411 params
['ServiceName'] = servicename
15412 reply
= await self
.rpc(msg
)
15417 @ReturnMapping(StringResult
)
15418 async def GetCharmURL(self
, servicename
):
15421 Returns -> typing.Union[_ForwardRef('Error'), str]
15423 # map input types to rpc msg
15425 msg
= dict(Type
='Service', Request
='GetCharmURL', Version
=3, Params
=params
)
15426 params
['ServiceName'] = servicename
15427 reply
= await self
.rpc(msg
)
15432 @ReturnMapping(GetConstraintsResults
)
15433 async def GetConstraints(self
, servicename
):
15438 # map input types to rpc msg
15440 msg
= dict(Type
='Service', Request
='GetConstraints', Version
=3, Params
=params
)
15441 params
['ServiceName'] = servicename
15442 reply
= await self
.rpc(msg
)
15447 @ReturnMapping(None)
15448 async def Set(self
, options
, servicename
):
15450 options : typing.Mapping[str, str]
15454 # map input types to rpc msg
15456 msg
= dict(Type
='Service', Request
='Set', Version
=3, Params
=params
)
15457 params
['Options'] = options
15458 params
['ServiceName'] = servicename
15459 reply
= await self
.rpc(msg
)
15464 @ReturnMapping(None)
15465 async def SetCharm(self
, charmurl
, cs_channel
, forceseries
, forceunits
, resourceids
, servicename
):
15471 resourceids : typing.Mapping[str, str]
15475 # map input types to rpc msg
15477 msg
= dict(Type
='Service', Request
='SetCharm', Version
=3, Params
=params
)
15478 params
['charmurl'] = charmurl
15479 params
['cs-channel'] = cs_channel
15480 params
['forceseries'] = forceseries
15481 params
['forceunits'] = forceunits
15482 params
['resourceids'] = resourceids
15483 params
['servicename'] = servicename
15484 reply
= await self
.rpc(msg
)
15489 @ReturnMapping(None)
15490 async def SetConstraints(self
, constraints
, servicename
):
15492 constraints : Value
15496 # map input types to rpc msg
15498 msg
= dict(Type
='Service', Request
='SetConstraints', Version
=3, Params
=params
)
15499 params
['Constraints'] = constraints
15500 params
['ServiceName'] = servicename
15501 reply
= await self
.rpc(msg
)
15506 @ReturnMapping(ErrorResults
)
15507 async def SetMetricCredentials(self
, creds
):
15509 creds : typing.Sequence[~ServiceMetricCredential]
15510 Returns -> typing.Sequence[~ErrorResult]
15512 # map input types to rpc msg
15514 msg
= dict(Type
='Service', Request
='SetMetricCredentials', Version
=3, Params
=params
)
15515 params
['Creds'] = creds
15516 reply
= await self
.rpc(msg
)
15521 @ReturnMapping(None)
15522 async def Unexpose(self
, servicename
):
15527 # map input types to rpc msg
15529 msg
= dict(Type
='Service', Request
='Unexpose', Version
=3, Params
=params
)
15530 params
['ServiceName'] = servicename
15531 reply
= await self
.rpc(msg
)
15536 @ReturnMapping(None)
15537 async def Unset(self
, options
, servicename
):
15539 options : typing.Sequence[str]
15543 # map input types to rpc msg
15545 msg
= dict(Type
='Service', Request
='Unset', Version
=3, Params
=params
)
15546 params
['Options'] = options
15547 params
['ServiceName'] = servicename
15548 reply
= await self
.rpc(msg
)
15553 @ReturnMapping(None)
15554 async def Update(self
, charmurl
, constraints
, forcecharmurl
, forceseries
, minunits
, servicename
, settingsstrings
, settingsyaml
):
15557 constraints : Value
15558 forcecharmurl : bool
15562 settingsstrings : typing.Mapping[str, str]
15566 # map input types to rpc msg
15568 msg
= dict(Type
='Service', Request
='Update', Version
=3, Params
=params
)
15569 params
['CharmUrl'] = charmurl
15570 params
['Constraints'] = constraints
15571 params
['ForceCharmUrl'] = forcecharmurl
15572 params
['ForceSeries'] = forceseries
15573 params
['MinUnits'] = minunits
15574 params
['ServiceName'] = servicename
15575 params
['SettingsStrings'] = settingsstrings
15576 params
['SettingsYAML'] = settingsyaml
15577 reply
= await self
.rpc(msg
)
15581 class ServiceScaler(Type
):
15582 name
= 'ServiceScaler'
15584 schema
= {'definitions': {'Entities': {'additionalProperties': False,
15585 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
15587 'required': ['Entities'],
15589 'Entity': {'additionalProperties': False,
15590 'properties': {'Tag': {'type': 'string'}},
15591 'required': ['Tag'],
15593 'Error': {'additionalProperties': False,
15594 'properties': {'Code': {'type': 'string'},
15595 'Info': {'$ref': '#/definitions/ErrorInfo'},
15596 'Message': {'type': 'string'}},
15597 'required': ['Message', 'Code'],
15599 'ErrorInfo': {'additionalProperties': False,
15600 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
15601 'MacaroonPath': {'type': 'string'}},
15603 'ErrorResult': {'additionalProperties': False,
15604 'properties': {'Error': {'$ref': '#/definitions/Error'}},
15605 'required': ['Error'],
15607 'ErrorResults': {'additionalProperties': False,
15608 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
15610 'required': ['Results'],
15612 'Macaroon': {'additionalProperties': False,
15613 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
15615 'data': {'items': {'type': 'integer'},
15617 'id': {'$ref': '#/definitions/packet'},
15618 'location': {'$ref': '#/definitions/packet'},
15619 'sig': {'items': {'type': 'integer'},
15621 'required': ['data',
15627 'StringsWatchResult': {'additionalProperties': False,
15628 'properties': {'Changes': {'items': {'type': 'string'},
15630 'Error': {'$ref': '#/definitions/Error'},
15631 'StringsWatcherId': {'type': 'string'}},
15632 'required': ['StringsWatcherId',
15636 'caveat': {'additionalProperties': False,
15637 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
15638 'location': {'$ref': '#/definitions/packet'},
15639 'verificationId': {'$ref': '#/definitions/packet'}},
15640 'required': ['location',
15644 'packet': {'additionalProperties': False,
15645 'properties': {'headerLen': {'type': 'integer'},
15646 'start': {'type': 'integer'},
15647 'totalLen': {'type': 'integer'}},
15648 'required': ['start', 'totalLen', 'headerLen'],
15649 'type': 'object'}},
15650 'properties': {'Rescale': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15651 'Result': {'$ref': '#/definitions/ErrorResults'}},
15653 'Watch': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
15654 'type': 'object'}},
15658 @ReturnMapping(ErrorResults
)
15659 async def Rescale(self
, entities
):
15661 entities : typing.Sequence[~Entity]
15662 Returns -> typing.Sequence[~ErrorResult]
15664 # map input types to rpc msg
15666 msg
= dict(Type
='ServiceScaler', Request
='Rescale', Version
=1, Params
=params
)
15667 params
['Entities'] = entities
15668 reply
= await self
.rpc(msg
)
15673 @ReturnMapping(StringsWatchResult
)
15674 async def Watch(self
):
15677 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
15679 # map input types to rpc msg
15681 msg
= dict(Type
='ServiceScaler', Request
='Watch', Version
=1, Params
=params
)
15683 reply
= await self
.rpc(msg
)
15687 class Singular(Type
):
15690 schema
= {'definitions': {'Entities': {'additionalProperties': False,
15691 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
15693 'required': ['Entities'],
15695 'Entity': {'additionalProperties': False,
15696 'properties': {'Tag': {'type': 'string'}},
15697 'required': ['Tag'],
15699 'Error': {'additionalProperties': False,
15700 'properties': {'Code': {'type': 'string'},
15701 'Info': {'$ref': '#/definitions/ErrorInfo'},
15702 'Message': {'type': 'string'}},
15703 'required': ['Message', 'Code'],
15705 'ErrorInfo': {'additionalProperties': False,
15706 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
15707 'MacaroonPath': {'type': 'string'}},
15709 'ErrorResult': {'additionalProperties': False,
15710 'properties': {'Error': {'$ref': '#/definitions/Error'}},
15711 'required': ['Error'],
15713 'ErrorResults': {'additionalProperties': False,
15714 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
15716 'required': ['Results'],
15718 'Macaroon': {'additionalProperties': False,
15719 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
15721 'data': {'items': {'type': 'integer'},
15723 'id': {'$ref': '#/definitions/packet'},
15724 'location': {'$ref': '#/definitions/packet'},
15725 'sig': {'items': {'type': 'integer'},
15727 'required': ['data',
15733 'SingularClaim': {'additionalProperties': False,
15734 'properties': {'ControllerTag': {'type': 'string'},
15735 'Duration': {'type': 'integer'},
15736 'ModelTag': {'type': 'string'}},
15737 'required': ['ModelTag',
15741 'SingularClaims': {'additionalProperties': False,
15742 'properties': {'Claims': {'items': {'$ref': '#/definitions/SingularClaim'},
15744 'required': ['Claims'],
15746 'caveat': {'additionalProperties': False,
15747 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
15748 'location': {'$ref': '#/definitions/packet'},
15749 'verificationId': {'$ref': '#/definitions/packet'}},
15750 'required': ['location',
15754 'packet': {'additionalProperties': False,
15755 'properties': {'headerLen': {'type': 'integer'},
15756 'start': {'type': 'integer'},
15757 'totalLen': {'type': 'integer'}},
15758 'required': ['start', 'totalLen', 'headerLen'],
15759 'type': 'object'}},
15760 'properties': {'Claim': {'properties': {'Params': {'$ref': '#/definitions/SingularClaims'},
15761 'Result': {'$ref': '#/definitions/ErrorResults'}},
15763 'Wait': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15764 'Result': {'$ref': '#/definitions/ErrorResults'}},
15765 'type': 'object'}},
15769 @ReturnMapping(ErrorResults
)
15770 async def Claim(self
, claims
):
15772 claims : typing.Sequence[~SingularClaim]
15773 Returns -> typing.Sequence[~ErrorResult]
15775 # map input types to rpc msg
15777 msg
= dict(Type
='Singular', Request
='Claim', Version
=1, Params
=params
)
15778 params
['Claims'] = claims
15779 reply
= await self
.rpc(msg
)
15784 @ReturnMapping(ErrorResults
)
15785 async def Wait(self
, entities
):
15787 entities : typing.Sequence[~Entity]
15788 Returns -> typing.Sequence[~ErrorResult]
15790 # map input types to rpc msg
15792 msg
= dict(Type
='Singular', Request
='Wait', Version
=1, Params
=params
)
15793 params
['Entities'] = entities
15794 reply
= await self
.rpc(msg
)
15798 class Spaces(Type
):
15801 schema
= {'definitions': {'CreateSpaceParams': {'additionalProperties': False,
15802 'properties': {'ProviderId': {'type': 'string'},
15803 'Public': {'type': 'boolean'},
15804 'SpaceTag': {'type': 'string'},
15805 'SubnetTags': {'items': {'type': 'string'},
15807 'required': ['SubnetTags',
15811 'CreateSpacesParams': {'additionalProperties': False,
15812 'properties': {'Spaces': {'items': {'$ref': '#/definitions/CreateSpaceParams'},
15814 'required': ['Spaces'],
15816 'Error': {'additionalProperties': False,
15817 'properties': {'Code': {'type': 'string'},
15818 'Info': {'$ref': '#/definitions/ErrorInfo'},
15819 'Message': {'type': 'string'}},
15820 'required': ['Message', 'Code'],
15822 'ErrorInfo': {'additionalProperties': False,
15823 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
15824 'MacaroonPath': {'type': 'string'}},
15826 'ErrorResult': {'additionalProperties': False,
15827 'properties': {'Error': {'$ref': '#/definitions/Error'}},
15828 'required': ['Error'],
15830 'ErrorResults': {'additionalProperties': False,
15831 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
15833 'required': ['Results'],
15835 'ListSpacesResults': {'additionalProperties': False,
15836 'properties': {'Results': {'items': {'$ref': '#/definitions/Space'},
15838 'required': ['Results'],
15840 'Macaroon': {'additionalProperties': False,
15841 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
15843 'data': {'items': {'type': 'integer'},
15845 'id': {'$ref': '#/definitions/packet'},
15846 'location': {'$ref': '#/definitions/packet'},
15847 'sig': {'items': {'type': 'integer'},
15849 'required': ['data',
15855 'Space': {'additionalProperties': False,
15856 'properties': {'Error': {'$ref': '#/definitions/Error'},
15857 'Name': {'type': 'string'},
15858 'Subnets': {'items': {'$ref': '#/definitions/Subnet'},
15860 'required': ['Name', 'Subnets'],
15862 'Subnet': {'additionalProperties': False,
15863 'properties': {'CIDR': {'type': 'string'},
15864 'Life': {'type': 'string'},
15865 'ProviderId': {'type': 'string'},
15866 'SpaceTag': {'type': 'string'},
15867 'StaticRangeHighIP': {'items': {'type': 'integer'},
15869 'StaticRangeLowIP': {'items': {'type': 'integer'},
15871 'Status': {'type': 'string'},
15872 'VLANTag': {'type': 'integer'},
15873 'Zones': {'items': {'type': 'string'},
15875 'required': ['CIDR',
15881 'caveat': {'additionalProperties': False,
15882 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
15883 'location': {'$ref': '#/definitions/packet'},
15884 'verificationId': {'$ref': '#/definitions/packet'}},
15885 'required': ['location',
15889 'packet': {'additionalProperties': False,
15890 'properties': {'headerLen': {'type': 'integer'},
15891 'start': {'type': 'integer'},
15892 'totalLen': {'type': 'integer'}},
15893 'required': ['start', 'totalLen', 'headerLen'],
15894 'type': 'object'}},
15895 'properties': {'CreateSpaces': {'properties': {'Params': {'$ref': '#/definitions/CreateSpacesParams'},
15896 'Result': {'$ref': '#/definitions/ErrorResults'}},
15898 'ListSpaces': {'properties': {'Result': {'$ref': '#/definitions/ListSpacesResults'}},
15899 'type': 'object'}},
15903 @ReturnMapping(ErrorResults
)
15904 async def CreateSpaces(self
, spaces
):
15906 spaces : typing.Sequence[~CreateSpaceParams]
15907 Returns -> typing.Sequence[~ErrorResult]
15909 # map input types to rpc msg
15911 msg
= dict(Type
='Spaces', Request
='CreateSpaces', Version
=2, Params
=params
)
15912 params
['Spaces'] = spaces
15913 reply
= await self
.rpc(msg
)
15918 @ReturnMapping(ListSpacesResults
)
15919 async def ListSpaces(self
):
15922 Returns -> typing.Sequence[~Space]
15924 # map input types to rpc msg
15926 msg
= dict(Type
='Spaces', Request
='ListSpaces', Version
=2, Params
=params
)
15928 reply
= await self
.rpc(msg
)
15932 class StatusHistory(Type
):
15933 name
= 'StatusHistory'
15935 schema
= {'definitions': {'StatusHistoryPruneArgs': {'additionalProperties': False,
15936 'properties': {'MaxLogsPerEntity': {'type': 'integer'}},
15937 'required': ['MaxLogsPerEntity'],
15938 'type': 'object'}},
15939 'properties': {'Prune': {'properties': {'Params': {'$ref': '#/definitions/StatusHistoryPruneArgs'}},
15940 'type': 'object'}},
15944 @ReturnMapping(None)
15945 async def Prune(self
, maxlogsperentity
):
15947 maxlogsperentity : int
15950 # map input types to rpc msg
15952 msg
= dict(Type
='StatusHistory', Request
='Prune', Version
=2, Params
=params
)
15953 params
['MaxLogsPerEntity'] = maxlogsperentity
15954 reply
= await self
.rpc(msg
)
15958 class Storage(Type
):
15961 schema
= {'definitions': {'Entities': {'additionalProperties': False,
15962 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
15964 'required': ['Entities'],
15966 'Entity': {'additionalProperties': False,
15967 'properties': {'Tag': {'type': 'string'}},
15968 'required': ['Tag'],
15970 'EntityStatus': {'additionalProperties': False,
15971 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
15972 'type': 'object'}},
15974 'Info': {'type': 'string'},
15975 'Since': {'format': 'date-time',
15977 'Status': {'type': 'string'}},
15978 'required': ['Status',
15983 'Error': {'additionalProperties': False,
15984 'properties': {'Code': {'type': 'string'},
15985 'Info': {'$ref': '#/definitions/ErrorInfo'},
15986 'Message': {'type': 'string'}},
15987 'required': ['Message', 'Code'],
15989 'ErrorInfo': {'additionalProperties': False,
15990 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
15991 'MacaroonPath': {'type': 'string'}},
15993 'ErrorResult': {'additionalProperties': False,
15994 'properties': {'Error': {'$ref': '#/definitions/Error'}},
15995 'required': ['Error'],
15997 'ErrorResults': {'additionalProperties': False,
15998 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
16000 'required': ['Results'],
16002 'FilesystemAttachmentInfo': {'additionalProperties': False,
16003 'properties': {'mountpoint': {'type': 'string'},
16004 'read-only': {'type': 'boolean'}},
16006 'FilesystemDetails': {'additionalProperties': False,
16007 'properties': {'filesystemtag': {'type': 'string'},
16008 'info': {'$ref': '#/definitions/FilesystemInfo'},
16009 'machineattachments': {'patternProperties': {'.*': {'$ref': '#/definitions/FilesystemAttachmentInfo'}},
16011 'status': {'$ref': '#/definitions/EntityStatus'},
16012 'storage': {'$ref': '#/definitions/StorageDetails'},
16013 'volumetag': {'type': 'string'}},
16014 'required': ['filesystemtag',
16018 'FilesystemDetailsListResult': {'additionalProperties': False,
16019 'properties': {'error': {'$ref': '#/definitions/Error'},
16020 'result': {'items': {'$ref': '#/definitions/FilesystemDetails'},
16023 'FilesystemDetailsListResults': {'additionalProperties': False,
16024 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemDetailsListResult'},
16027 'FilesystemFilter': {'additionalProperties': False,
16028 'properties': {'machines': {'items': {'type': 'string'},
16031 'FilesystemFilters': {'additionalProperties': False,
16032 'properties': {'filters': {'items': {'$ref': '#/definitions/FilesystemFilter'},
16035 'FilesystemInfo': {'additionalProperties': False,
16036 'properties': {'filesystemid': {'type': 'string'},
16037 'size': {'type': 'integer'}},
16038 'required': ['filesystemid', 'size'],
16040 'Macaroon': {'additionalProperties': False,
16041 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
16043 'data': {'items': {'type': 'integer'},
16045 'id': {'$ref': '#/definitions/packet'},
16046 'location': {'$ref': '#/definitions/packet'},
16047 'sig': {'items': {'type': 'integer'},
16049 'required': ['data',
16055 'StorageAddParams': {'additionalProperties': False,
16056 'properties': {'StorageName': {'type': 'string'},
16057 'storage': {'$ref': '#/definitions/StorageConstraints'},
16058 'unit': {'type': 'string'}},
16059 'required': ['unit',
16063 'StorageAttachmentDetails': {'additionalProperties': False,
16064 'properties': {'location': {'type': 'string'},
16065 'machinetag': {'type': 'string'},
16066 'storagetag': {'type': 'string'},
16067 'unittag': {'type': 'string'}},
16068 'required': ['storagetag',
16072 'StorageConstraints': {'additionalProperties': False,
16073 'properties': {'Count': {'type': 'integer'},
16074 'Pool': {'type': 'string'},
16075 'Size': {'type': 'integer'}},
16076 'required': ['Pool', 'Size', 'Count'],
16078 'StorageDetails': {'additionalProperties': False,
16079 'properties': {'Persistent': {'type': 'boolean'},
16080 'attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/StorageAttachmentDetails'}},
16082 'kind': {'type': 'integer'},
16083 'ownertag': {'type': 'string'},
16084 'status': {'$ref': '#/definitions/EntityStatus'},
16085 'storagetag': {'type': 'string'}},
16086 'required': ['storagetag',
16092 'StorageDetailsListResult': {'additionalProperties': False,
16093 'properties': {'error': {'$ref': '#/definitions/Error'},
16094 'result': {'items': {'$ref': '#/definitions/StorageDetails'},
16097 'StorageDetailsListResults': {'additionalProperties': False,
16098 'properties': {'results': {'items': {'$ref': '#/definitions/StorageDetailsListResult'},
16101 'StorageDetailsResult': {'additionalProperties': False,
16102 'properties': {'error': {'$ref': '#/definitions/Error'},
16103 'result': {'$ref': '#/definitions/StorageDetails'}},
16105 'StorageDetailsResults': {'additionalProperties': False,
16106 'properties': {'results': {'items': {'$ref': '#/definitions/StorageDetailsResult'},
16109 'StorageFilter': {'additionalProperties': False,
16111 'StorageFilters': {'additionalProperties': False,
16112 'properties': {'filters': {'items': {'$ref': '#/definitions/StorageFilter'},
16115 'StoragePool': {'additionalProperties': False,
16116 'properties': {'attrs': {'patternProperties': {'.*': {'additionalProperties': True,
16117 'type': 'object'}},
16119 'name': {'type': 'string'},
16120 'provider': {'type': 'string'}},
16121 'required': ['name', 'provider', 'attrs'],
16123 'StoragePoolFilter': {'additionalProperties': False,
16124 'properties': {'names': {'items': {'type': 'string'},
16126 'providers': {'items': {'type': 'string'},
16129 'StoragePoolFilters': {'additionalProperties': False,
16130 'properties': {'filters': {'items': {'$ref': '#/definitions/StoragePoolFilter'},
16133 'StoragePoolsResult': {'additionalProperties': False,
16134 'properties': {'error': {'$ref': '#/definitions/Error'},
16135 'storagepools': {'items': {'$ref': '#/definitions/StoragePool'},
16138 'StoragePoolsResults': {'additionalProperties': False,
16139 'properties': {'results': {'items': {'$ref': '#/definitions/StoragePoolsResult'},
16142 'StoragesAddParams': {'additionalProperties': False,
16143 'properties': {'storages': {'items': {'$ref': '#/definitions/StorageAddParams'},
16145 'required': ['storages'],
16147 'VolumeAttachmentInfo': {'additionalProperties': False,
16148 'properties': {'busaddress': {'type': 'string'},
16149 'devicelink': {'type': 'string'},
16150 'devicename': {'type': 'string'},
16151 'read-only': {'type': 'boolean'}},
16153 'VolumeDetails': {'additionalProperties': False,
16154 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
16155 'machineattachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentInfo'}},
16157 'status': {'$ref': '#/definitions/EntityStatus'},
16158 'storage': {'$ref': '#/definitions/StorageDetails'},
16159 'volumetag': {'type': 'string'}},
16160 'required': ['volumetag', 'info', 'status'],
16162 'VolumeDetailsListResult': {'additionalProperties': False,
16163 'properties': {'error': {'$ref': '#/definitions/Error'},
16164 'result': {'items': {'$ref': '#/definitions/VolumeDetails'},
16167 'VolumeDetailsListResults': {'additionalProperties': False,
16168 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeDetailsListResult'},
16171 'VolumeFilter': {'additionalProperties': False,
16172 'properties': {'machines': {'items': {'type': 'string'},
16175 'VolumeFilters': {'additionalProperties': False,
16176 'properties': {'filters': {'items': {'$ref': '#/definitions/VolumeFilter'},
16179 'VolumeInfo': {'additionalProperties': False,
16180 'properties': {'hardwareid': {'type': 'string'},
16181 'persistent': {'type': 'boolean'},
16182 'size': {'type': 'integer'},
16183 'volumeid': {'type': 'string'}},
16184 'required': ['volumeid', 'size', 'persistent'],
16186 'caveat': {'additionalProperties': False,
16187 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
16188 'location': {'$ref': '#/definitions/packet'},
16189 'verificationId': {'$ref': '#/definitions/packet'}},
16190 'required': ['location',
16194 'packet': {'additionalProperties': False,
16195 'properties': {'headerLen': {'type': 'integer'},
16196 'start': {'type': 'integer'},
16197 'totalLen': {'type': 'integer'}},
16198 'required': ['start', 'totalLen', 'headerLen'],
16199 'type': 'object'}},
16200 'properties': {'AddToUnit': {'properties': {'Params': {'$ref': '#/definitions/StoragesAddParams'},
16201 'Result': {'$ref': '#/definitions/ErrorResults'}},
16203 'CreatePool': {'properties': {'Params': {'$ref': '#/definitions/StoragePool'}},
16205 'ListFilesystems': {'properties': {'Params': {'$ref': '#/definitions/FilesystemFilters'},
16206 'Result': {'$ref': '#/definitions/FilesystemDetailsListResults'}},
16208 'ListPools': {'properties': {'Params': {'$ref': '#/definitions/StoragePoolFilters'},
16209 'Result': {'$ref': '#/definitions/StoragePoolsResults'}},
16211 'ListStorageDetails': {'properties': {'Params': {'$ref': '#/definitions/StorageFilters'},
16212 'Result': {'$ref': '#/definitions/StorageDetailsListResults'}},
16214 'ListVolumes': {'properties': {'Params': {'$ref': '#/definitions/VolumeFilters'},
16215 'Result': {'$ref': '#/definitions/VolumeDetailsListResults'}},
16217 'StorageDetails': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16218 'Result': {'$ref': '#/definitions/StorageDetailsResults'}},
16219 'type': 'object'}},
16223 @ReturnMapping(ErrorResults
)
16224 async def AddToUnit(self
, storages
):
16226 storages : typing.Sequence[~StorageAddParams]
16227 Returns -> typing.Sequence[~ErrorResult]
16229 # map input types to rpc msg
16231 msg
= dict(Type
='Storage', Request
='AddToUnit', Version
=2, Params
=params
)
16232 params
['storages'] = storages
16233 reply
= await self
.rpc(msg
)
16238 @ReturnMapping(None)
16239 async def CreatePool(self
, attrs
, name
, provider
):
16241 attrs : typing.Mapping[str, typing.Any]
16246 # map input types to rpc msg
16248 msg
= dict(Type
='Storage', Request
='CreatePool', Version
=2, Params
=params
)
16249 params
['attrs'] = attrs
16250 params
['name'] = name
16251 params
['provider'] = provider
16252 reply
= await self
.rpc(msg
)
16257 @ReturnMapping(FilesystemDetailsListResults
)
16258 async def ListFilesystems(self
, filters
):
16260 filters : typing.Sequence[~FilesystemFilter]
16261 Returns -> typing.Sequence[~FilesystemDetailsListResult]
16263 # map input types to rpc msg
16265 msg
= dict(Type
='Storage', Request
='ListFilesystems', Version
=2, Params
=params
)
16266 params
['filters'] = filters
16267 reply
= await self
.rpc(msg
)
16272 @ReturnMapping(StoragePoolsResults
)
16273 async def ListPools(self
, filters
):
16275 filters : typing.Sequence[~StoragePoolFilter]
16276 Returns -> typing.Sequence[~StoragePoolsResult]
16278 # map input types to rpc msg
16280 msg
= dict(Type
='Storage', Request
='ListPools', Version
=2, Params
=params
)
16281 params
['filters'] = filters
16282 reply
= await self
.rpc(msg
)
16287 @ReturnMapping(StorageDetailsListResults
)
16288 async def ListStorageDetails(self
, filters
):
16290 filters : typing.Sequence[~StorageFilter]
16291 Returns -> typing.Sequence[~StorageDetailsListResult]
16293 # map input types to rpc msg
16295 msg
= dict(Type
='Storage', Request
='ListStorageDetails', Version
=2, Params
=params
)
16296 params
['filters'] = filters
16297 reply
= await self
.rpc(msg
)
16302 @ReturnMapping(VolumeDetailsListResults
)
16303 async def ListVolumes(self
, filters
):
16305 filters : typing.Sequence[~VolumeFilter]
16306 Returns -> typing.Sequence[~VolumeDetailsListResult]
16308 # map input types to rpc msg
16310 msg
= dict(Type
='Storage', Request
='ListVolumes', Version
=2, Params
=params
)
16311 params
['filters'] = filters
16312 reply
= await self
.rpc(msg
)
16317 @ReturnMapping(StorageDetailsResults
)
16318 async def StorageDetails(self
, entities
):
16320 entities : typing.Sequence[~Entity]
16321 Returns -> typing.Sequence[~StorageDetailsResult]
16323 # map input types to rpc msg
16325 msg
= dict(Type
='Storage', Request
='StorageDetails', Version
=2, Params
=params
)
16326 params
['Entities'] = entities
16327 reply
= await self
.rpc(msg
)
16331 class StorageProvisioner(Type
):
16332 name
= 'StorageProvisioner'
16334 schema
= {'definitions': {'BlockDevice': {'additionalProperties': False,
16335 'properties': {'BusAddress': {'type': 'string'},
16336 'DeviceLinks': {'items': {'type': 'string'},
16338 'DeviceName': {'type': 'string'},
16339 'FilesystemType': {'type': 'string'},
16340 'HardwareId': {'type': 'string'},
16341 'InUse': {'type': 'boolean'},
16342 'Label': {'type': 'string'},
16343 'MountPoint': {'type': 'string'},
16344 'Size': {'type': 'integer'},
16345 'UUID': {'type': 'string'}},
16346 'required': ['DeviceName',
16357 'BlockDeviceResult': {'additionalProperties': False,
16358 'properties': {'error': {'$ref': '#/definitions/Error'},
16359 'result': {'$ref': '#/definitions/BlockDevice'}},
16360 'required': ['result'],
16362 'BlockDeviceResults': {'additionalProperties': False,
16363 'properties': {'results': {'items': {'$ref': '#/definitions/BlockDeviceResult'},
16366 'Entities': {'additionalProperties': False,
16367 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
16369 'required': ['Entities'],
16371 'Entity': {'additionalProperties': False,
16372 'properties': {'Tag': {'type': 'string'}},
16373 'required': ['Tag'],
16375 'EntityStatusArgs': {'additionalProperties': False,
16376 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
16377 'type': 'object'}},
16379 'Info': {'type': 'string'},
16380 'Status': {'type': 'string'},
16381 'Tag': {'type': 'string'}},
16382 'required': ['Tag',
16387 'Error': {'additionalProperties': False,
16388 'properties': {'Code': {'type': 'string'},
16389 'Info': {'$ref': '#/definitions/ErrorInfo'},
16390 'Message': {'type': 'string'}},
16391 'required': ['Message', 'Code'],
16393 'ErrorInfo': {'additionalProperties': False,
16394 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
16395 'MacaroonPath': {'type': 'string'}},
16397 'ErrorResult': {'additionalProperties': False,
16398 'properties': {'Error': {'$ref': '#/definitions/Error'}},
16399 'required': ['Error'],
16401 'ErrorResults': {'additionalProperties': False,
16402 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
16404 'required': ['Results'],
16406 'Filesystem': {'additionalProperties': False,
16407 'properties': {'filesystemtag': {'type': 'string'},
16408 'info': {'$ref': '#/definitions/FilesystemInfo'},
16409 'volumetag': {'type': 'string'}},
16410 'required': ['filesystemtag', 'info'],
16412 'FilesystemAttachment': {'additionalProperties': False,
16413 'properties': {'filesystemtag': {'type': 'string'},
16414 'info': {'$ref': '#/definitions/FilesystemAttachmentInfo'},
16415 'machinetag': {'type': 'string'}},
16416 'required': ['filesystemtag',
16420 'FilesystemAttachmentInfo': {'additionalProperties': False,
16421 'properties': {'mountpoint': {'type': 'string'},
16422 'read-only': {'type': 'boolean'}},
16424 'FilesystemAttachmentParams': {'additionalProperties': False,
16425 'properties': {'filesystemid': {'type': 'string'},
16426 'filesystemtag': {'type': 'string'},
16427 'instanceid': {'type': 'string'},
16428 'machinetag': {'type': 'string'},
16429 'mountpoint': {'type': 'string'},
16430 'provider': {'type': 'string'},
16431 'read-only': {'type': 'boolean'}},
16432 'required': ['filesystemtag',
16436 'FilesystemAttachmentParamsResult': {'additionalProperties': False,
16437 'properties': {'error': {'$ref': '#/definitions/Error'},
16438 'result': {'$ref': '#/definitions/FilesystemAttachmentParams'}},
16439 'required': ['result'],
16441 'FilesystemAttachmentParamsResults': {'additionalProperties': False,
16442 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemAttachmentParamsResult'},
16445 'FilesystemAttachmentResult': {'additionalProperties': False,
16446 'properties': {'error': {'$ref': '#/definitions/Error'},
16447 'result': {'$ref': '#/definitions/FilesystemAttachment'}},
16448 'required': ['result'],
16450 'FilesystemAttachmentResults': {'additionalProperties': False,
16451 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemAttachmentResult'},
16454 'FilesystemAttachments': {'additionalProperties': False,
16455 'properties': {'filesystemattachments': {'items': {'$ref': '#/definitions/FilesystemAttachment'},
16457 'required': ['filesystemattachments'],
16459 'FilesystemInfo': {'additionalProperties': False,
16460 'properties': {'filesystemid': {'type': 'string'},
16461 'size': {'type': 'integer'}},
16462 'required': ['filesystemid', 'size'],
16464 'FilesystemParams': {'additionalProperties': False,
16465 'properties': {'attachment': {'$ref': '#/definitions/FilesystemAttachmentParams'},
16466 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
16467 'type': 'object'}},
16469 'filesystemtag': {'type': 'string'},
16470 'provider': {'type': 'string'},
16471 'size': {'type': 'integer'},
16472 'tags': {'patternProperties': {'.*': {'type': 'string'}},
16474 'volumetag': {'type': 'string'}},
16475 'required': ['filesystemtag',
16479 'FilesystemParamsResult': {'additionalProperties': False,
16480 'properties': {'error': {'$ref': '#/definitions/Error'},
16481 'result': {'$ref': '#/definitions/FilesystemParams'}},
16482 'required': ['result'],
16484 'FilesystemParamsResults': {'additionalProperties': False,
16485 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemParamsResult'},
16488 'FilesystemResult': {'additionalProperties': False,
16489 'properties': {'error': {'$ref': '#/definitions/Error'},
16490 'result': {'$ref': '#/definitions/Filesystem'}},
16491 'required': ['result'],
16493 'FilesystemResults': {'additionalProperties': False,
16494 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemResult'},
16497 'Filesystems': {'additionalProperties': False,
16498 'properties': {'filesystems': {'items': {'$ref': '#/definitions/Filesystem'},
16500 'required': ['filesystems'],
16502 'LifeResult': {'additionalProperties': False,
16503 'properties': {'Error': {'$ref': '#/definitions/Error'},
16504 'Life': {'type': 'string'}},
16505 'required': ['Life', 'Error'],
16507 'LifeResults': {'additionalProperties': False,
16508 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
16510 'required': ['Results'],
16512 'Macaroon': {'additionalProperties': False,
16513 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
16515 'data': {'items': {'type': 'integer'},
16517 'id': {'$ref': '#/definitions/packet'},
16518 'location': {'$ref': '#/definitions/packet'},
16519 'sig': {'items': {'type': 'integer'},
16521 'required': ['data',
16527 'MachineStorageId': {'additionalProperties': False,
16528 'properties': {'attachmenttag': {'type': 'string'},
16529 'machinetag': {'type': 'string'}},
16530 'required': ['machinetag',
16533 'MachineStorageIds': {'additionalProperties': False,
16534 'properties': {'ids': {'items': {'$ref': '#/definitions/MachineStorageId'},
16536 'required': ['ids'],
16538 'MachineStorageIdsWatchResult': {'additionalProperties': False,
16539 'properties': {'Changes': {'items': {'$ref': '#/definitions/MachineStorageId'},
16541 'Error': {'$ref': '#/definitions/Error'},
16542 'MachineStorageIdsWatcherId': {'type': 'string'}},
16543 'required': ['MachineStorageIdsWatcherId',
16547 'MachineStorageIdsWatchResults': {'additionalProperties': False,
16548 'properties': {'Results': {'items': {'$ref': '#/definitions/MachineStorageIdsWatchResult'},
16550 'required': ['Results'],
16552 'ModelConfigResult': {'additionalProperties': False,
16553 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
16554 'type': 'object'}},
16555 'type': 'object'}},
16556 'required': ['Config'],
16558 'NotifyWatchResult': {'additionalProperties': False,
16559 'properties': {'Error': {'$ref': '#/definitions/Error'},
16560 'NotifyWatcherId': {'type': 'string'}},
16561 'required': ['NotifyWatcherId', 'Error'],
16563 'NotifyWatchResults': {'additionalProperties': False,
16564 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
16566 'required': ['Results'],
16568 'SetStatus': {'additionalProperties': False,
16569 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
16571 'required': ['Entities'],
16573 'StringResult': {'additionalProperties': False,
16574 'properties': {'Error': {'$ref': '#/definitions/Error'},
16575 'Result': {'type': 'string'}},
16576 'required': ['Error', 'Result'],
16578 'StringResults': {'additionalProperties': False,
16579 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'},
16581 'required': ['Results'],
16583 'StringsWatchResult': {'additionalProperties': False,
16584 'properties': {'Changes': {'items': {'type': 'string'},
16586 'Error': {'$ref': '#/definitions/Error'},
16587 'StringsWatcherId': {'type': 'string'}},
16588 'required': ['StringsWatcherId',
16592 'StringsWatchResults': {'additionalProperties': False,
16593 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
16595 'required': ['Results'],
16597 'Volume': {'additionalProperties': False,
16598 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
16599 'volumetag': {'type': 'string'}},
16600 'required': ['volumetag', 'info'],
16602 'VolumeAttachment': {'additionalProperties': False,
16603 'properties': {'info': {'$ref': '#/definitions/VolumeAttachmentInfo'},
16604 'machinetag': {'type': 'string'},
16605 'volumetag': {'type': 'string'}},
16606 'required': ['volumetag',
16610 'VolumeAttachmentInfo': {'additionalProperties': False,
16611 'properties': {'busaddress': {'type': 'string'},
16612 'devicelink': {'type': 'string'},
16613 'devicename': {'type': 'string'},
16614 'read-only': {'type': 'boolean'}},
16616 'VolumeAttachmentParams': {'additionalProperties': False,
16617 'properties': {'instanceid': {'type': 'string'},
16618 'machinetag': {'type': 'string'},
16619 'provider': {'type': 'string'},
16620 'read-only': {'type': 'boolean'},
16621 'volumeid': {'type': 'string'},
16622 'volumetag': {'type': 'string'}},
16623 'required': ['volumetag',
16627 'VolumeAttachmentParamsResult': {'additionalProperties': False,
16628 'properties': {'error': {'$ref': '#/definitions/Error'},
16629 'result': {'$ref': '#/definitions/VolumeAttachmentParams'}},
16630 'required': ['result'],
16632 'VolumeAttachmentParamsResults': {'additionalProperties': False,
16633 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeAttachmentParamsResult'},
16636 'VolumeAttachmentResult': {'additionalProperties': False,
16637 'properties': {'error': {'$ref': '#/definitions/Error'},
16638 'result': {'$ref': '#/definitions/VolumeAttachment'}},
16639 'required': ['result'],
16641 'VolumeAttachmentResults': {'additionalProperties': False,
16642 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeAttachmentResult'},
16645 'VolumeAttachments': {'additionalProperties': False,
16646 'properties': {'volumeattachments': {'items': {'$ref': '#/definitions/VolumeAttachment'},
16648 'required': ['volumeattachments'],
16650 'VolumeInfo': {'additionalProperties': False,
16651 'properties': {'hardwareid': {'type': 'string'},
16652 'persistent': {'type': 'boolean'},
16653 'size': {'type': 'integer'},
16654 'volumeid': {'type': 'string'}},
16655 'required': ['volumeid', 'size', 'persistent'],
16657 'VolumeParams': {'additionalProperties': False,
16658 'properties': {'attachment': {'$ref': '#/definitions/VolumeAttachmentParams'},
16659 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
16660 'type': 'object'}},
16662 'provider': {'type': 'string'},
16663 'size': {'type': 'integer'},
16664 'tags': {'patternProperties': {'.*': {'type': 'string'}},
16666 'volumetag': {'type': 'string'}},
16667 'required': ['volumetag', 'size', 'provider'],
16669 'VolumeParamsResult': {'additionalProperties': False,
16670 'properties': {'error': {'$ref': '#/definitions/Error'},
16671 'result': {'$ref': '#/definitions/VolumeParams'}},
16672 'required': ['result'],
16674 'VolumeParamsResults': {'additionalProperties': False,
16675 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeParamsResult'},
16678 'VolumeResult': {'additionalProperties': False,
16679 'properties': {'error': {'$ref': '#/definitions/Error'},
16680 'result': {'$ref': '#/definitions/Volume'}},
16681 'required': ['result'],
16683 'VolumeResults': {'additionalProperties': False,
16684 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeResult'},
16687 'Volumes': {'additionalProperties': False,
16688 'properties': {'volumes': {'items': {'$ref': '#/definitions/Volume'},
16690 'required': ['volumes'],
16692 'caveat': {'additionalProperties': False,
16693 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
16694 'location': {'$ref': '#/definitions/packet'},
16695 'verificationId': {'$ref': '#/definitions/packet'}},
16696 'required': ['location',
16700 'packet': {'additionalProperties': False,
16701 'properties': {'headerLen': {'type': 'integer'},
16702 'start': {'type': 'integer'},
16703 'totalLen': {'type': 'integer'}},
16704 'required': ['start', 'totalLen', 'headerLen'],
16705 'type': 'object'}},
16706 'properties': {'AttachmentLife': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16707 'Result': {'$ref': '#/definitions/LifeResults'}},
16709 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16710 'Result': {'$ref': '#/definitions/ErrorResults'}},
16712 'FilesystemAttachmentParams': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16713 'Result': {'$ref': '#/definitions/FilesystemAttachmentParamsResults'}},
16715 'FilesystemAttachments': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16716 'Result': {'$ref': '#/definitions/FilesystemAttachmentResults'}},
16718 'FilesystemParams': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16719 'Result': {'$ref': '#/definitions/FilesystemParamsResults'}},
16721 'Filesystems': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16722 'Result': {'$ref': '#/definitions/FilesystemResults'}},
16724 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16725 'Result': {'$ref': '#/definitions/StringResults'}},
16727 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16728 'Result': {'$ref': '#/definitions/LifeResults'}},
16730 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
16732 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16733 'Result': {'$ref': '#/definitions/ErrorResults'}},
16735 'RemoveAttachment': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16736 'Result': {'$ref': '#/definitions/ErrorResults'}},
16738 'SetFilesystemAttachmentInfo': {'properties': {'Params': {'$ref': '#/definitions/FilesystemAttachments'},
16739 'Result': {'$ref': '#/definitions/ErrorResults'}},
16741 'SetFilesystemInfo': {'properties': {'Params': {'$ref': '#/definitions/Filesystems'},
16742 'Result': {'$ref': '#/definitions/ErrorResults'}},
16744 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
16745 'Result': {'$ref': '#/definitions/ErrorResults'}},
16747 'SetVolumeAttachmentInfo': {'properties': {'Params': {'$ref': '#/definitions/VolumeAttachments'},
16748 'Result': {'$ref': '#/definitions/ErrorResults'}},
16750 'SetVolumeInfo': {'properties': {'Params': {'$ref': '#/definitions/Volumes'},
16751 'Result': {'$ref': '#/definitions/ErrorResults'}},
16753 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
16754 'Result': {'$ref': '#/definitions/ErrorResults'}},
16756 'VolumeAttachmentParams': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16757 'Result': {'$ref': '#/definitions/VolumeAttachmentParamsResults'}},
16759 'VolumeAttachments': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16760 'Result': {'$ref': '#/definitions/VolumeAttachmentResults'}},
16762 'VolumeBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16763 'Result': {'$ref': '#/definitions/BlockDeviceResults'}},
16765 'VolumeParams': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16766 'Result': {'$ref': '#/definitions/VolumeParamsResults'}},
16768 'Volumes': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16769 'Result': {'$ref': '#/definitions/VolumeResults'}},
16771 'WatchBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16772 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
16774 'WatchFilesystemAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16775 'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResults'}},
16777 'WatchFilesystems': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16778 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
16780 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
16782 'WatchMachines': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16783 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
16785 'WatchVolumeAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16786 'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResults'}},
16788 'WatchVolumes': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16789 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
16790 'type': 'object'}},
16794 @ReturnMapping(LifeResults
)
16795 async def AttachmentLife(self
, ids
):
16797 ids : typing.Sequence[~MachineStorageId]
16798 Returns -> typing.Sequence[~LifeResult]
16800 # map input types to rpc msg
16802 msg
= dict(Type
='StorageProvisioner', Request
='AttachmentLife', Version
=2, Params
=params
)
16803 params
['ids'] = ids
16804 reply
= await self
.rpc(msg
)
16809 @ReturnMapping(ErrorResults
)
16810 async def EnsureDead(self
, entities
):
16812 entities : typing.Sequence[~Entity]
16813 Returns -> typing.Sequence[~ErrorResult]
16815 # map input types to rpc msg
16817 msg
= dict(Type
='StorageProvisioner', Request
='EnsureDead', Version
=2, Params
=params
)
16818 params
['Entities'] = entities
16819 reply
= await self
.rpc(msg
)
16824 @ReturnMapping(FilesystemAttachmentParamsResults
)
16825 async def FilesystemAttachmentParams(self
, ids
):
16827 ids : typing.Sequence[~MachineStorageId]
16828 Returns -> typing.Sequence[~FilesystemAttachmentParamsResult]
16830 # map input types to rpc msg
16832 msg
= dict(Type
='StorageProvisioner', Request
='FilesystemAttachmentParams', Version
=2, Params
=params
)
16833 params
['ids'] = ids
16834 reply
= await self
.rpc(msg
)
16839 @ReturnMapping(FilesystemAttachmentResults
)
16840 async def FilesystemAttachments(self
, ids
):
16842 ids : typing.Sequence[~MachineStorageId]
16843 Returns -> typing.Sequence[~FilesystemAttachmentResult]
16845 # map input types to rpc msg
16847 msg
= dict(Type
='StorageProvisioner', Request
='FilesystemAttachments', Version
=2, Params
=params
)
16848 params
['ids'] = ids
16849 reply
= await self
.rpc(msg
)
16854 @ReturnMapping(FilesystemParamsResults
)
16855 async def FilesystemParams(self
, entities
):
16857 entities : typing.Sequence[~Entity]
16858 Returns -> typing.Sequence[~FilesystemParamsResult]
16860 # map input types to rpc msg
16862 msg
= dict(Type
='StorageProvisioner', Request
='FilesystemParams', Version
=2, Params
=params
)
16863 params
['Entities'] = entities
16864 reply
= await self
.rpc(msg
)
16869 @ReturnMapping(FilesystemResults
)
16870 async def Filesystems(self
, entities
):
16872 entities : typing.Sequence[~Entity]
16873 Returns -> typing.Sequence[~FilesystemResult]
16875 # map input types to rpc msg
16877 msg
= dict(Type
='StorageProvisioner', Request
='Filesystems', Version
=2, Params
=params
)
16878 params
['Entities'] = entities
16879 reply
= await self
.rpc(msg
)
16884 @ReturnMapping(StringResults
)
16885 async def InstanceId(self
, entities
):
16887 entities : typing.Sequence[~Entity]
16888 Returns -> typing.Sequence[~StringResult]
16890 # map input types to rpc msg
16892 msg
= dict(Type
='StorageProvisioner', Request
='InstanceId', Version
=2, Params
=params
)
16893 params
['Entities'] = entities
16894 reply
= await self
.rpc(msg
)
16899 @ReturnMapping(LifeResults
)
16900 async def Life(self
, entities
):
16902 entities : typing.Sequence[~Entity]
16903 Returns -> typing.Sequence[~LifeResult]
16905 # map input types to rpc msg
16907 msg
= dict(Type
='StorageProvisioner', Request
='Life', Version
=2, Params
=params
)
16908 params
['Entities'] = entities
16909 reply
= await self
.rpc(msg
)
16914 @ReturnMapping(ModelConfigResult
)
16915 async def ModelConfig(self
):
16918 Returns -> typing.Mapping[str, typing.Any]
16920 # map input types to rpc msg
16922 msg
= dict(Type
='StorageProvisioner', Request
='ModelConfig', Version
=2, Params
=params
)
16924 reply
= await self
.rpc(msg
)
16929 @ReturnMapping(ErrorResults
)
16930 async def Remove(self
, entities
):
16932 entities : typing.Sequence[~Entity]
16933 Returns -> typing.Sequence[~ErrorResult]
16935 # map input types to rpc msg
16937 msg
= dict(Type
='StorageProvisioner', Request
='Remove', Version
=2, Params
=params
)
16938 params
['Entities'] = entities
16939 reply
= await self
.rpc(msg
)
16944 @ReturnMapping(ErrorResults
)
16945 async def RemoveAttachment(self
, ids
):
16947 ids : typing.Sequence[~MachineStorageId]
16948 Returns -> typing.Sequence[~ErrorResult]
16950 # map input types to rpc msg
16952 msg
= dict(Type
='StorageProvisioner', Request
='RemoveAttachment', Version
=2, Params
=params
)
16953 params
['ids'] = ids
16954 reply
= await self
.rpc(msg
)
16959 @ReturnMapping(ErrorResults
)
16960 async def SetFilesystemAttachmentInfo(self
, filesystemattachments
):
16962 filesystemattachments : typing.Sequence[~FilesystemAttachment]
16963 Returns -> typing.Sequence[~ErrorResult]
16965 # map input types to rpc msg
16967 msg
= dict(Type
='StorageProvisioner', Request
='SetFilesystemAttachmentInfo', Version
=2, Params
=params
)
16968 params
['filesystemattachments'] = filesystemattachments
16969 reply
= await self
.rpc(msg
)
16974 @ReturnMapping(ErrorResults
)
16975 async def SetFilesystemInfo(self
, filesystems
):
16977 filesystems : typing.Sequence[~Filesystem]
16978 Returns -> typing.Sequence[~ErrorResult]
16980 # map input types to rpc msg
16982 msg
= dict(Type
='StorageProvisioner', Request
='SetFilesystemInfo', Version
=2, Params
=params
)
16983 params
['filesystems'] = filesystems
16984 reply
= await self
.rpc(msg
)
16989 @ReturnMapping(ErrorResults
)
16990 async def SetStatus(self
, entities
):
16992 entities : typing.Sequence[~EntityStatusArgs]
16993 Returns -> typing.Sequence[~ErrorResult]
16995 # map input types to rpc msg
16997 msg
= dict(Type
='StorageProvisioner', Request
='SetStatus', Version
=2, Params
=params
)
16998 params
['Entities'] = entities
16999 reply
= await self
.rpc(msg
)
17004 @ReturnMapping(ErrorResults
)
17005 async def SetVolumeAttachmentInfo(self
, volumeattachments
):
17007 volumeattachments : typing.Sequence[~VolumeAttachment]
17008 Returns -> typing.Sequence[~ErrorResult]
17010 # map input types to rpc msg
17012 msg
= dict(Type
='StorageProvisioner', Request
='SetVolumeAttachmentInfo', Version
=2, Params
=params
)
17013 params
['volumeattachments'] = volumeattachments
17014 reply
= await self
.rpc(msg
)
17019 @ReturnMapping(ErrorResults
)
17020 async def SetVolumeInfo(self
, volumes
):
17022 volumes : typing.Sequence[~Volume]
17023 Returns -> typing.Sequence[~ErrorResult]
17025 # map input types to rpc msg
17027 msg
= dict(Type
='StorageProvisioner', Request
='SetVolumeInfo', Version
=2, Params
=params
)
17028 params
['volumes'] = volumes
17029 reply
= await self
.rpc(msg
)
17034 @ReturnMapping(ErrorResults
)
17035 async def UpdateStatus(self
, entities
):
17037 entities : typing.Sequence[~EntityStatusArgs]
17038 Returns -> typing.Sequence[~ErrorResult]
17040 # map input types to rpc msg
17042 msg
= dict(Type
='StorageProvisioner', Request
='UpdateStatus', Version
=2, Params
=params
)
17043 params
['Entities'] = entities
17044 reply
= await self
.rpc(msg
)
17049 @ReturnMapping(VolumeAttachmentParamsResults
)
17050 async def VolumeAttachmentParams(self
, ids
):
17052 ids : typing.Sequence[~MachineStorageId]
17053 Returns -> typing.Sequence[~VolumeAttachmentParamsResult]
17055 # map input types to rpc msg
17057 msg
= dict(Type
='StorageProvisioner', Request
='VolumeAttachmentParams', Version
=2, Params
=params
)
17058 params
['ids'] = ids
17059 reply
= await self
.rpc(msg
)
17064 @ReturnMapping(VolumeAttachmentResults
)
17065 async def VolumeAttachments(self
, ids
):
17067 ids : typing.Sequence[~MachineStorageId]
17068 Returns -> typing.Sequence[~VolumeAttachmentResult]
17070 # map input types to rpc msg
17072 msg
= dict(Type
='StorageProvisioner', Request
='VolumeAttachments', Version
=2, Params
=params
)
17073 params
['ids'] = ids
17074 reply
= await self
.rpc(msg
)
17079 @ReturnMapping(BlockDeviceResults
)
17080 async def VolumeBlockDevices(self
, ids
):
17082 ids : typing.Sequence[~MachineStorageId]
17083 Returns -> typing.Sequence[~BlockDeviceResult]
17085 # map input types to rpc msg
17087 msg
= dict(Type
='StorageProvisioner', Request
='VolumeBlockDevices', Version
=2, Params
=params
)
17088 params
['ids'] = ids
17089 reply
= await self
.rpc(msg
)
17094 @ReturnMapping(VolumeParamsResults
)
17095 async def VolumeParams(self
, entities
):
17097 entities : typing.Sequence[~Entity]
17098 Returns -> typing.Sequence[~VolumeParamsResult]
17100 # map input types to rpc msg
17102 msg
= dict(Type
='StorageProvisioner', Request
='VolumeParams', Version
=2, Params
=params
)
17103 params
['Entities'] = entities
17104 reply
= await self
.rpc(msg
)
17109 @ReturnMapping(VolumeResults
)
17110 async def Volumes(self
, entities
):
17112 entities : typing.Sequence[~Entity]
17113 Returns -> typing.Sequence[~VolumeResult]
17115 # map input types to rpc msg
17117 msg
= dict(Type
='StorageProvisioner', Request
='Volumes', Version
=2, Params
=params
)
17118 params
['Entities'] = entities
17119 reply
= await self
.rpc(msg
)
17124 @ReturnMapping(NotifyWatchResults
)
17125 async def WatchBlockDevices(self
, entities
):
17127 entities : typing.Sequence[~Entity]
17128 Returns -> typing.Sequence[~NotifyWatchResult]
17130 # map input types to rpc msg
17132 msg
= dict(Type
='StorageProvisioner', Request
='WatchBlockDevices', Version
=2, Params
=params
)
17133 params
['Entities'] = entities
17134 reply
= await self
.rpc(msg
)
17139 @ReturnMapping(MachineStorageIdsWatchResults
)
17140 async def WatchFilesystemAttachments(self
, entities
):
17142 entities : typing.Sequence[~Entity]
17143 Returns -> typing.Sequence[~MachineStorageIdsWatchResult]
17145 # map input types to rpc msg
17147 msg
= dict(Type
='StorageProvisioner', Request
='WatchFilesystemAttachments', Version
=2, Params
=params
)
17148 params
['Entities'] = entities
17149 reply
= await self
.rpc(msg
)
17154 @ReturnMapping(StringsWatchResults
)
17155 async def WatchFilesystems(self
, entities
):
17157 entities : typing.Sequence[~Entity]
17158 Returns -> typing.Sequence[~StringsWatchResult]
17160 # map input types to rpc msg
17162 msg
= dict(Type
='StorageProvisioner', Request
='WatchFilesystems', Version
=2, Params
=params
)
17163 params
['Entities'] = entities
17164 reply
= await self
.rpc(msg
)
17169 @ReturnMapping(NotifyWatchResult
)
17170 async def WatchForModelConfigChanges(self
):
17173 Returns -> typing.Union[_ForwardRef('Error'), str]
17175 # map input types to rpc msg
17177 msg
= dict(Type
='StorageProvisioner', Request
='WatchForModelConfigChanges', Version
=2, Params
=params
)
17179 reply
= await self
.rpc(msg
)
17184 @ReturnMapping(NotifyWatchResults
)
17185 async def WatchMachines(self
, entities
):
17187 entities : typing.Sequence[~Entity]
17188 Returns -> typing.Sequence[~NotifyWatchResult]
17190 # map input types to rpc msg
17192 msg
= dict(Type
='StorageProvisioner', Request
='WatchMachines', Version
=2, Params
=params
)
17193 params
['Entities'] = entities
17194 reply
= await self
.rpc(msg
)
17199 @ReturnMapping(MachineStorageIdsWatchResults
)
17200 async def WatchVolumeAttachments(self
, entities
):
17202 entities : typing.Sequence[~Entity]
17203 Returns -> typing.Sequence[~MachineStorageIdsWatchResult]
17205 # map input types to rpc msg
17207 msg
= dict(Type
='StorageProvisioner', Request
='WatchVolumeAttachments', Version
=2, Params
=params
)
17208 params
['Entities'] = entities
17209 reply
= await self
.rpc(msg
)
17214 @ReturnMapping(StringsWatchResults
)
17215 async def WatchVolumes(self
, entities
):
17217 entities : typing.Sequence[~Entity]
17218 Returns -> typing.Sequence[~StringsWatchResult]
17220 # map input types to rpc msg
17222 msg
= dict(Type
='StorageProvisioner', Request
='WatchVolumes', Version
=2, Params
=params
)
17223 params
['Entities'] = entities
17224 reply
= await self
.rpc(msg
)
17228 class StringsWatcher(Type
):
17229 name
= 'StringsWatcher'
17231 schema
= {'definitions': {'Error': {'additionalProperties': False,
17232 'properties': {'Code': {'type': 'string'},
17233 'Info': {'$ref': '#/definitions/ErrorInfo'},
17234 'Message': {'type': 'string'}},
17235 'required': ['Message', 'Code'],
17237 'ErrorInfo': {'additionalProperties': False,
17238 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
17239 'MacaroonPath': {'type': 'string'}},
17241 'Macaroon': {'additionalProperties': False,
17242 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
17244 'data': {'items': {'type': 'integer'},
17246 'id': {'$ref': '#/definitions/packet'},
17247 'location': {'$ref': '#/definitions/packet'},
17248 'sig': {'items': {'type': 'integer'},
17250 'required': ['data',
17256 'StringsWatchResult': {'additionalProperties': False,
17257 'properties': {'Changes': {'items': {'type': 'string'},
17259 'Error': {'$ref': '#/definitions/Error'},
17260 'StringsWatcherId': {'type': 'string'}},
17261 'required': ['StringsWatcherId',
17265 'caveat': {'additionalProperties': False,
17266 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
17267 'location': {'$ref': '#/definitions/packet'},
17268 'verificationId': {'$ref': '#/definitions/packet'}},
17269 'required': ['location',
17273 'packet': {'additionalProperties': False,
17274 'properties': {'headerLen': {'type': 'integer'},
17275 'start': {'type': 'integer'},
17276 'totalLen': {'type': 'integer'}},
17277 'required': ['start', 'totalLen', 'headerLen'],
17278 'type': 'object'}},
17279 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
17281 'Stop': {'type': 'object'}},
17285 @ReturnMapping(StringsWatchResult
)
17286 async def Next(self
):
17289 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
17291 # map input types to rpc msg
17293 msg
= dict(Type
='StringsWatcher', Request
='Next', Version
=1, Params
=params
)
17295 reply
= await self
.rpc(msg
)
17300 @ReturnMapping(None)
17301 async def Stop(self
):
17306 # map input types to rpc msg
17308 msg
= dict(Type
='StringsWatcher', Request
='Stop', Version
=1, Params
=params
)
17310 reply
= await self
.rpc(msg
)
17314 class Subnets(Type
):
17317 schema
= {'definitions': {'AddSubnetParams': {'additionalProperties': False,
17318 'properties': {'SpaceTag': {'type': 'string'},
17319 'SubnetProviderId': {'type': 'string'},
17320 'SubnetTag': {'type': 'string'},
17321 'Zones': {'items': {'type': 'string'},
17323 'required': ['SpaceTag'],
17325 'AddSubnetsParams': {'additionalProperties': False,
17326 'properties': {'Subnets': {'items': {'$ref': '#/definitions/AddSubnetParams'},
17328 'required': ['Subnets'],
17330 'Error': {'additionalProperties': False,
17331 'properties': {'Code': {'type': 'string'},
17332 'Info': {'$ref': '#/definitions/ErrorInfo'},
17333 'Message': {'type': 'string'}},
17334 'required': ['Message', 'Code'],
17336 'ErrorInfo': {'additionalProperties': False,
17337 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
17338 'MacaroonPath': {'type': 'string'}},
17340 'ErrorResult': {'additionalProperties': False,
17341 'properties': {'Error': {'$ref': '#/definitions/Error'}},
17342 'required': ['Error'],
17344 'ErrorResults': {'additionalProperties': False,
17345 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
17347 'required': ['Results'],
17349 'ListSubnetsResults': {'additionalProperties': False,
17350 'properties': {'Results': {'items': {'$ref': '#/definitions/Subnet'},
17352 'required': ['Results'],
17354 'Macaroon': {'additionalProperties': False,
17355 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
17357 'data': {'items': {'type': 'integer'},
17359 'id': {'$ref': '#/definitions/packet'},
17360 'location': {'$ref': '#/definitions/packet'},
17361 'sig': {'items': {'type': 'integer'},
17363 'required': ['data',
17369 'SpaceResult': {'additionalProperties': False,
17370 'properties': {'Error': {'$ref': '#/definitions/Error'},
17371 'Tag': {'type': 'string'}},
17372 'required': ['Error', 'Tag'],
17374 'SpaceResults': {'additionalProperties': False,
17375 'properties': {'Results': {'items': {'$ref': '#/definitions/SpaceResult'},
17377 'required': ['Results'],
17379 'Subnet': {'additionalProperties': False,
17380 'properties': {'CIDR': {'type': 'string'},
17381 'Life': {'type': 'string'},
17382 'ProviderId': {'type': 'string'},
17383 'SpaceTag': {'type': 'string'},
17384 'StaticRangeHighIP': {'items': {'type': 'integer'},
17386 'StaticRangeLowIP': {'items': {'type': 'integer'},
17388 'Status': {'type': 'string'},
17389 'VLANTag': {'type': 'integer'},
17390 'Zones': {'items': {'type': 'string'},
17392 'required': ['CIDR',
17398 'SubnetsFilters': {'additionalProperties': False,
17399 'properties': {'SpaceTag': {'type': 'string'},
17400 'Zone': {'type': 'string'}},
17402 'ZoneResult': {'additionalProperties': False,
17403 'properties': {'Available': {'type': 'boolean'},
17404 'Error': {'$ref': '#/definitions/Error'},
17405 'Name': {'type': 'string'}},
17406 'required': ['Error', 'Name', 'Available'],
17408 'ZoneResults': {'additionalProperties': False,
17409 'properties': {'Results': {'items': {'$ref': '#/definitions/ZoneResult'},
17411 'required': ['Results'],
17413 'caveat': {'additionalProperties': False,
17414 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
17415 'location': {'$ref': '#/definitions/packet'},
17416 'verificationId': {'$ref': '#/definitions/packet'}},
17417 'required': ['location',
17421 'packet': {'additionalProperties': False,
17422 'properties': {'headerLen': {'type': 'integer'},
17423 'start': {'type': 'integer'},
17424 'totalLen': {'type': 'integer'}},
17425 'required': ['start', 'totalLen', 'headerLen'],
17426 'type': 'object'}},
17427 'properties': {'AddSubnets': {'properties': {'Params': {'$ref': '#/definitions/AddSubnetsParams'},
17428 'Result': {'$ref': '#/definitions/ErrorResults'}},
17430 'AllSpaces': {'properties': {'Result': {'$ref': '#/definitions/SpaceResults'}},
17432 'AllZones': {'properties': {'Result': {'$ref': '#/definitions/ZoneResults'}},
17434 'ListSubnets': {'properties': {'Params': {'$ref': '#/definitions/SubnetsFilters'},
17435 'Result': {'$ref': '#/definitions/ListSubnetsResults'}},
17436 'type': 'object'}},
17440 @ReturnMapping(ErrorResults
)
17441 async def AddSubnets(self
, subnets
):
17443 subnets : typing.Sequence[~AddSubnetParams]
17444 Returns -> typing.Sequence[~ErrorResult]
17446 # map input types to rpc msg
17448 msg
= dict(Type
='Subnets', Request
='AddSubnets', Version
=2, Params
=params
)
17449 params
['Subnets'] = subnets
17450 reply
= await self
.rpc(msg
)
17455 @ReturnMapping(SpaceResults
)
17456 async def AllSpaces(self
):
17459 Returns -> typing.Sequence[~SpaceResult]
17461 # map input types to rpc msg
17463 msg
= dict(Type
='Subnets', Request
='AllSpaces', Version
=2, Params
=params
)
17465 reply
= await self
.rpc(msg
)
17470 @ReturnMapping(ZoneResults
)
17471 async def AllZones(self
):
17474 Returns -> typing.Sequence[~ZoneResult]
17476 # map input types to rpc msg
17478 msg
= dict(Type
='Subnets', Request
='AllZones', Version
=2, Params
=params
)
17480 reply
= await self
.rpc(msg
)
17485 @ReturnMapping(ListSubnetsResults
)
17486 async def ListSubnets(self
, spacetag
, zone
):
17490 Returns -> typing.Sequence[~Subnet]
17492 # map input types to rpc msg
17494 msg
= dict(Type
='Subnets', Request
='ListSubnets', Version
=2, Params
=params
)
17495 params
['SpaceTag'] = spacetag
17496 params
['Zone'] = zone
17497 reply
= await self
.rpc(msg
)
17501 class Undertaker(Type
):
17502 name
= 'Undertaker'
17504 schema
= {'definitions': {'EntityStatusArgs': {'additionalProperties': False,
17505 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
17506 'type': 'object'}},
17508 'Info': {'type': 'string'},
17509 'Status': {'type': 'string'},
17510 'Tag': {'type': 'string'}},
17511 'required': ['Tag',
17516 'Error': {'additionalProperties': False,
17517 'properties': {'Code': {'type': 'string'},
17518 'Info': {'$ref': '#/definitions/ErrorInfo'},
17519 'Message': {'type': 'string'}},
17520 'required': ['Message', 'Code'],
17522 'ErrorInfo': {'additionalProperties': False,
17523 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
17524 'MacaroonPath': {'type': 'string'}},
17526 'ErrorResult': {'additionalProperties': False,
17527 'properties': {'Error': {'$ref': '#/definitions/Error'}},
17528 'required': ['Error'],
17530 'ErrorResults': {'additionalProperties': False,
17531 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
17533 'required': ['Results'],
17535 'Macaroon': {'additionalProperties': False,
17536 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
17538 'data': {'items': {'type': 'integer'},
17540 'id': {'$ref': '#/definitions/packet'},
17541 'location': {'$ref': '#/definitions/packet'},
17542 'sig': {'items': {'type': 'integer'},
17544 'required': ['data',
17550 'ModelConfigResult': {'additionalProperties': False,
17551 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
17552 'type': 'object'}},
17553 'type': 'object'}},
17554 'required': ['Config'],
17556 'NotifyWatchResult': {'additionalProperties': False,
17557 'properties': {'Error': {'$ref': '#/definitions/Error'},
17558 'NotifyWatcherId': {'type': 'string'}},
17559 'required': ['NotifyWatcherId', 'Error'],
17561 'NotifyWatchResults': {'additionalProperties': False,
17562 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
17564 'required': ['Results'],
17566 'SetStatus': {'additionalProperties': False,
17567 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
17569 'required': ['Entities'],
17571 'UndertakerModelInfo': {'additionalProperties': False,
17572 'properties': {'GlobalName': {'type': 'string'},
17573 'IsSystem': {'type': 'boolean'},
17574 'Life': {'type': 'string'},
17575 'Name': {'type': 'string'},
17576 'UUID': {'type': 'string'}},
17577 'required': ['UUID',
17583 'UndertakerModelInfoResult': {'additionalProperties': False,
17584 'properties': {'Error': {'$ref': '#/definitions/Error'},
17585 'Result': {'$ref': '#/definitions/UndertakerModelInfo'}},
17586 'required': ['Error', 'Result'],
17588 'caveat': {'additionalProperties': False,
17589 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
17590 'location': {'$ref': '#/definitions/packet'},
17591 'verificationId': {'$ref': '#/definitions/packet'}},
17592 'required': ['location',
17596 'packet': {'additionalProperties': False,
17597 'properties': {'headerLen': {'type': 'integer'},
17598 'start': {'type': 'integer'},
17599 'totalLen': {'type': 'integer'}},
17600 'required': ['start', 'totalLen', 'headerLen'],
17601 'type': 'object'}},
17602 'properties': {'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
17604 'ModelInfo': {'properties': {'Result': {'$ref': '#/definitions/UndertakerModelInfoResult'}},
17606 'ProcessDyingModel': {'type': 'object'},
17607 'RemoveModel': {'type': 'object'},
17608 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
17609 'Result': {'$ref': '#/definitions/ErrorResults'}},
17611 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
17612 'Result': {'$ref': '#/definitions/ErrorResults'}},
17614 'WatchModelResources': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
17615 'type': 'object'}},
17619 @ReturnMapping(ModelConfigResult
)
17620 async def ModelConfig(self
):
17623 Returns -> typing.Mapping[str, typing.Any]
17625 # map input types to rpc msg
17627 msg
= dict(Type
='Undertaker', Request
='ModelConfig', Version
=1, Params
=params
)
17629 reply
= await self
.rpc(msg
)
17634 @ReturnMapping(UndertakerModelInfoResult
)
17635 async def ModelInfo(self
):
17638 Returns -> typing.Union[_ForwardRef('Error'), _ForwardRef('UndertakerModelInfo')]
17640 # map input types to rpc msg
17642 msg
= dict(Type
='Undertaker', Request
='ModelInfo', Version
=1, Params
=params
)
17644 reply
= await self
.rpc(msg
)
17649 @ReturnMapping(None)
17650 async def ProcessDyingModel(self
):
17655 # map input types to rpc msg
17657 msg
= dict(Type
='Undertaker', Request
='ProcessDyingModel', Version
=1, Params
=params
)
17659 reply
= await self
.rpc(msg
)
17664 @ReturnMapping(None)
17665 async def RemoveModel(self
):
17670 # map input types to rpc msg
17672 msg
= dict(Type
='Undertaker', Request
='RemoveModel', Version
=1, Params
=params
)
17674 reply
= await self
.rpc(msg
)
17679 @ReturnMapping(ErrorResults
)
17680 async def SetStatus(self
, entities
):
17682 entities : typing.Sequence[~EntityStatusArgs]
17683 Returns -> typing.Sequence[~ErrorResult]
17685 # map input types to rpc msg
17687 msg
= dict(Type
='Undertaker', Request
='SetStatus', Version
=1, Params
=params
)
17688 params
['Entities'] = entities
17689 reply
= await self
.rpc(msg
)
17694 @ReturnMapping(ErrorResults
)
17695 async def UpdateStatus(self
, entities
):
17697 entities : typing.Sequence[~EntityStatusArgs]
17698 Returns -> typing.Sequence[~ErrorResult]
17700 # map input types to rpc msg
17702 msg
= dict(Type
='Undertaker', Request
='UpdateStatus', Version
=1, Params
=params
)
17703 params
['Entities'] = entities
17704 reply
= await self
.rpc(msg
)
17709 @ReturnMapping(NotifyWatchResults
)
17710 async def WatchModelResources(self
):
17713 Returns -> typing.Sequence[~NotifyWatchResult]
17715 # map input types to rpc msg
17717 msg
= dict(Type
='Undertaker', Request
='WatchModelResources', Version
=1, Params
=params
)
17719 reply
= await self
.rpc(msg
)
17723 class UnitAssigner(Type
):
17724 name
= 'UnitAssigner'
17726 schema
= {'definitions': {'Entities': {'additionalProperties': False,
17727 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
17729 'required': ['Entities'],
17731 'Entity': {'additionalProperties': False,
17732 'properties': {'Tag': {'type': 'string'}},
17733 'required': ['Tag'],
17735 'EntityStatusArgs': {'additionalProperties': False,
17736 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
17737 'type': 'object'}},
17739 'Info': {'type': 'string'},
17740 'Status': {'type': 'string'},
17741 'Tag': {'type': 'string'}},
17742 'required': ['Tag',
17747 'Error': {'additionalProperties': False,
17748 'properties': {'Code': {'type': 'string'},
17749 'Info': {'$ref': '#/definitions/ErrorInfo'},
17750 'Message': {'type': 'string'}},
17751 'required': ['Message', 'Code'],
17753 'ErrorInfo': {'additionalProperties': False,
17754 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
17755 'MacaroonPath': {'type': 'string'}},
17757 'ErrorResult': {'additionalProperties': False,
17758 'properties': {'Error': {'$ref': '#/definitions/Error'}},
17759 'required': ['Error'],
17761 'ErrorResults': {'additionalProperties': False,
17762 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
17764 'required': ['Results'],
17766 'Macaroon': {'additionalProperties': False,
17767 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
17769 'data': {'items': {'type': 'integer'},
17771 'id': {'$ref': '#/definitions/packet'},
17772 'location': {'$ref': '#/definitions/packet'},
17773 'sig': {'items': {'type': 'integer'},
17775 'required': ['data',
17781 'SetStatus': {'additionalProperties': False,
17782 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
17784 'required': ['Entities'],
17786 'StringsWatchResult': {'additionalProperties': False,
17787 'properties': {'Changes': {'items': {'type': 'string'},
17789 'Error': {'$ref': '#/definitions/Error'},
17790 'StringsWatcherId': {'type': 'string'}},
17791 'required': ['StringsWatcherId',
17795 'caveat': {'additionalProperties': False,
17796 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
17797 'location': {'$ref': '#/definitions/packet'},
17798 'verificationId': {'$ref': '#/definitions/packet'}},
17799 'required': ['location',
17803 'packet': {'additionalProperties': False,
17804 'properties': {'headerLen': {'type': 'integer'},
17805 'start': {'type': 'integer'},
17806 'totalLen': {'type': 'integer'}},
17807 'required': ['start', 'totalLen', 'headerLen'],
17808 'type': 'object'}},
17809 'properties': {'AssignUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17810 'Result': {'$ref': '#/definitions/ErrorResults'}},
17812 'SetAgentStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
17813 'Result': {'$ref': '#/definitions/ErrorResults'}},
17815 'WatchUnitAssignments': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
17816 'type': 'object'}},
17820 @ReturnMapping(ErrorResults
)
17821 async def AssignUnits(self
, entities
):
17823 entities : typing.Sequence[~Entity]
17824 Returns -> typing.Sequence[~ErrorResult]
17826 # map input types to rpc msg
17828 msg
= dict(Type
='UnitAssigner', Request
='AssignUnits', Version
=1, Params
=params
)
17829 params
['Entities'] = entities
17830 reply
= await self
.rpc(msg
)
17835 @ReturnMapping(ErrorResults
)
17836 async def SetAgentStatus(self
, entities
):
17838 entities : typing.Sequence[~EntityStatusArgs]
17839 Returns -> typing.Sequence[~ErrorResult]
17841 # map input types to rpc msg
17843 msg
= dict(Type
='UnitAssigner', Request
='SetAgentStatus', Version
=1, Params
=params
)
17844 params
['Entities'] = entities
17845 reply
= await self
.rpc(msg
)
17850 @ReturnMapping(StringsWatchResult
)
17851 async def WatchUnitAssignments(self
):
17854 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
17856 # map input types to rpc msg
17858 msg
= dict(Type
='UnitAssigner', Request
='WatchUnitAssignments', Version
=1, Params
=params
)
17860 reply
= await self
.rpc(msg
)
17864 class Uniter(Type
):
17867 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
17868 'properties': {'Servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
17871 'required': ['Servers'],
17873 'Action': {'additionalProperties': False,
17874 'properties': {'name': {'type': 'string'},
17875 'parameters': {'patternProperties': {'.*': {'additionalProperties': True,
17876 'type': 'object'}},
17878 'receiver': {'type': 'string'},
17879 'tag': {'type': 'string'}},
17880 'required': ['tag', 'receiver', 'name'],
17882 'ActionExecutionResult': {'additionalProperties': False,
17883 'properties': {'actiontag': {'type': 'string'},
17884 'message': {'type': 'string'},
17885 'results': {'patternProperties': {'.*': {'additionalProperties': True,
17886 'type': 'object'}},
17888 'status': {'type': 'string'}},
17889 'required': ['actiontag', 'status'],
17891 'ActionExecutionResults': {'additionalProperties': False,
17892 'properties': {'results': {'items': {'$ref': '#/definitions/ActionExecutionResult'},
17895 'ActionResult': {'additionalProperties': False,
17896 'properties': {'action': {'$ref': '#/definitions/Action'},
17897 'completed': {'format': 'date-time',
17899 'enqueued': {'format': 'date-time',
17901 'error': {'$ref': '#/definitions/Error'},
17902 'message': {'type': 'string'},
17903 'output': {'patternProperties': {'.*': {'additionalProperties': True,
17904 'type': 'object'}},
17906 'started': {'format': 'date-time',
17908 'status': {'type': 'string'}},
17910 'ActionResults': {'additionalProperties': False,
17911 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'},
17914 'Address': {'additionalProperties': False,
17915 'properties': {'Scope': {'type': 'string'},
17916 'SpaceName': {'type': 'string'},
17917 'Type': {'type': 'string'},
17918 'Value': {'type': 'string'}},
17919 'required': ['Value', 'Type', 'Scope'],
17921 'BoolResult': {'additionalProperties': False,
17922 'properties': {'Error': {'$ref': '#/definitions/Error'},
17923 'Result': {'type': 'boolean'}},
17924 'required': ['Error', 'Result'],
17926 'BoolResults': {'additionalProperties': False,
17927 'properties': {'Results': {'items': {'$ref': '#/definitions/BoolResult'},
17929 'required': ['Results'],
17931 'BytesResult': {'additionalProperties': False,
17932 'properties': {'Result': {'items': {'type': 'integer'},
17934 'required': ['Result'],
17936 'CharmURL': {'additionalProperties': False,
17937 'properties': {'URL': {'type': 'string'}},
17938 'required': ['URL'],
17940 'CharmURLs': {'additionalProperties': False,
17941 'properties': {'URLs': {'items': {'$ref': '#/definitions/CharmURL'},
17943 'required': ['URLs'],
17945 'ConfigSettingsResult': {'additionalProperties': False,
17946 'properties': {'Error': {'$ref': '#/definitions/Error'},
17947 'Settings': {'patternProperties': {'.*': {'additionalProperties': True,
17948 'type': 'object'}},
17949 'type': 'object'}},
17950 'required': ['Error', 'Settings'],
17952 'ConfigSettingsResults': {'additionalProperties': False,
17953 'properties': {'Results': {'items': {'$ref': '#/definitions/ConfigSettingsResult'},
17955 'required': ['Results'],
17957 'Endpoint': {'additionalProperties': False,
17958 'properties': {'Relation': {'$ref': '#/definitions/Relation'},
17959 'ServiceName': {'type': 'string'}},
17960 'required': ['ServiceName', 'Relation'],
17962 'Entities': {'additionalProperties': False,
17963 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
17965 'required': ['Entities'],
17967 'EntitiesCharmURL': {'additionalProperties': False,
17968 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityCharmURL'},
17970 'required': ['Entities'],
17972 'EntitiesPortRanges': {'additionalProperties': False,
17973 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityPortRange'},
17975 'required': ['Entities'],
17977 'Entity': {'additionalProperties': False,
17978 'properties': {'Tag': {'type': 'string'}},
17979 'required': ['Tag'],
17981 'EntityCharmURL': {'additionalProperties': False,
17982 'properties': {'CharmURL': {'type': 'string'},
17983 'Tag': {'type': 'string'}},
17984 'required': ['Tag', 'CharmURL'],
17986 'EntityPortRange': {'additionalProperties': False,
17987 'properties': {'FromPort': {'type': 'integer'},
17988 'Protocol': {'type': 'string'},
17989 'Tag': {'type': 'string'},
17990 'ToPort': {'type': 'integer'}},
17991 'required': ['Tag',
17996 'EntityStatusArgs': {'additionalProperties': False,
17997 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
17998 'type': 'object'}},
18000 'Info': {'type': 'string'},
18001 'Status': {'type': 'string'},
18002 'Tag': {'type': 'string'}},
18003 'required': ['Tag',
18008 'Error': {'additionalProperties': False,
18009 'properties': {'Code': {'type': 'string'},
18010 'Info': {'$ref': '#/definitions/ErrorInfo'},
18011 'Message': {'type': 'string'}},
18012 'required': ['Message', 'Code'],
18014 'ErrorInfo': {'additionalProperties': False,
18015 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
18016 'MacaroonPath': {'type': 'string'}},
18018 'ErrorResult': {'additionalProperties': False,
18019 'properties': {'Error': {'$ref': '#/definitions/Error'}},
18020 'required': ['Error'],
18022 'ErrorResults': {'additionalProperties': False,
18023 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
18025 'required': ['Results'],
18027 'GetLeadershipSettingsBulkResults': {'additionalProperties': False,
18028 'properties': {'Results': {'items': {'$ref': '#/definitions/GetLeadershipSettingsResult'},
18030 'required': ['Results'],
18032 'GetLeadershipSettingsResult': {'additionalProperties': False,
18033 'properties': {'Error': {'$ref': '#/definitions/Error'},
18034 'Settings': {'patternProperties': {'.*': {'type': 'string'}},
18035 'type': 'object'}},
18036 'required': ['Settings',
18039 'HostPort': {'additionalProperties': False,
18040 'properties': {'Address': {'$ref': '#/definitions/Address'},
18041 'Port': {'type': 'integer'}},
18042 'required': ['Address', 'Port'],
18044 'IntResult': {'additionalProperties': False,
18045 'properties': {'Error': {'$ref': '#/definitions/Error'},
18046 'Result': {'type': 'integer'}},
18047 'required': ['Error', 'Result'],
18049 'IntResults': {'additionalProperties': False,
18050 'properties': {'Results': {'items': {'$ref': '#/definitions/IntResult'},
18052 'required': ['Results'],
18054 'LifeResult': {'additionalProperties': False,
18055 'properties': {'Error': {'$ref': '#/definitions/Error'},
18056 'Life': {'type': 'string'}},
18057 'required': ['Life', 'Error'],
18059 'LifeResults': {'additionalProperties': False,
18060 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
18062 'required': ['Results'],
18064 'Macaroon': {'additionalProperties': False,
18065 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
18067 'data': {'items': {'type': 'integer'},
18069 'id': {'$ref': '#/definitions/packet'},
18070 'location': {'$ref': '#/definitions/packet'},
18071 'sig': {'items': {'type': 'integer'},
18073 'required': ['data',
18079 'MachinePortRange': {'additionalProperties': False,
18080 'properties': {'PortRange': {'$ref': '#/definitions/PortRange'},
18081 'RelationTag': {'type': 'string'},
18082 'UnitTag': {'type': 'string'}},
18083 'required': ['UnitTag',
18087 'MachinePortsResult': {'additionalProperties': False,
18088 'properties': {'Error': {'$ref': '#/definitions/Error'},
18089 'Ports': {'items': {'$ref': '#/definitions/MachinePortRange'},
18091 'required': ['Error', 'Ports'],
18093 'MachinePortsResults': {'additionalProperties': False,
18094 'properties': {'Results': {'items': {'$ref': '#/definitions/MachinePortsResult'},
18096 'required': ['Results'],
18098 'MergeLeadershipSettingsBulkParams': {'additionalProperties': False,
18099 'properties': {'Params': {'items': {'$ref': '#/definitions/MergeLeadershipSettingsParam'},
18101 'required': ['Params'],
18103 'MergeLeadershipSettingsParam': {'additionalProperties': False,
18104 'properties': {'ServiceTag': {'type': 'string'},
18105 'Settings': {'patternProperties': {'.*': {'type': 'string'}},
18106 'type': 'object'}},
18107 'required': ['ServiceTag',
18110 'MeterStatusResult': {'additionalProperties': False,
18111 'properties': {'Code': {'type': 'string'},
18112 'Error': {'$ref': '#/definitions/Error'},
18113 'Info': {'type': 'string'}},
18114 'required': ['Code', 'Info', 'Error'],
18116 'MeterStatusResults': {'additionalProperties': False,
18117 'properties': {'Results': {'items': {'$ref': '#/definitions/MeterStatusResult'},
18119 'required': ['Results'],
18121 'Metric': {'additionalProperties': False,
18122 'properties': {'Key': {'type': 'string'},
18123 'Time': {'format': 'date-time',
18125 'Value': {'type': 'string'}},
18126 'required': ['Key', 'Value', 'Time'],
18128 'MetricBatch': {'additionalProperties': False,
18129 'properties': {'CharmURL': {'type': 'string'},
18130 'Created': {'format': 'date-time',
18132 'Metrics': {'items': {'$ref': '#/definitions/Metric'},
18134 'UUID': {'type': 'string'}},
18135 'required': ['UUID',
18140 'MetricBatchParam': {'additionalProperties': False,
18141 'properties': {'Batch': {'$ref': '#/definitions/MetricBatch'},
18142 'Tag': {'type': 'string'}},
18143 'required': ['Tag', 'Batch'],
18145 'MetricBatchParams': {'additionalProperties': False,
18146 'properties': {'Batches': {'items': {'$ref': '#/definitions/MetricBatchParam'},
18148 'required': ['Batches'],
18150 'ModelConfigResult': {'additionalProperties': False,
18151 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
18152 'type': 'object'}},
18153 'type': 'object'}},
18154 'required': ['Config'],
18156 'ModelResult': {'additionalProperties': False,
18157 'properties': {'Error': {'$ref': '#/definitions/Error'},
18158 'Name': {'type': 'string'},
18159 'UUID': {'type': 'string'}},
18160 'required': ['Error', 'Name', 'UUID'],
18162 'NetworkConfig': {'additionalProperties': False,
18163 'properties': {'Address': {'type': 'string'},
18164 'CIDR': {'type': 'string'},
18165 'ConfigType': {'type': 'string'},
18166 'DNSSearchDomains': {'items': {'type': 'string'},
18168 'DNSServers': {'items': {'type': 'string'},
18170 'DeviceIndex': {'type': 'integer'},
18171 'Disabled': {'type': 'boolean'},
18172 'GatewayAddress': {'type': 'string'},
18173 'InterfaceName': {'type': 'string'},
18174 'InterfaceType': {'type': 'string'},
18175 'MACAddress': {'type': 'string'},
18176 'MTU': {'type': 'integer'},
18177 'NoAutoStart': {'type': 'boolean'},
18178 'ParentInterfaceName': {'type': 'string'},
18179 'ProviderAddressId': {'type': 'string'},
18180 'ProviderId': {'type': 'string'},
18181 'ProviderSpaceId': {'type': 'string'},
18182 'ProviderSubnetId': {'type': 'string'},
18183 'ProviderVLANId': {'type': 'string'},
18184 'VLANTag': {'type': 'integer'}},
18185 'required': ['DeviceIndex',
18190 'ProviderSubnetId',
18192 'ProviderAddressId',
18196 'ParentInterfaceName',
18200 'NotifyWatchResult': {'additionalProperties': False,
18201 'properties': {'Error': {'$ref': '#/definitions/Error'},
18202 'NotifyWatcherId': {'type': 'string'}},
18203 'required': ['NotifyWatcherId', 'Error'],
18205 'NotifyWatchResults': {'additionalProperties': False,
18206 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
18208 'required': ['Results'],
18210 'PortRange': {'additionalProperties': False,
18211 'properties': {'FromPort': {'type': 'integer'},
18212 'Protocol': {'type': 'string'},
18213 'ToPort': {'type': 'integer'}},
18214 'required': ['FromPort', 'ToPort', 'Protocol'],
18216 'Relation': {'additionalProperties': False,
18217 'properties': {'Interface': {'type': 'string'},
18218 'Limit': {'type': 'integer'},
18219 'Name': {'type': 'string'},
18220 'Optional': {'type': 'boolean'},
18221 'Role': {'type': 'string'},
18222 'Scope': {'type': 'string'}},
18223 'required': ['Name',
18230 'RelationIds': {'additionalProperties': False,
18231 'properties': {'RelationIds': {'items': {'type': 'integer'},
18233 'required': ['RelationIds'],
18235 'RelationResult': {'additionalProperties': False,
18236 'properties': {'Endpoint': {'$ref': '#/definitions/Endpoint'},
18237 'Error': {'$ref': '#/definitions/Error'},
18238 'Id': {'type': 'integer'},
18239 'Key': {'type': 'string'},
18240 'Life': {'type': 'string'}},
18241 'required': ['Error',
18247 'RelationResults': {'additionalProperties': False,
18248 'properties': {'Results': {'items': {'$ref': '#/definitions/RelationResult'},
18250 'required': ['Results'],
18252 'RelationUnit': {'additionalProperties': False,
18253 'properties': {'Relation': {'type': 'string'},
18254 'Unit': {'type': 'string'}},
18255 'required': ['Relation', 'Unit'],
18257 'RelationUnitPair': {'additionalProperties': False,
18258 'properties': {'LocalUnit': {'type': 'string'},
18259 'Relation': {'type': 'string'},
18260 'RemoteUnit': {'type': 'string'}},
18261 'required': ['Relation',
18265 'RelationUnitPairs': {'additionalProperties': False,
18266 'properties': {'RelationUnitPairs': {'items': {'$ref': '#/definitions/RelationUnitPair'},
18268 'required': ['RelationUnitPairs'],
18270 'RelationUnitSettings': {'additionalProperties': False,
18271 'properties': {'Relation': {'type': 'string'},
18272 'Settings': {'patternProperties': {'.*': {'type': 'string'}},
18274 'Unit': {'type': 'string'}},
18275 'required': ['Relation',
18279 'RelationUnits': {'additionalProperties': False,
18280 'properties': {'RelationUnits': {'items': {'$ref': '#/definitions/RelationUnit'},
18282 'required': ['RelationUnits'],
18284 'RelationUnitsChange': {'additionalProperties': False,
18285 'properties': {'Changed': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitSettings'}},
18287 'Departed': {'items': {'type': 'string'},
18289 'required': ['Changed', 'Departed'],
18291 'RelationUnitsSettings': {'additionalProperties': False,
18292 'properties': {'RelationUnits': {'items': {'$ref': '#/definitions/RelationUnitSettings'},
18294 'required': ['RelationUnits'],
18296 'RelationUnitsWatchResult': {'additionalProperties': False,
18297 'properties': {'Changes': {'$ref': '#/definitions/RelationUnitsChange'},
18298 'Error': {'$ref': '#/definitions/Error'},
18299 'RelationUnitsWatcherId': {'type': 'string'}},
18300 'required': ['RelationUnitsWatcherId',
18304 'RelationUnitsWatchResults': {'additionalProperties': False,
18305 'properties': {'Results': {'items': {'$ref': '#/definitions/RelationUnitsWatchResult'},
18307 'required': ['Results'],
18309 'ResolvedModeResult': {'additionalProperties': False,
18310 'properties': {'Error': {'$ref': '#/definitions/Error'},
18311 'Mode': {'type': 'string'}},
18312 'required': ['Error', 'Mode'],
18314 'ResolvedModeResults': {'additionalProperties': False,
18315 'properties': {'Results': {'items': {'$ref': '#/definitions/ResolvedModeResult'},
18317 'required': ['Results'],
18319 'ServiceStatusResult': {'additionalProperties': False,
18320 'properties': {'Error': {'$ref': '#/definitions/Error'},
18321 'Service': {'$ref': '#/definitions/StatusResult'},
18322 'Units': {'patternProperties': {'.*': {'$ref': '#/definitions/StatusResult'}},
18323 'type': 'object'}},
18324 'required': ['Service',
18328 'ServiceStatusResults': {'additionalProperties': False,
18329 'properties': {'Results': {'items': {'$ref': '#/definitions/ServiceStatusResult'},
18331 'required': ['Results'],
18333 'SetStatus': {'additionalProperties': False,
18334 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
18336 'required': ['Entities'],
18338 'SettingsResult': {'additionalProperties': False,
18339 'properties': {'Error': {'$ref': '#/definitions/Error'},
18340 'Settings': {'patternProperties': {'.*': {'type': 'string'}},
18341 'type': 'object'}},
18342 'required': ['Error', 'Settings'],
18344 'SettingsResults': {'additionalProperties': False,
18345 'properties': {'Results': {'items': {'$ref': '#/definitions/SettingsResult'},
18347 'required': ['Results'],
18349 'StatusResult': {'additionalProperties': False,
18350 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
18351 'type': 'object'}},
18353 'Error': {'$ref': '#/definitions/Error'},
18354 'Id': {'type': 'string'},
18355 'Info': {'type': 'string'},
18356 'Life': {'type': 'string'},
18357 'Since': {'format': 'date-time',
18359 'Status': {'type': 'string'}},
18360 'required': ['Error',
18368 'StatusResults': {'additionalProperties': False,
18369 'properties': {'Results': {'items': {'$ref': '#/definitions/StatusResult'},
18371 'required': ['Results'],
18373 'StorageAddParams': {'additionalProperties': False,
18374 'properties': {'StorageName': {'type': 'string'},
18375 'storage': {'$ref': '#/definitions/StorageConstraints'},
18376 'unit': {'type': 'string'}},
18377 'required': ['unit',
18381 'StorageAttachment': {'additionalProperties': False,
18382 'properties': {'Kind': {'type': 'integer'},
18383 'Life': {'type': 'string'},
18384 'Location': {'type': 'string'},
18385 'OwnerTag': {'type': 'string'},
18386 'StorageTag': {'type': 'string'},
18387 'UnitTag': {'type': 'string'}},
18388 'required': ['StorageTag',
18395 'StorageAttachmentId': {'additionalProperties': False,
18396 'properties': {'storagetag': {'type': 'string'},
18397 'unittag': {'type': 'string'}},
18398 'required': ['storagetag', 'unittag'],
18400 'StorageAttachmentIds': {'additionalProperties': False,
18401 'properties': {'ids': {'items': {'$ref': '#/definitions/StorageAttachmentId'},
18403 'required': ['ids'],
18405 'StorageAttachmentIdsResult': {'additionalProperties': False,
18406 'properties': {'error': {'$ref': '#/definitions/Error'},
18407 'result': {'$ref': '#/definitions/StorageAttachmentIds'}},
18408 'required': ['result'],
18410 'StorageAttachmentIdsResults': {'additionalProperties': False,
18411 'properties': {'results': {'items': {'$ref': '#/definitions/StorageAttachmentIdsResult'},
18414 'StorageAttachmentResult': {'additionalProperties': False,
18415 'properties': {'error': {'$ref': '#/definitions/Error'},
18416 'result': {'$ref': '#/definitions/StorageAttachment'}},
18417 'required': ['result'],
18419 'StorageAttachmentResults': {'additionalProperties': False,
18420 'properties': {'results': {'items': {'$ref': '#/definitions/StorageAttachmentResult'},
18423 'StorageConstraints': {'additionalProperties': False,
18424 'properties': {'Count': {'type': 'integer'},
18425 'Pool': {'type': 'string'},
18426 'Size': {'type': 'integer'}},
18427 'required': ['Pool', 'Size', 'Count'],
18429 'StoragesAddParams': {'additionalProperties': False,
18430 'properties': {'storages': {'items': {'$ref': '#/definitions/StorageAddParams'},
18432 'required': ['storages'],
18434 'StringBoolResult': {'additionalProperties': False,
18435 'properties': {'Error': {'$ref': '#/definitions/Error'},
18436 'Ok': {'type': 'boolean'},
18437 'Result': {'type': 'string'}},
18438 'required': ['Error', 'Result', 'Ok'],
18440 'StringBoolResults': {'additionalProperties': False,
18441 'properties': {'Results': {'items': {'$ref': '#/definitions/StringBoolResult'},
18443 'required': ['Results'],
18445 'StringResult': {'additionalProperties': False,
18446 'properties': {'Error': {'$ref': '#/definitions/Error'},
18447 'Result': {'type': 'string'}},
18448 'required': ['Error', 'Result'],
18450 'StringResults': {'additionalProperties': False,
18451 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'},
18453 'required': ['Results'],
18455 'StringsResult': {'additionalProperties': False,
18456 'properties': {'Error': {'$ref': '#/definitions/Error'},
18457 'Result': {'items': {'type': 'string'},
18459 'required': ['Error', 'Result'],
18461 'StringsResults': {'additionalProperties': False,
18462 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsResult'},
18464 'required': ['Results'],
18466 'StringsWatchResult': {'additionalProperties': False,
18467 'properties': {'Changes': {'items': {'type': 'string'},
18469 'Error': {'$ref': '#/definitions/Error'},
18470 'StringsWatcherId': {'type': 'string'}},
18471 'required': ['StringsWatcherId',
18475 'StringsWatchResults': {'additionalProperties': False,
18476 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
18478 'required': ['Results'],
18480 'UnitNetworkConfig': {'additionalProperties': False,
18481 'properties': {'BindingName': {'type': 'string'},
18482 'UnitTag': {'type': 'string'}},
18483 'required': ['UnitTag', 'BindingName'],
18485 'UnitNetworkConfigResult': {'additionalProperties': False,
18486 'properties': {'Error': {'$ref': '#/definitions/Error'},
18487 'Info': {'items': {'$ref': '#/definitions/NetworkConfig'},
18489 'required': ['Error', 'Info'],
18491 'UnitNetworkConfigResults': {'additionalProperties': False,
18492 'properties': {'Results': {'items': {'$ref': '#/definitions/UnitNetworkConfigResult'},
18494 'required': ['Results'],
18496 'UnitSettings': {'additionalProperties': False,
18497 'properties': {'Version': {'type': 'integer'}},
18498 'required': ['Version'],
18500 'UnitsNetworkConfig': {'additionalProperties': False,
18501 'properties': {'Args': {'items': {'$ref': '#/definitions/UnitNetworkConfig'},
18503 'required': ['Args'],
18505 'caveat': {'additionalProperties': False,
18506 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
18507 'location': {'$ref': '#/definitions/packet'},
18508 'verificationId': {'$ref': '#/definitions/packet'}},
18509 'required': ['location',
18513 'packet': {'additionalProperties': False,
18514 'properties': {'headerLen': {'type': 'integer'},
18515 'start': {'type': 'integer'},
18516 'totalLen': {'type': 'integer'}},
18517 'required': ['start', 'totalLen', 'headerLen'],
18518 'type': 'object'}},
18519 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
18521 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
18523 'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18524 'Result': {'$ref': '#/definitions/ActionResults'}},
18526 'AddMetricBatches': {'properties': {'Params': {'$ref': '#/definitions/MetricBatchParams'},
18527 'Result': {'$ref': '#/definitions/ErrorResults'}},
18529 'AddUnitStorage': {'properties': {'Params': {'$ref': '#/definitions/StoragesAddParams'},
18530 'Result': {'$ref': '#/definitions/ErrorResults'}},
18532 'AllMachinePorts': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18533 'Result': {'$ref': '#/definitions/MachinePortsResults'}},
18535 'AssignedMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18536 'Result': {'$ref': '#/definitions/StringResults'}},
18538 'AvailabilityZone': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18539 'Result': {'$ref': '#/definitions/StringResults'}},
18541 'BeginActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18542 'Result': {'$ref': '#/definitions/ErrorResults'}},
18544 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
18546 'CharmArchiveSha256': {'properties': {'Params': {'$ref': '#/definitions/CharmURLs'},
18547 'Result': {'$ref': '#/definitions/StringResults'}},
18549 'CharmModifiedVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18550 'Result': {'$ref': '#/definitions/IntResults'}},
18552 'CharmURL': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18553 'Result': {'$ref': '#/definitions/StringBoolResults'}},
18555 'ClearResolved': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18556 'Result': {'$ref': '#/definitions/ErrorResults'}},
18558 'ClosePorts': {'properties': {'Params': {'$ref': '#/definitions/EntitiesPortRanges'},
18559 'Result': {'$ref': '#/definitions/ErrorResults'}},
18561 'ConfigSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18562 'Result': {'$ref': '#/definitions/ConfigSettingsResults'}},
18564 'CurrentModel': {'properties': {'Result': {'$ref': '#/definitions/ModelResult'}},
18566 'Destroy': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18567 'Result': {'$ref': '#/definitions/ErrorResults'}},
18569 'DestroyAllSubordinates': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18570 'Result': {'$ref': '#/definitions/ErrorResults'}},
18572 'DestroyUnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18573 'Result': {'$ref': '#/definitions/ErrorResults'}},
18575 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18576 'Result': {'$ref': '#/definitions/ErrorResults'}},
18578 'EnterScope': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
18579 'Result': {'$ref': '#/definitions/ErrorResults'}},
18581 'FinishActions': {'properties': {'Params': {'$ref': '#/definitions/ActionExecutionResults'},
18582 'Result': {'$ref': '#/definitions/ErrorResults'}},
18584 'GetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18585 'Result': {'$ref': '#/definitions/MeterStatusResults'}},
18587 'GetPrincipal': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18588 'Result': {'$ref': '#/definitions/StringBoolResults'}},
18590 'HasSubordinates': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18591 'Result': {'$ref': '#/definitions/BoolResults'}},
18593 'JoinedRelations': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18594 'Result': {'$ref': '#/definitions/StringsResults'}},
18596 'LeaveScope': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
18597 'Result': {'$ref': '#/definitions/ErrorResults'}},
18599 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18600 'Result': {'$ref': '#/definitions/LifeResults'}},
18602 'Merge': {'properties': {'Params': {'$ref': '#/definitions/MergeLeadershipSettingsBulkParams'},
18603 'Result': {'$ref': '#/definitions/ErrorResults'}},
18605 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
18607 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
18609 'NetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/UnitsNetworkConfig'},
18610 'Result': {'$ref': '#/definitions/UnitNetworkConfigResults'}},
18612 'OpenPorts': {'properties': {'Params': {'$ref': '#/definitions/EntitiesPortRanges'},
18613 'Result': {'$ref': '#/definitions/ErrorResults'}},
18615 'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18616 'Result': {'$ref': '#/definitions/StringResults'}},
18618 'ProviderType': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
18620 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18621 'Result': {'$ref': '#/definitions/StringResults'}},
18623 'Read': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18624 'Result': {'$ref': '#/definitions/GetLeadershipSettingsBulkResults'}},
18626 'ReadRemoteSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnitPairs'},
18627 'Result': {'$ref': '#/definitions/SettingsResults'}},
18629 'ReadSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
18630 'Result': {'$ref': '#/definitions/SettingsResults'}},
18632 'Relation': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
18633 'Result': {'$ref': '#/definitions/RelationResults'}},
18635 'RelationById': {'properties': {'Params': {'$ref': '#/definitions/RelationIds'},
18636 'Result': {'$ref': '#/definitions/RelationResults'}},
18638 'RemoveStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
18639 'Result': {'$ref': '#/definitions/ErrorResults'}},
18641 'RequestReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18642 'Result': {'$ref': '#/definitions/ErrorResults'}},
18644 'Resolved': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18645 'Result': {'$ref': '#/definitions/ResolvedModeResults'}},
18647 'ServiceOwner': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18648 'Result': {'$ref': '#/definitions/StringResults'}},
18650 'ServiceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18651 'Result': {'$ref': '#/definitions/ServiceStatusResults'}},
18653 'SetAgentStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
18654 'Result': {'$ref': '#/definitions/ErrorResults'}},
18656 'SetCharmURL': {'properties': {'Params': {'$ref': '#/definitions/EntitiesCharmURL'},
18657 'Result': {'$ref': '#/definitions/ErrorResults'}},
18659 'SetServiceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
18660 'Result': {'$ref': '#/definitions/ErrorResults'}},
18662 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
18663 'Result': {'$ref': '#/definitions/ErrorResults'}},
18665 'SetUnitStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
18666 'Result': {'$ref': '#/definitions/ErrorResults'}},
18668 'StorageAttachmentLife': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
18669 'Result': {'$ref': '#/definitions/LifeResults'}},
18671 'StorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
18672 'Result': {'$ref': '#/definitions/StorageAttachmentResults'}},
18674 'UnitStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18675 'Result': {'$ref': '#/definitions/StatusResults'}},
18677 'UnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18678 'Result': {'$ref': '#/definitions/StorageAttachmentIdsResults'}},
18680 'UpdateSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnitsSettings'},
18681 'Result': {'$ref': '#/definitions/ErrorResults'}},
18683 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18684 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18686 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
18688 'WatchActionNotifications': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18689 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
18691 'WatchConfigSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18692 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18694 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
18696 'WatchLeadershipSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18697 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18699 'WatchMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18700 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18702 'WatchRelationUnits': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
18703 'Result': {'$ref': '#/definitions/RelationUnitsWatchResults'}},
18705 'WatchServiceRelations': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18706 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
18708 'WatchStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
18709 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18711 'WatchUnitAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18712 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18714 'WatchUnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18715 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
18716 'type': 'object'}},
18720 @ReturnMapping(StringsResult
)
18721 async def APIAddresses(self
):
18724 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
18726 # map input types to rpc msg
18728 msg
= dict(Type
='Uniter', Request
='APIAddresses', Version
=3, Params
=params
)
18730 reply
= await self
.rpc(msg
)
18735 @ReturnMapping(APIHostPortsResult
)
18736 async def APIHostPorts(self
):
18739 Returns -> typing.Sequence[~HostPort]
18741 # map input types to rpc msg
18743 msg
= dict(Type
='Uniter', Request
='APIHostPorts', Version
=3, Params
=params
)
18745 reply
= await self
.rpc(msg
)
18750 @ReturnMapping(ActionResults
)
18751 async def Actions(self
, entities
):
18753 entities : typing.Sequence[~Entity]
18754 Returns -> typing.Sequence[~ActionResult]
18756 # map input types to rpc msg
18758 msg
= dict(Type
='Uniter', Request
='Actions', Version
=3, Params
=params
)
18759 params
['Entities'] = entities
18760 reply
= await self
.rpc(msg
)
18765 @ReturnMapping(ErrorResults
)
18766 async def AddMetricBatches(self
, batches
):
18768 batches : typing.Sequence[~MetricBatchParam]
18769 Returns -> typing.Sequence[~ErrorResult]
18771 # map input types to rpc msg
18773 msg
= dict(Type
='Uniter', Request
='AddMetricBatches', Version
=3, Params
=params
)
18774 params
['Batches'] = batches
18775 reply
= await self
.rpc(msg
)
18780 @ReturnMapping(ErrorResults
)
18781 async def AddUnitStorage(self
, storages
):
18783 storages : typing.Sequence[~StorageAddParams]
18784 Returns -> typing.Sequence[~ErrorResult]
18786 # map input types to rpc msg
18788 msg
= dict(Type
='Uniter', Request
='AddUnitStorage', Version
=3, Params
=params
)
18789 params
['storages'] = storages
18790 reply
= await self
.rpc(msg
)
18795 @ReturnMapping(MachinePortsResults
)
18796 async def AllMachinePorts(self
, entities
):
18798 entities : typing.Sequence[~Entity]
18799 Returns -> typing.Sequence[~MachinePortsResult]
18801 # map input types to rpc msg
18803 msg
= dict(Type
='Uniter', Request
='AllMachinePorts', Version
=3, Params
=params
)
18804 params
['Entities'] = entities
18805 reply
= await self
.rpc(msg
)
18810 @ReturnMapping(StringResults
)
18811 async def AssignedMachine(self
, entities
):
18813 entities : typing.Sequence[~Entity]
18814 Returns -> typing.Sequence[~StringResult]
18816 # map input types to rpc msg
18818 msg
= dict(Type
='Uniter', Request
='AssignedMachine', Version
=3, Params
=params
)
18819 params
['Entities'] = entities
18820 reply
= await self
.rpc(msg
)
18825 @ReturnMapping(StringResults
)
18826 async def AvailabilityZone(self
, entities
):
18828 entities : typing.Sequence[~Entity]
18829 Returns -> typing.Sequence[~StringResult]
18831 # map input types to rpc msg
18833 msg
= dict(Type
='Uniter', Request
='AvailabilityZone', Version
=3, Params
=params
)
18834 params
['Entities'] = entities
18835 reply
= await self
.rpc(msg
)
18840 @ReturnMapping(ErrorResults
)
18841 async def BeginActions(self
, entities
):
18843 entities : typing.Sequence[~Entity]
18844 Returns -> typing.Sequence[~ErrorResult]
18846 # map input types to rpc msg
18848 msg
= dict(Type
='Uniter', Request
='BeginActions', Version
=3, Params
=params
)
18849 params
['Entities'] = entities
18850 reply
= await self
.rpc(msg
)
18855 @ReturnMapping(BytesResult
)
18856 async def CACert(self
):
18859 Returns -> typing.Sequence[int]
18861 # map input types to rpc msg
18863 msg
= dict(Type
='Uniter', Request
='CACert', Version
=3, Params
=params
)
18865 reply
= await self
.rpc(msg
)
18870 @ReturnMapping(StringResults
)
18871 async def CharmArchiveSha256(self
, urls
):
18873 urls : typing.Sequence[~CharmURL]
18874 Returns -> typing.Sequence[~StringResult]
18876 # map input types to rpc msg
18878 msg
= dict(Type
='Uniter', Request
='CharmArchiveSha256', Version
=3, Params
=params
)
18879 params
['URLs'] = urls
18880 reply
= await self
.rpc(msg
)
18885 @ReturnMapping(IntResults
)
18886 async def CharmModifiedVersion(self
, entities
):
18888 entities : typing.Sequence[~Entity]
18889 Returns -> typing.Sequence[~IntResult]
18891 # map input types to rpc msg
18893 msg
= dict(Type
='Uniter', Request
='CharmModifiedVersion', Version
=3, Params
=params
)
18894 params
['Entities'] = entities
18895 reply
= await self
.rpc(msg
)
18900 @ReturnMapping(StringBoolResults
)
18901 async def CharmURL(self
, entities
):
18903 entities : typing.Sequence[~Entity]
18904 Returns -> typing.Sequence[~StringBoolResult]
18906 # map input types to rpc msg
18908 msg
= dict(Type
='Uniter', Request
='CharmURL', Version
=3, Params
=params
)
18909 params
['Entities'] = entities
18910 reply
= await self
.rpc(msg
)
18915 @ReturnMapping(ErrorResults
)
18916 async def ClearResolved(self
, entities
):
18918 entities : typing.Sequence[~Entity]
18919 Returns -> typing.Sequence[~ErrorResult]
18921 # map input types to rpc msg
18923 msg
= dict(Type
='Uniter', Request
='ClearResolved', Version
=3, Params
=params
)
18924 params
['Entities'] = entities
18925 reply
= await self
.rpc(msg
)
18930 @ReturnMapping(ErrorResults
)
18931 async def ClosePorts(self
, entities
):
18933 entities : typing.Sequence[~EntityPortRange]
18934 Returns -> typing.Sequence[~ErrorResult]
18936 # map input types to rpc msg
18938 msg
= dict(Type
='Uniter', Request
='ClosePorts', Version
=3, Params
=params
)
18939 params
['Entities'] = entities
18940 reply
= await self
.rpc(msg
)
18945 @ReturnMapping(ConfigSettingsResults
)
18946 async def ConfigSettings(self
, entities
):
18948 entities : typing.Sequence[~Entity]
18949 Returns -> typing.Sequence[~ConfigSettingsResult]
18951 # map input types to rpc msg
18953 msg
= dict(Type
='Uniter', Request
='ConfigSettings', Version
=3, Params
=params
)
18954 params
['Entities'] = entities
18955 reply
= await self
.rpc(msg
)
18960 @ReturnMapping(ModelResult
)
18961 async def CurrentModel(self
):
18964 Returns -> typing.Union[_ForwardRef('Error'), str]
18966 # map input types to rpc msg
18968 msg
= dict(Type
='Uniter', Request
='CurrentModel', Version
=3, Params
=params
)
18970 reply
= await self
.rpc(msg
)
18975 @ReturnMapping(ErrorResults
)
18976 async def Destroy(self
, entities
):
18978 entities : typing.Sequence[~Entity]
18979 Returns -> typing.Sequence[~ErrorResult]
18981 # map input types to rpc msg
18983 msg
= dict(Type
='Uniter', Request
='Destroy', Version
=3, Params
=params
)
18984 params
['Entities'] = entities
18985 reply
= await self
.rpc(msg
)
18990 @ReturnMapping(ErrorResults
)
18991 async def DestroyAllSubordinates(self
, entities
):
18993 entities : typing.Sequence[~Entity]
18994 Returns -> typing.Sequence[~ErrorResult]
18996 # map input types to rpc msg
18998 msg
= dict(Type
='Uniter', Request
='DestroyAllSubordinates', Version
=3, Params
=params
)
18999 params
['Entities'] = entities
19000 reply
= await self
.rpc(msg
)
19005 @ReturnMapping(ErrorResults
)
19006 async def DestroyUnitStorageAttachments(self
, entities
):
19008 entities : typing.Sequence[~Entity]
19009 Returns -> typing.Sequence[~ErrorResult]
19011 # map input types to rpc msg
19013 msg
= dict(Type
='Uniter', Request
='DestroyUnitStorageAttachments', Version
=3, Params
=params
)
19014 params
['Entities'] = entities
19015 reply
= await self
.rpc(msg
)
19020 @ReturnMapping(ErrorResults
)
19021 async def EnsureDead(self
, entities
):
19023 entities : typing.Sequence[~Entity]
19024 Returns -> typing.Sequence[~ErrorResult]
19026 # map input types to rpc msg
19028 msg
= dict(Type
='Uniter', Request
='EnsureDead', Version
=3, Params
=params
)
19029 params
['Entities'] = entities
19030 reply
= await self
.rpc(msg
)
19035 @ReturnMapping(ErrorResults
)
19036 async def EnterScope(self
, relationunits
):
19038 relationunits : typing.Sequence[~RelationUnit]
19039 Returns -> typing.Sequence[~ErrorResult]
19041 # map input types to rpc msg
19043 msg
= dict(Type
='Uniter', Request
='EnterScope', Version
=3, Params
=params
)
19044 params
['RelationUnits'] = relationunits
19045 reply
= await self
.rpc(msg
)
19050 @ReturnMapping(ErrorResults
)
19051 async def FinishActions(self
, results
):
19053 results : typing.Sequence[~ActionExecutionResult]
19054 Returns -> typing.Sequence[~ErrorResult]
19056 # map input types to rpc msg
19058 msg
= dict(Type
='Uniter', Request
='FinishActions', Version
=3, Params
=params
)
19059 params
['results'] = results
19060 reply
= await self
.rpc(msg
)
19065 @ReturnMapping(MeterStatusResults
)
19066 async def GetMeterStatus(self
, entities
):
19068 entities : typing.Sequence[~Entity]
19069 Returns -> typing.Sequence[~MeterStatusResult]
19071 # map input types to rpc msg
19073 msg
= dict(Type
='Uniter', Request
='GetMeterStatus', Version
=3, Params
=params
)
19074 params
['Entities'] = entities
19075 reply
= await self
.rpc(msg
)
19080 @ReturnMapping(StringBoolResults
)
19081 async def GetPrincipal(self
, entities
):
19083 entities : typing.Sequence[~Entity]
19084 Returns -> typing.Sequence[~StringBoolResult]
19086 # map input types to rpc msg
19088 msg
= dict(Type
='Uniter', Request
='GetPrincipal', Version
=3, Params
=params
)
19089 params
['Entities'] = entities
19090 reply
= await self
.rpc(msg
)
19095 @ReturnMapping(BoolResults
)
19096 async def HasSubordinates(self
, entities
):
19098 entities : typing.Sequence[~Entity]
19099 Returns -> typing.Sequence[~BoolResult]
19101 # map input types to rpc msg
19103 msg
= dict(Type
='Uniter', Request
='HasSubordinates', Version
=3, Params
=params
)
19104 params
['Entities'] = entities
19105 reply
= await self
.rpc(msg
)
19110 @ReturnMapping(StringsResults
)
19111 async def JoinedRelations(self
, entities
):
19113 entities : typing.Sequence[~Entity]
19114 Returns -> typing.Sequence[~StringsResult]
19116 # map input types to rpc msg
19118 msg
= dict(Type
='Uniter', Request
='JoinedRelations', Version
=3, Params
=params
)
19119 params
['Entities'] = entities
19120 reply
= await self
.rpc(msg
)
19125 @ReturnMapping(ErrorResults
)
19126 async def LeaveScope(self
, relationunits
):
19128 relationunits : typing.Sequence[~RelationUnit]
19129 Returns -> typing.Sequence[~ErrorResult]
19131 # map input types to rpc msg
19133 msg
= dict(Type
='Uniter', Request
='LeaveScope', Version
=3, Params
=params
)
19134 params
['RelationUnits'] = relationunits
19135 reply
= await self
.rpc(msg
)
19140 @ReturnMapping(LifeResults
)
19141 async def Life(self
, entities
):
19143 entities : typing.Sequence[~Entity]
19144 Returns -> typing.Sequence[~LifeResult]
19146 # map input types to rpc msg
19148 msg
= dict(Type
='Uniter', Request
='Life', Version
=3, Params
=params
)
19149 params
['Entities'] = entities
19150 reply
= await self
.rpc(msg
)
19155 @ReturnMapping(ErrorResults
)
19156 async def Merge(self
, params
):
19158 params : typing.Sequence[~MergeLeadershipSettingsParam]
19159 Returns -> typing.Sequence[~ErrorResult]
19161 # map input types to rpc msg
19163 msg
= dict(Type
='Uniter', Request
='Merge', Version
=3, Params
=params
)
19164 params
['Params'] = params
19165 reply
= await self
.rpc(msg
)
19170 @ReturnMapping(ModelConfigResult
)
19171 async def ModelConfig(self
):
19174 Returns -> typing.Mapping[str, typing.Any]
19176 # map input types to rpc msg
19178 msg
= dict(Type
='Uniter', Request
='ModelConfig', Version
=3, Params
=params
)
19180 reply
= await self
.rpc(msg
)
19185 @ReturnMapping(StringResult
)
19186 async def ModelUUID(self
):
19189 Returns -> typing.Union[_ForwardRef('Error'), str]
19191 # map input types to rpc msg
19193 msg
= dict(Type
='Uniter', Request
='ModelUUID', Version
=3, Params
=params
)
19195 reply
= await self
.rpc(msg
)
19200 @ReturnMapping(UnitNetworkConfigResults
)
19201 async def NetworkConfig(self
, args
):
19203 args : typing.Sequence[~UnitNetworkConfig]
19204 Returns -> typing.Sequence[~UnitNetworkConfigResult]
19206 # map input types to rpc msg
19208 msg
= dict(Type
='Uniter', Request
='NetworkConfig', Version
=3, Params
=params
)
19209 params
['Args'] = args
19210 reply
= await self
.rpc(msg
)
19215 @ReturnMapping(ErrorResults
)
19216 async def OpenPorts(self
, entities
):
19218 entities : typing.Sequence[~EntityPortRange]
19219 Returns -> typing.Sequence[~ErrorResult]
19221 # map input types to rpc msg
19223 msg
= dict(Type
='Uniter', Request
='OpenPorts', Version
=3, Params
=params
)
19224 params
['Entities'] = entities
19225 reply
= await self
.rpc(msg
)
19230 @ReturnMapping(StringResults
)
19231 async def PrivateAddress(self
, entities
):
19233 entities : typing.Sequence[~Entity]
19234 Returns -> typing.Sequence[~StringResult]
19236 # map input types to rpc msg
19238 msg
= dict(Type
='Uniter', Request
='PrivateAddress', Version
=3, Params
=params
)
19239 params
['Entities'] = entities
19240 reply
= await self
.rpc(msg
)
19245 @ReturnMapping(StringResult
)
19246 async def ProviderType(self
):
19249 Returns -> typing.Union[_ForwardRef('Error'), str]
19251 # map input types to rpc msg
19253 msg
= dict(Type
='Uniter', Request
='ProviderType', Version
=3, Params
=params
)
19255 reply
= await self
.rpc(msg
)
19260 @ReturnMapping(StringResults
)
19261 async def PublicAddress(self
, entities
):
19263 entities : typing.Sequence[~Entity]
19264 Returns -> typing.Sequence[~StringResult]
19266 # map input types to rpc msg
19268 msg
= dict(Type
='Uniter', Request
='PublicAddress', Version
=3, Params
=params
)
19269 params
['Entities'] = entities
19270 reply
= await self
.rpc(msg
)
19275 @ReturnMapping(GetLeadershipSettingsBulkResults
)
19276 async def Read(self
, entities
):
19278 entities : typing.Sequence[~Entity]
19279 Returns -> typing.Sequence[~GetLeadershipSettingsResult]
19281 # map input types to rpc msg
19283 msg
= dict(Type
='Uniter', Request
='Read', Version
=3, Params
=params
)
19284 params
['Entities'] = entities
19285 reply
= await self
.rpc(msg
)
19290 @ReturnMapping(SettingsResults
)
19291 async def ReadRemoteSettings(self
, relationunitpairs
):
19293 relationunitpairs : typing.Sequence[~RelationUnitPair]
19294 Returns -> typing.Sequence[~SettingsResult]
19296 # map input types to rpc msg
19298 msg
= dict(Type
='Uniter', Request
='ReadRemoteSettings', Version
=3, Params
=params
)
19299 params
['RelationUnitPairs'] = relationunitpairs
19300 reply
= await self
.rpc(msg
)
19305 @ReturnMapping(SettingsResults
)
19306 async def ReadSettings(self
, relationunits
):
19308 relationunits : typing.Sequence[~RelationUnit]
19309 Returns -> typing.Sequence[~SettingsResult]
19311 # map input types to rpc msg
19313 msg
= dict(Type
='Uniter', Request
='ReadSettings', Version
=3, Params
=params
)
19314 params
['RelationUnits'] = relationunits
19315 reply
= await self
.rpc(msg
)
19320 @ReturnMapping(RelationResults
)
19321 async def Relation(self
, relationunits
):
19323 relationunits : typing.Sequence[~RelationUnit]
19324 Returns -> typing.Sequence[~RelationResult]
19326 # map input types to rpc msg
19328 msg
= dict(Type
='Uniter', Request
='Relation', Version
=3, Params
=params
)
19329 params
['RelationUnits'] = relationunits
19330 reply
= await self
.rpc(msg
)
19335 @ReturnMapping(RelationResults
)
19336 async def RelationById(self
, relationids
):
19338 relationids : typing.Sequence[int]
19339 Returns -> typing.Sequence[~RelationResult]
19341 # map input types to rpc msg
19343 msg
= dict(Type
='Uniter', Request
='RelationById', Version
=3, Params
=params
)
19344 params
['RelationIds'] = relationids
19345 reply
= await self
.rpc(msg
)
19350 @ReturnMapping(ErrorResults
)
19351 async def RemoveStorageAttachments(self
, ids
):
19353 ids : typing.Sequence[~StorageAttachmentId]
19354 Returns -> typing.Sequence[~ErrorResult]
19356 # map input types to rpc msg
19358 msg
= dict(Type
='Uniter', Request
='RemoveStorageAttachments', Version
=3, Params
=params
)
19359 params
['ids'] = ids
19360 reply
= await self
.rpc(msg
)
19365 @ReturnMapping(ErrorResults
)
19366 async def RequestReboot(self
, entities
):
19368 entities : typing.Sequence[~Entity]
19369 Returns -> typing.Sequence[~ErrorResult]
19371 # map input types to rpc msg
19373 msg
= dict(Type
='Uniter', Request
='RequestReboot', Version
=3, Params
=params
)
19374 params
['Entities'] = entities
19375 reply
= await self
.rpc(msg
)
19380 @ReturnMapping(ResolvedModeResults
)
19381 async def Resolved(self
, entities
):
19383 entities : typing.Sequence[~Entity]
19384 Returns -> typing.Sequence[~ResolvedModeResult]
19386 # map input types to rpc msg
19388 msg
= dict(Type
='Uniter', Request
='Resolved', Version
=3, Params
=params
)
19389 params
['Entities'] = entities
19390 reply
= await self
.rpc(msg
)
19395 @ReturnMapping(StringResults
)
19396 async def ServiceOwner(self
, entities
):
19398 entities : typing.Sequence[~Entity]
19399 Returns -> typing.Sequence[~StringResult]
19401 # map input types to rpc msg
19403 msg
= dict(Type
='Uniter', Request
='ServiceOwner', Version
=3, Params
=params
)
19404 params
['Entities'] = entities
19405 reply
= await self
.rpc(msg
)
19410 @ReturnMapping(ServiceStatusResults
)
19411 async def ServiceStatus(self
, entities
):
19413 entities : typing.Sequence[~Entity]
19414 Returns -> typing.Sequence[~ServiceStatusResult]
19416 # map input types to rpc msg
19418 msg
= dict(Type
='Uniter', Request
='ServiceStatus', Version
=3, Params
=params
)
19419 params
['Entities'] = entities
19420 reply
= await self
.rpc(msg
)
19425 @ReturnMapping(ErrorResults
)
19426 async def SetAgentStatus(self
, entities
):
19428 entities : typing.Sequence[~EntityStatusArgs]
19429 Returns -> typing.Sequence[~ErrorResult]
19431 # map input types to rpc msg
19433 msg
= dict(Type
='Uniter', Request
='SetAgentStatus', Version
=3, Params
=params
)
19434 params
['Entities'] = entities
19435 reply
= await self
.rpc(msg
)
19440 @ReturnMapping(ErrorResults
)
19441 async def SetCharmURL(self
, entities
):
19443 entities : typing.Sequence[~EntityCharmURL]
19444 Returns -> typing.Sequence[~ErrorResult]
19446 # map input types to rpc msg
19448 msg
= dict(Type
='Uniter', Request
='SetCharmURL', Version
=3, Params
=params
)
19449 params
['Entities'] = entities
19450 reply
= await self
.rpc(msg
)
19455 @ReturnMapping(ErrorResults
)
19456 async def SetServiceStatus(self
, entities
):
19458 entities : typing.Sequence[~EntityStatusArgs]
19459 Returns -> typing.Sequence[~ErrorResult]
19461 # map input types to rpc msg
19463 msg
= dict(Type
='Uniter', Request
='SetServiceStatus', Version
=3, Params
=params
)
19464 params
['Entities'] = entities
19465 reply
= await self
.rpc(msg
)
19470 @ReturnMapping(ErrorResults
)
19471 async def SetStatus(self
, entities
):
19473 entities : typing.Sequence[~EntityStatusArgs]
19474 Returns -> typing.Sequence[~ErrorResult]
19476 # map input types to rpc msg
19478 msg
= dict(Type
='Uniter', Request
='SetStatus', Version
=3, Params
=params
)
19479 params
['Entities'] = entities
19480 reply
= await self
.rpc(msg
)
19485 @ReturnMapping(ErrorResults
)
19486 async def SetUnitStatus(self
, entities
):
19488 entities : typing.Sequence[~EntityStatusArgs]
19489 Returns -> typing.Sequence[~ErrorResult]
19491 # map input types to rpc msg
19493 msg
= dict(Type
='Uniter', Request
='SetUnitStatus', Version
=3, Params
=params
)
19494 params
['Entities'] = entities
19495 reply
= await self
.rpc(msg
)
19500 @ReturnMapping(LifeResults
)
19501 async def StorageAttachmentLife(self
, ids
):
19503 ids : typing.Sequence[~StorageAttachmentId]
19504 Returns -> typing.Sequence[~LifeResult]
19506 # map input types to rpc msg
19508 msg
= dict(Type
='Uniter', Request
='StorageAttachmentLife', Version
=3, Params
=params
)
19509 params
['ids'] = ids
19510 reply
= await self
.rpc(msg
)
19515 @ReturnMapping(StorageAttachmentResults
)
19516 async def StorageAttachments(self
, ids
):
19518 ids : typing.Sequence[~StorageAttachmentId]
19519 Returns -> typing.Sequence[~StorageAttachmentResult]
19521 # map input types to rpc msg
19523 msg
= dict(Type
='Uniter', Request
='StorageAttachments', Version
=3, Params
=params
)
19524 params
['ids'] = ids
19525 reply
= await self
.rpc(msg
)
19530 @ReturnMapping(StatusResults
)
19531 async def UnitStatus(self
, entities
):
19533 entities : typing.Sequence[~Entity]
19534 Returns -> typing.Sequence[~StatusResult]
19536 # map input types to rpc msg
19538 msg
= dict(Type
='Uniter', Request
='UnitStatus', Version
=3, Params
=params
)
19539 params
['Entities'] = entities
19540 reply
= await self
.rpc(msg
)
19545 @ReturnMapping(StorageAttachmentIdsResults
)
19546 async def UnitStorageAttachments(self
, entities
):
19548 entities : typing.Sequence[~Entity]
19549 Returns -> typing.Sequence[~StorageAttachmentIdsResult]
19551 # map input types to rpc msg
19553 msg
= dict(Type
='Uniter', Request
='UnitStorageAttachments', Version
=3, Params
=params
)
19554 params
['Entities'] = entities
19555 reply
= await self
.rpc(msg
)
19560 @ReturnMapping(ErrorResults
)
19561 async def UpdateSettings(self
, relationunits
):
19563 relationunits : typing.Sequence[~RelationUnitSettings]
19564 Returns -> typing.Sequence[~ErrorResult]
19566 # map input types to rpc msg
19568 msg
= dict(Type
='Uniter', Request
='UpdateSettings', Version
=3, Params
=params
)
19569 params
['RelationUnits'] = relationunits
19570 reply
= await self
.rpc(msg
)
19575 @ReturnMapping(NotifyWatchResults
)
19576 async def Watch(self
, entities
):
19578 entities : typing.Sequence[~Entity]
19579 Returns -> typing.Sequence[~NotifyWatchResult]
19581 # map input types to rpc msg
19583 msg
= dict(Type
='Uniter', Request
='Watch', Version
=3, Params
=params
)
19584 params
['Entities'] = entities
19585 reply
= await self
.rpc(msg
)
19590 @ReturnMapping(NotifyWatchResult
)
19591 async def WatchAPIHostPorts(self
):
19594 Returns -> typing.Union[_ForwardRef('Error'), str]
19596 # map input types to rpc msg
19598 msg
= dict(Type
='Uniter', Request
='WatchAPIHostPorts', Version
=3, Params
=params
)
19600 reply
= await self
.rpc(msg
)
19605 @ReturnMapping(StringsWatchResults
)
19606 async def WatchActionNotifications(self
, entities
):
19608 entities : typing.Sequence[~Entity]
19609 Returns -> typing.Sequence[~StringsWatchResult]
19611 # map input types to rpc msg
19613 msg
= dict(Type
='Uniter', Request
='WatchActionNotifications', Version
=3, Params
=params
)
19614 params
['Entities'] = entities
19615 reply
= await self
.rpc(msg
)
19620 @ReturnMapping(NotifyWatchResults
)
19621 async def WatchConfigSettings(self
, entities
):
19623 entities : typing.Sequence[~Entity]
19624 Returns -> typing.Sequence[~NotifyWatchResult]
19626 # map input types to rpc msg
19628 msg
= dict(Type
='Uniter', Request
='WatchConfigSettings', Version
=3, Params
=params
)
19629 params
['Entities'] = entities
19630 reply
= await self
.rpc(msg
)
19635 @ReturnMapping(NotifyWatchResult
)
19636 async def WatchForModelConfigChanges(self
):
19639 Returns -> typing.Union[_ForwardRef('Error'), str]
19641 # map input types to rpc msg
19643 msg
= dict(Type
='Uniter', Request
='WatchForModelConfigChanges', Version
=3, Params
=params
)
19645 reply
= await self
.rpc(msg
)
19650 @ReturnMapping(NotifyWatchResults
)
19651 async def WatchLeadershipSettings(self
, entities
):
19653 entities : typing.Sequence[~Entity]
19654 Returns -> typing.Sequence[~NotifyWatchResult]
19656 # map input types to rpc msg
19658 msg
= dict(Type
='Uniter', Request
='WatchLeadershipSettings', Version
=3, Params
=params
)
19659 params
['Entities'] = entities
19660 reply
= await self
.rpc(msg
)
19665 @ReturnMapping(NotifyWatchResults
)
19666 async def WatchMeterStatus(self
, entities
):
19668 entities : typing.Sequence[~Entity]
19669 Returns -> typing.Sequence[~NotifyWatchResult]
19671 # map input types to rpc msg
19673 msg
= dict(Type
='Uniter', Request
='WatchMeterStatus', Version
=3, Params
=params
)
19674 params
['Entities'] = entities
19675 reply
= await self
.rpc(msg
)
19680 @ReturnMapping(RelationUnitsWatchResults
)
19681 async def WatchRelationUnits(self
, relationunits
):
19683 relationunits : typing.Sequence[~RelationUnit]
19684 Returns -> typing.Sequence[~RelationUnitsWatchResult]
19686 # map input types to rpc msg
19688 msg
= dict(Type
='Uniter', Request
='WatchRelationUnits', Version
=3, Params
=params
)
19689 params
['RelationUnits'] = relationunits
19690 reply
= await self
.rpc(msg
)
19695 @ReturnMapping(StringsWatchResults
)
19696 async def WatchServiceRelations(self
, entities
):
19698 entities : typing.Sequence[~Entity]
19699 Returns -> typing.Sequence[~StringsWatchResult]
19701 # map input types to rpc msg
19703 msg
= dict(Type
='Uniter', Request
='WatchServiceRelations', Version
=3, Params
=params
)
19704 params
['Entities'] = entities
19705 reply
= await self
.rpc(msg
)
19710 @ReturnMapping(NotifyWatchResults
)
19711 async def WatchStorageAttachments(self
, ids
):
19713 ids : typing.Sequence[~StorageAttachmentId]
19714 Returns -> typing.Sequence[~NotifyWatchResult]
19716 # map input types to rpc msg
19718 msg
= dict(Type
='Uniter', Request
='WatchStorageAttachments', Version
=3, Params
=params
)
19719 params
['ids'] = ids
19720 reply
= await self
.rpc(msg
)
19725 @ReturnMapping(NotifyWatchResults
)
19726 async def WatchUnitAddresses(self
, entities
):
19728 entities : typing.Sequence[~Entity]
19729 Returns -> typing.Sequence[~NotifyWatchResult]
19731 # map input types to rpc msg
19733 msg
= dict(Type
='Uniter', Request
='WatchUnitAddresses', Version
=3, Params
=params
)
19734 params
['Entities'] = entities
19735 reply
= await self
.rpc(msg
)
19740 @ReturnMapping(StringsWatchResults
)
19741 async def WatchUnitStorageAttachments(self
, entities
):
19743 entities : typing.Sequence[~Entity]
19744 Returns -> typing.Sequence[~StringsWatchResult]
19746 # map input types to rpc msg
19748 msg
= dict(Type
='Uniter', Request
='WatchUnitStorageAttachments', Version
=3, Params
=params
)
19749 params
['Entities'] = entities
19750 reply
= await self
.rpc(msg
)
19754 class Upgrader(Type
):
19757 schema
= {'definitions': {'Binary': {'additionalProperties': False,
19758 'properties': {'Arch': {'type': 'string'},
19759 'Number': {'$ref': '#/definitions/Number'},
19760 'Series': {'type': 'string'}},
19761 'required': ['Number', 'Series', 'Arch'],
19763 'Entities': {'additionalProperties': False,
19764 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
19766 'required': ['Entities'],
19768 'EntitiesVersion': {'additionalProperties': False,
19769 'properties': {'AgentTools': {'items': {'$ref': '#/definitions/EntityVersion'},
19771 'required': ['AgentTools'],
19773 'Entity': {'additionalProperties': False,
19774 'properties': {'Tag': {'type': 'string'}},
19775 'required': ['Tag'],
19777 'EntityVersion': {'additionalProperties': False,
19778 'properties': {'Tag': {'type': 'string'},
19779 'Tools': {'$ref': '#/definitions/Version'}},
19780 'required': ['Tag', 'Tools'],
19782 'Error': {'additionalProperties': False,
19783 'properties': {'Code': {'type': 'string'},
19784 'Info': {'$ref': '#/definitions/ErrorInfo'},
19785 'Message': {'type': 'string'}},
19786 'required': ['Message', 'Code'],
19788 'ErrorInfo': {'additionalProperties': False,
19789 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
19790 'MacaroonPath': {'type': 'string'}},
19792 'ErrorResult': {'additionalProperties': False,
19793 'properties': {'Error': {'$ref': '#/definitions/Error'}},
19794 'required': ['Error'],
19796 'ErrorResults': {'additionalProperties': False,
19797 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
19799 'required': ['Results'],
19801 'Macaroon': {'additionalProperties': False,
19802 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
19804 'data': {'items': {'type': 'integer'},
19806 'id': {'$ref': '#/definitions/packet'},
19807 'location': {'$ref': '#/definitions/packet'},
19808 'sig': {'items': {'type': 'integer'},
19810 'required': ['data',
19816 'NotifyWatchResult': {'additionalProperties': False,
19817 'properties': {'Error': {'$ref': '#/definitions/Error'},
19818 'NotifyWatcherId': {'type': 'string'}},
19819 'required': ['NotifyWatcherId', 'Error'],
19821 'NotifyWatchResults': {'additionalProperties': False,
19822 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
19824 'required': ['Results'],
19826 'Number': {'additionalProperties': False,
19827 'properties': {'Build': {'type': 'integer'},
19828 'Major': {'type': 'integer'},
19829 'Minor': {'type': 'integer'},
19830 'Patch': {'type': 'integer'},
19831 'Tag': {'type': 'string'}},
19832 'required': ['Major',
19838 'Tools': {'additionalProperties': False,
19839 'properties': {'sha256': {'type': 'string'},
19840 'size': {'type': 'integer'},
19841 'url': {'type': 'string'},
19842 'version': {'$ref': '#/definitions/Binary'}},
19843 'required': ['version', 'url', 'size'],
19845 'ToolsResult': {'additionalProperties': False,
19846 'properties': {'DisableSSLHostnameVerification': {'type': 'boolean'},
19847 'Error': {'$ref': '#/definitions/Error'},
19848 'ToolsList': {'items': {'$ref': '#/definitions/Tools'},
19850 'required': ['ToolsList',
19851 'DisableSSLHostnameVerification',
19854 'ToolsResults': {'additionalProperties': False,
19855 'properties': {'Results': {'items': {'$ref': '#/definitions/ToolsResult'},
19857 'required': ['Results'],
19859 'Version': {'additionalProperties': False,
19860 'properties': {'Version': {'$ref': '#/definitions/Binary'}},
19861 'required': ['Version'],
19863 'VersionResult': {'additionalProperties': False,
19864 'properties': {'Error': {'$ref': '#/definitions/Error'},
19865 'Version': {'$ref': '#/definitions/Number'}},
19866 'required': ['Version', 'Error'],
19868 'VersionResults': {'additionalProperties': False,
19869 'properties': {'Results': {'items': {'$ref': '#/definitions/VersionResult'},
19871 'required': ['Results'],
19873 'caveat': {'additionalProperties': False,
19874 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
19875 'location': {'$ref': '#/definitions/packet'},
19876 'verificationId': {'$ref': '#/definitions/packet'}},
19877 'required': ['location',
19881 'packet': {'additionalProperties': False,
19882 'properties': {'headerLen': {'type': 'integer'},
19883 'start': {'type': 'integer'},
19884 'totalLen': {'type': 'integer'}},
19885 'required': ['start', 'totalLen', 'headerLen'],
19886 'type': 'object'}},
19887 'properties': {'DesiredVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19888 'Result': {'$ref': '#/definitions/VersionResults'}},
19890 'SetTools': {'properties': {'Params': {'$ref': '#/definitions/EntitiesVersion'},
19891 'Result': {'$ref': '#/definitions/ErrorResults'}},
19893 'Tools': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19894 'Result': {'$ref': '#/definitions/ToolsResults'}},
19896 'WatchAPIVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19897 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
19898 'type': 'object'}},
19902 @ReturnMapping(VersionResults
)
19903 async def DesiredVersion(self
, entities
):
19905 entities : typing.Sequence[~Entity]
19906 Returns -> typing.Sequence[~VersionResult]
19908 # map input types to rpc msg
19910 msg
= dict(Type
='Upgrader', Request
='DesiredVersion', Version
=1, Params
=params
)
19911 params
['Entities'] = entities
19912 reply
= await self
.rpc(msg
)
19917 @ReturnMapping(ErrorResults
)
19918 async def SetTools(self
, agenttools
):
19920 agenttools : typing.Sequence[~EntityVersion]
19921 Returns -> typing.Sequence[~ErrorResult]
19923 # map input types to rpc msg
19925 msg
= dict(Type
='Upgrader', Request
='SetTools', Version
=1, Params
=params
)
19926 params
['AgentTools'] = agenttools
19927 reply
= await self
.rpc(msg
)
19932 @ReturnMapping(ToolsResults
)
19933 async def Tools(self
, entities
):
19935 entities : typing.Sequence[~Entity]
19936 Returns -> typing.Sequence[~ToolsResult]
19938 # map input types to rpc msg
19940 msg
= dict(Type
='Upgrader', Request
='Tools', Version
=1, Params
=params
)
19941 params
['Entities'] = entities
19942 reply
= await self
.rpc(msg
)
19947 @ReturnMapping(NotifyWatchResults
)
19948 async def WatchAPIVersion(self
, entities
):
19950 entities : typing.Sequence[~Entity]
19951 Returns -> typing.Sequence[~NotifyWatchResult]
19953 # map input types to rpc msg
19955 msg
= dict(Type
='Upgrader', Request
='WatchAPIVersion', Version
=1, Params
=params
)
19956 params
['Entities'] = entities
19957 reply
= await self
.rpc(msg
)
19961 class UserManager(Type
):
19962 name
= 'UserManager'
19964 schema
= {'definitions': {'AddUser': {'additionalProperties': False,
19965 'properties': {'display-name': {'type': 'string'},
19966 'model-access-permission': {'type': 'string'},
19967 'password': {'type': 'string'},
19968 'shared-model-tags': {'items': {'type': 'string'},
19970 'username': {'type': 'string'}},
19971 'required': ['username',
19973 'shared-model-tags'],
19975 'AddUserResult': {'additionalProperties': False,
19976 'properties': {'error': {'$ref': '#/definitions/Error'},
19977 'secret-key': {'items': {'type': 'integer'},
19979 'tag': {'type': 'string'}},
19981 'AddUserResults': {'additionalProperties': False,
19982 'properties': {'results': {'items': {'$ref': '#/definitions/AddUserResult'},
19984 'required': ['results'],
19986 'AddUsers': {'additionalProperties': False,
19987 'properties': {'users': {'items': {'$ref': '#/definitions/AddUser'},
19989 'required': ['users'],
19991 'Entities': {'additionalProperties': False,
19992 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
19994 'required': ['Entities'],
19996 'Entity': {'additionalProperties': False,
19997 'properties': {'Tag': {'type': 'string'}},
19998 'required': ['Tag'],
20000 'EntityPassword': {'additionalProperties': False,
20001 'properties': {'Password': {'type': 'string'},
20002 'Tag': {'type': 'string'}},
20003 'required': ['Tag', 'Password'],
20005 'EntityPasswords': {'additionalProperties': False,
20006 'properties': {'Changes': {'items': {'$ref': '#/definitions/EntityPassword'},
20008 'required': ['Changes'],
20010 'Error': {'additionalProperties': False,
20011 'properties': {'Code': {'type': 'string'},
20012 'Info': {'$ref': '#/definitions/ErrorInfo'},
20013 'Message': {'type': 'string'}},
20014 'required': ['Message', 'Code'],
20016 'ErrorInfo': {'additionalProperties': False,
20017 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
20018 'MacaroonPath': {'type': 'string'}},
20020 'ErrorResult': {'additionalProperties': False,
20021 'properties': {'Error': {'$ref': '#/definitions/Error'}},
20022 'required': ['Error'],
20024 'ErrorResults': {'additionalProperties': False,
20025 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
20027 'required': ['Results'],
20029 'Macaroon': {'additionalProperties': False,
20030 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
20032 'data': {'items': {'type': 'integer'},
20034 'id': {'$ref': '#/definitions/packet'},
20035 'location': {'$ref': '#/definitions/packet'},
20036 'sig': {'items': {'type': 'integer'},
20038 'required': ['data',
20044 'MacaroonResult': {'additionalProperties': False,
20045 'properties': {'error': {'$ref': '#/definitions/Error'},
20046 'result': {'$ref': '#/definitions/Macaroon'}},
20048 'MacaroonResults': {'additionalProperties': False,
20049 'properties': {'results': {'items': {'$ref': '#/definitions/MacaroonResult'},
20051 'required': ['results'],
20053 'UserInfo': {'additionalProperties': False,
20054 'properties': {'created-by': {'type': 'string'},
20055 'date-created': {'format': 'date-time',
20057 'disabled': {'type': 'boolean'},
20058 'display-name': {'type': 'string'},
20059 'last-connection': {'format': 'date-time',
20061 'username': {'type': 'string'}},
20062 'required': ['username',
20068 'UserInfoRequest': {'additionalProperties': False,
20069 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
20071 'include-disabled': {'type': 'boolean'}},
20072 'required': ['entities',
20073 'include-disabled'],
20075 'UserInfoResult': {'additionalProperties': False,
20076 'properties': {'error': {'$ref': '#/definitions/Error'},
20077 'result': {'$ref': '#/definitions/UserInfo'}},
20079 'UserInfoResults': {'additionalProperties': False,
20080 'properties': {'results': {'items': {'$ref': '#/definitions/UserInfoResult'},
20082 'required': ['results'],
20084 'caveat': {'additionalProperties': False,
20085 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
20086 'location': {'$ref': '#/definitions/packet'},
20087 'verificationId': {'$ref': '#/definitions/packet'}},
20088 'required': ['location',
20092 'packet': {'additionalProperties': False,
20093 'properties': {'headerLen': {'type': 'integer'},
20094 'start': {'type': 'integer'},
20095 'totalLen': {'type': 'integer'}},
20096 'required': ['start', 'totalLen', 'headerLen'],
20097 'type': 'object'}},
20098 'properties': {'AddUser': {'properties': {'Params': {'$ref': '#/definitions/AddUsers'},
20099 'Result': {'$ref': '#/definitions/AddUserResults'}},
20101 'CreateLocalLoginMacaroon': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20102 'Result': {'$ref': '#/definitions/MacaroonResults'}},
20104 'DisableUser': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20105 'Result': {'$ref': '#/definitions/ErrorResults'}},
20107 'EnableUser': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20108 'Result': {'$ref': '#/definitions/ErrorResults'}},
20110 'SetPassword': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
20111 'Result': {'$ref': '#/definitions/ErrorResults'}},
20113 'UserInfo': {'properties': {'Params': {'$ref': '#/definitions/UserInfoRequest'},
20114 'Result': {'$ref': '#/definitions/UserInfoResults'}},
20115 'type': 'object'}},
20119 @ReturnMapping(AddUserResults
)
20120 async def AddUser(self
, users
):
20122 users : typing.Sequence[~AddUser]
20123 Returns -> typing.Sequence[~AddUserResult]
20125 # map input types to rpc msg
20127 msg
= dict(Type
='UserManager', Request
='AddUser', Version
=1, Params
=params
)
20128 params
['users'] = users
20129 reply
= await self
.rpc(msg
)
20134 @ReturnMapping(MacaroonResults
)
20135 async def CreateLocalLoginMacaroon(self
, entities
):
20137 entities : typing.Sequence[~Entity]
20138 Returns -> typing.Sequence[~MacaroonResult]
20140 # map input types to rpc msg
20142 msg
= dict(Type
='UserManager', Request
='CreateLocalLoginMacaroon', Version
=1, Params
=params
)
20143 params
['Entities'] = entities
20144 reply
= await self
.rpc(msg
)
20149 @ReturnMapping(ErrorResults
)
20150 async def DisableUser(self
, entities
):
20152 entities : typing.Sequence[~Entity]
20153 Returns -> typing.Sequence[~ErrorResult]
20155 # map input types to rpc msg
20157 msg
= dict(Type
='UserManager', Request
='DisableUser', Version
=1, Params
=params
)
20158 params
['Entities'] = entities
20159 reply
= await self
.rpc(msg
)
20164 @ReturnMapping(ErrorResults
)
20165 async def EnableUser(self
, entities
):
20167 entities : typing.Sequence[~Entity]
20168 Returns -> typing.Sequence[~ErrorResult]
20170 # map input types to rpc msg
20172 msg
= dict(Type
='UserManager', Request
='EnableUser', Version
=1, Params
=params
)
20173 params
['Entities'] = entities
20174 reply
= await self
.rpc(msg
)
20179 @ReturnMapping(ErrorResults
)
20180 async def SetPassword(self
, changes
):
20182 changes : typing.Sequence[~EntityPassword]
20183 Returns -> typing.Sequence[~ErrorResult]
20185 # map input types to rpc msg
20187 msg
= dict(Type
='UserManager', Request
='SetPassword', Version
=1, Params
=params
)
20188 params
['Changes'] = changes
20189 reply
= await self
.rpc(msg
)
20194 @ReturnMapping(UserInfoResults
)
20195 async def UserInfo(self
, entities
, include_disabled
):
20197 entities : typing.Sequence[~Entity]
20198 include_disabled : bool
20199 Returns -> typing.Sequence[~UserInfoResult]
20201 # map input types to rpc msg
20203 msg
= dict(Type
='UserManager', Request
='UserInfo', Version
=1, Params
=params
)
20204 params
['entities'] = entities
20205 params
['include-disabled'] = include_disabled
20206 reply
= await self
.rpc(msg
)
20210 class VolumeAttachmentsWatcher(Type
):
20211 name
= 'VolumeAttachmentsWatcher'
20213 schema
= {'definitions': {'Error': {'additionalProperties': False,
20214 'properties': {'Code': {'type': 'string'},
20215 'Info': {'$ref': '#/definitions/ErrorInfo'},
20216 'Message': {'type': 'string'}},
20217 'required': ['Message', 'Code'],
20219 'ErrorInfo': {'additionalProperties': False,
20220 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
20221 'MacaroonPath': {'type': 'string'}},
20223 'Macaroon': {'additionalProperties': False,
20224 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
20226 'data': {'items': {'type': 'integer'},
20228 'id': {'$ref': '#/definitions/packet'},
20229 'location': {'$ref': '#/definitions/packet'},
20230 'sig': {'items': {'type': 'integer'},
20232 'required': ['data',
20238 'MachineStorageId': {'additionalProperties': False,
20239 'properties': {'attachmenttag': {'type': 'string'},
20240 'machinetag': {'type': 'string'}},
20241 'required': ['machinetag',
20244 'MachineStorageIdsWatchResult': {'additionalProperties': False,
20245 'properties': {'Changes': {'items': {'$ref': '#/definitions/MachineStorageId'},
20247 'Error': {'$ref': '#/definitions/Error'},
20248 'MachineStorageIdsWatcherId': {'type': 'string'}},
20249 'required': ['MachineStorageIdsWatcherId',
20253 'caveat': {'additionalProperties': False,
20254 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
20255 'location': {'$ref': '#/definitions/packet'},
20256 'verificationId': {'$ref': '#/definitions/packet'}},
20257 'required': ['location',
20261 'packet': {'additionalProperties': False,
20262 'properties': {'headerLen': {'type': 'integer'},
20263 'start': {'type': 'integer'},
20264 'totalLen': {'type': 'integer'}},
20265 'required': ['start', 'totalLen', 'headerLen'],
20266 'type': 'object'}},
20267 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResult'}},
20269 'Stop': {'type': 'object'}},
20273 @ReturnMapping(MachineStorageIdsWatchResult
)
20274 async def Next(self
):
20277 Returns -> typing.Union[typing.Sequence[~MachineStorageId], _ForwardRef('Error')]
20279 # map input types to rpc msg
20281 msg
= dict(Type
='VolumeAttachmentsWatcher', Request
='Next', Version
=2, Params
=params
)
20283 reply
= await self
.rpc(msg
)
20288 @ReturnMapping(None)
20289 async def Stop(self
):
20294 # map input types to rpc msg
20296 msg
= dict(Type
='VolumeAttachmentsWatcher', Request
='Stop', Version
=2, Params
=params
)
20298 reply
= await self
.rpc(msg
)