1 # DO NOT CHANGE THIS FILE! This file is auto-generated by facade.py.
2 # Changes will be overwritten/lost when the file is regenerated.
4 from juju
.client
.facade
import Type
, ReturnMapping
8 _toSchema
= {'receiver': 'receiver', 'tag': 'tag', 'parameters': 'parameters', 'name': 'name'}
9 _toPy
= {'receiver': 'receiver', 'tag': 'tag', 'parameters': 'parameters', 'name': 'name'}
10 def __init__(self
, name
=None, parameters
=None, receiver
=None, tag
=None):
13 parameters : typing.Mapping[str, typing.Any]
18 self
.parameters
= parameters
19 self
.receiver
= receiver
23 class ActionResult(Type
):
24 _toSchema
= {'action': 'action', 'completed': 'completed', 'output': 'output', 'status': 'status', 'started': 'started', 'message': 'message', 'enqueued': 'enqueued', 'error': 'error'}
25 _toPy
= {'action': 'action', 'completed': 'completed', 'output': 'output', 'status': 'status', 'started': 'started', 'message': 'message', 'enqueued': 'enqueued', 'error': 'error'}
26 def __init__(self
, action
=None, completed
=None, enqueued
=None, error
=None, message
=None, output
=None, started
=None, status
=None):
33 output : typing.Mapping[str, typing.Any]
37 self
.action
= Action
.from_json(action
) if action
else None
38 self
.completed
= completed
39 self
.enqueued
= enqueued
40 self
.error
= Error
.from_json(error
) if error
else None
41 self
.message
= message
43 self
.started
= started
47 class ActionResults(Type
):
48 _toSchema
= {'results': 'results'}
49 _toPy
= {'results': 'results'}
50 def __init__(self
, results
=None):
52 results : typing.Sequence[~ActionResult]
54 self
.results
= [ActionResult
.from_json(o
) for o
in results
or []]
58 _toSchema
= {'actions': 'actions'}
59 _toPy
= {'actions': 'actions'}
60 def __init__(self
, actions
=None):
62 actions : typing.Sequence[~Action]
64 self
.actions
= [Action
.from_json(o
) for o
in actions
or []]
67 class ActionsByName(Type
):
68 _toSchema
= {'actions': 'actions', 'error': 'error', 'name': 'name'}
69 _toPy
= {'actions': 'actions', 'error': 'error', 'name': 'name'}
70 def __init__(self
, actions
=None, error
=None, name
=None):
72 actions : typing.Sequence[~ActionResult]
76 self
.actions
= [ActionResult
.from_json(o
) for o
in actions
or []]
77 self
.error
= Error
.from_json(error
) if error
else None
81 class ActionsByNames(Type
):
82 _toSchema
= {'actions': 'actions'}
83 _toPy
= {'actions': 'actions'}
84 def __init__(self
, actions
=None):
86 actions : typing.Sequence[~ActionsByName]
88 self
.actions
= [ActionsByName
.from_json(o
) for o
in actions
or []]
91 class ActionsByReceiver(Type
):
92 _toSchema
= {'actions': 'actions', 'receiver': 'receiver', 'error': 'error'}
93 _toPy
= {'actions': 'actions', 'receiver': 'receiver', 'error': 'error'}
94 def __init__(self
, actions
=None, error
=None, receiver
=None):
96 actions : typing.Sequence[~ActionResult]
100 self
.actions
= [ActionResult
.from_json(o
) for o
in actions
or []]
101 self
.error
= Error
.from_json(error
) if error
else None
102 self
.receiver
= receiver
105 class ActionsByReceivers(Type
):
106 _toSchema
= {'actions': 'actions'}
107 _toPy
= {'actions': 'actions'}
108 def __init__(self
, actions
=None):
110 actions : typing.Sequence[~ActionsByReceiver]
112 self
.actions
= [ActionsByReceiver
.from_json(o
) for o
in actions
or []]
115 class Entities(Type
):
116 _toSchema
= {'entities': 'Entities'}
117 _toPy
= {'Entities': 'entities'}
118 def __init__(self
, entities
=None):
120 entities : typing.Sequence[~Entity]
122 self
.entities
= [Entity
.from_json(o
) for o
in entities
or []]
126 _toSchema
= {'tag': 'Tag'}
127 _toPy
= {'Tag': 'tag'}
128 def __init__(self
, tag
=None):
136 _toSchema
= {'info': 'Info', 'message': 'Message', 'code': 'Code'}
137 _toPy
= {'Info': 'info', 'Code': 'code', 'Message': 'message'}
138 def __init__(self
, code
=None, info
=None, message
=None):
145 self
.info
= ErrorInfo
.from_json(info
) if info
else None
146 self
.message
= message
149 class ErrorInfo(Type
):
150 _toSchema
= {'macaroonpath': 'MacaroonPath', 'macaroon': 'Macaroon'}
151 _toPy
= {'MacaroonPath': 'macaroonpath', 'Macaroon': 'macaroon'}
152 def __init__(self
, macaroon
=None, macaroonpath
=None):
157 self
.macaroon
= Macaroon
.from_json(macaroon
) if macaroon
else None
158 self
.macaroonpath
= macaroonpath
161 class FindActionsByNames(Type
):
162 _toSchema
= {'names': 'names'}
163 _toPy
= {'names': 'names'}
164 def __init__(self
, names
=None):
166 names : typing.Sequence[str]
171 class FindTags(Type
):
172 _toSchema
= {'prefixes': 'prefixes'}
173 _toPy
= {'prefixes': 'prefixes'}
174 def __init__(self
, prefixes
=None):
176 prefixes : typing.Sequence[str]
178 self
.prefixes
= prefixes
181 class FindTagsResults(Type
):
182 _toSchema
= {'matches': 'matches'}
183 _toPy
= {'matches': 'matches'}
184 def __init__(self
, matches
=None):
186 matches : typing.Sequence[~Entity]
188 self
.matches
= [Entity
.from_json(o
) for o
in matches
or []]
191 class Macaroon(Type
):
192 _toSchema
= {'location': 'location', 'caveats': 'caveats', 'sig': 'sig', 'id_': 'id', 'data': 'data'}
193 _toPy
= {'location': 'location', 'caveats': 'caveats', 'sig': 'sig', 'id': 'id_', 'data': 'data'}
194 def __init__(self
, caveats
=None, data
=None, id_
=None, location
=None, sig
=None):
196 caveats : typing.Sequence[~caveat]
197 data : typing.Sequence[int]
200 sig : typing.Sequence[int]
202 self
.caveats
= [caveat
.from_json(o
) for o
in caveats
or []]
204 self
.id_
= packet
.from_json(id_
) if id_
else None
205 self
.location
= packet
.from_json(location
) if location
else None
209 class RunParams(Type
):
210 _toSchema
= {'timeout': 'Timeout', 'machines': 'Machines', 'units': 'Units', 'services': 'Services', 'commands': 'Commands'}
211 _toPy
= {'Services': 'services', 'Units': 'units', 'Machines': 'machines', 'Commands': 'commands', 'Timeout': 'timeout'}
212 def __init__(self
, commands
=None, machines
=None, services
=None, timeout
=None, units
=None):
215 machines : typing.Sequence[str]
216 services : typing.Sequence[str]
218 units : typing.Sequence[str]
220 self
.commands
= commands
221 self
.machines
= machines
222 self
.services
= services
223 self
.timeout
= timeout
227 class ServiceCharmActionsResult(Type
):
228 _toSchema
= {'actions': 'actions', 'error': 'error', 'servicetag': 'servicetag'}
229 _toPy
= {'actions': 'actions', 'error': 'error', 'servicetag': 'servicetag'}
230 def __init__(self
, actions
=None, error
=None, servicetag
=None):
236 self
.actions
= Actions
.from_json(actions
) if actions
else None
237 self
.error
= Error
.from_json(error
) if error
else None
238 self
.servicetag
= servicetag
241 class ServicesCharmActionsResults(Type
):
242 _toSchema
= {'results': 'results'}
243 _toPy
= {'results': 'results'}
244 def __init__(self
, results
=None):
246 results : typing.Sequence[~ServiceCharmActionsResult]
248 self
.results
= [ServiceCharmActionsResult
.from_json(o
) for o
in results
or []]
252 _toSchema
= {'location': 'location', 'caveatid': 'caveatId', 'verificationid': 'verificationId'}
253 _toPy
= {'location': 'location', 'caveatId': 'caveatid', 'verificationId': 'verificationid'}
254 def __init__(self
, caveatid
=None, location
=None, verificationid
=None):
258 verificationid : packet
260 self
.caveatid
= packet
.from_json(caveatid
) if caveatid
else None
261 self
.location
= packet
.from_json(location
) if location
else None
262 self
.verificationid
= packet
.from_json(verificationid
) if verificationid
else None
266 _toSchema
= {'headerlen': 'headerLen', 'start': 'start', 'totallen': 'totalLen'}
267 _toPy
= {'totalLen': 'totallen', 'headerLen': 'headerlen', 'start': 'start'}
268 def __init__(self
, headerlen
=None, start
=None, totallen
=None):
274 self
.headerlen
= headerlen
276 self
.totallen
= totallen
279 class BoolResult(Type
):
280 _toSchema
= {'error': 'Error', 'result': 'Result'}
281 _toPy
= {'Error': 'error', 'Result': 'result'}
282 def __init__(self
, error
=None, result
=None):
287 self
.error
= Error
.from_json(error
) if error
else None
291 class EntitiesWatchResult(Type
):
292 _toSchema
= {'changes': 'Changes', 'error': 'Error', 'entitywatcherid': 'EntityWatcherId'}
293 _toPy
= {'Changes': 'changes', 'Error': 'error', 'EntityWatcherId': 'entitywatcherid'}
294 def __init__(self
, changes
=None, entitywatcherid
=None, error
=None):
296 changes : typing.Sequence[str]
297 entitywatcherid : str
300 self
.changes
= changes
301 self
.entitywatcherid
= entitywatcherid
302 self
.error
= Error
.from_json(error
) if error
else None
305 class ErrorResult(Type
):
306 _toSchema
= {'info': 'Info', 'message': 'Message', 'code': 'Code'}
307 _toPy
= {'Info': 'info', 'Code': 'code', 'Message': 'message'}
308 def __init__(self
, code
=None, info
=None, message
=None):
315 self
.info
= ErrorInfo
.from_json(info
) if info
else None
316 self
.message
= message
319 class AgentGetEntitiesResult(Type
):
320 _toSchema
= {'containertype': 'ContainerType', 'error': 'Error', 'life': 'Life', 'jobs': 'Jobs'}
321 _toPy
= {'Error': 'error', 'Jobs': 'jobs', 'ContainerType': 'containertype', 'Life': 'life'}
322 def __init__(self
, containertype
=None, error
=None, jobs
=None, life
=None):
326 jobs : typing.Sequence[str]
329 self
.containertype
= containertype
330 self
.error
= Error
.from_json(error
) if error
else None
335 class AgentGetEntitiesResults(Type
):
336 _toSchema
= {'entities': 'Entities'}
337 _toPy
= {'Entities': 'entities'}
338 def __init__(self
, entities
=None):
340 entities : typing.Sequence[~AgentGetEntitiesResult]
342 self
.entities
= [AgentGetEntitiesResult
.from_json(o
) for o
in entities
or []]
345 class EntityPassword(Type
):
346 _toSchema
= {'password': 'Password', 'tag': 'Tag'}
347 _toPy
= {'Password': 'password', 'Tag': 'tag'}
348 def __init__(self
, password
=None, tag
=None):
353 self
.password
= password
357 class EntityPasswords(Type
):
358 _toSchema
= {'changes': 'Changes'}
359 _toPy
= {'Changes': 'changes'}
360 def __init__(self
, changes
=None):
362 changes : typing.Sequence[~EntityPassword]
364 self
.changes
= [EntityPassword
.from_json(o
) for o
in changes
or []]
367 class ErrorResults(Type
):
368 _toSchema
= {'results': 'Results'}
369 _toPy
= {'Results': 'results'}
370 def __init__(self
, results
=None):
372 results : typing.Sequence[~ErrorResult]
374 self
.results
= [ErrorResult
.from_json(o
) for o
in results
or []]
377 class IsMasterResult(Type
):
378 _toSchema
= {'master': 'Master'}
379 _toPy
= {'Master': 'master'}
380 def __init__(self
, master
=None):
387 class ModelConfigResult(Type
):
388 _toSchema
= {'config': 'Config'}
389 _toPy
= {'Config': 'config'}
390 def __init__(self
, config
=None):
392 config : typing.Mapping[str, typing.Any]
397 class NotifyWatchResult(Type
):
398 _toSchema
= {'error': 'Error', 'notifywatcherid': 'NotifyWatcherId'}
399 _toPy
= {'Error': 'error', 'NotifyWatcherId': 'notifywatcherid'}
400 def __init__(self
, error
=None, notifywatcherid
=None):
403 notifywatcherid : str
405 self
.error
= Error
.from_json(error
) if error
else None
406 self
.notifywatcherid
= notifywatcherid
409 class StateServingInfo(Type
):
410 _toSchema
= {'sharedsecret': 'SharedSecret', 'caprivatekey': 'CAPrivateKey', 'stateport': 'StatePort', 'cert': 'Cert', 'apiport': 'APIPort', 'privatekey': 'PrivateKey', 'systemidentity': 'SystemIdentity'}
411 _toPy
= {'StatePort': 'stateport', 'APIPort': 'apiport', 'CAPrivateKey': 'caprivatekey', 'PrivateKey': 'privatekey', 'SystemIdentity': 'systemidentity', 'Cert': 'cert', 'SharedSecret': 'sharedsecret'}
412 def __init__(self
, apiport
=None, caprivatekey
=None, cert
=None, privatekey
=None, sharedsecret
=None, stateport
=None, systemidentity
=None):
422 self
.apiport
= apiport
423 self
.caprivatekey
= caprivatekey
425 self
.privatekey
= privatekey
426 self
.sharedsecret
= sharedsecret
427 self
.stateport
= stateport
428 self
.systemidentity
= systemidentity
431 class AllWatcherNextResults(Type
):
432 _toSchema
= {'deltas': 'Deltas'}
433 _toPy
= {'Deltas': 'deltas'}
434 def __init__(self
, deltas
=None):
436 deltas : typing.Sequence[~Delta]
438 self
.deltas
= [Delta
.from_json(o
) for o
in deltas
or []]
442 _toSchema
= {'removed': 'Removed', 'entity': 'Entity'}
443 _toPy
= {'Removed': 'removed', 'Entity': 'entity'}
444 def __init__(self
, entity
=None, removed
=None):
446 entity : typing.Mapping[str, typing.Any]
450 self
.removed
= removed
453 class AnnotationsGetResult(Type
):
454 _toSchema
= {'error': 'Error', 'entitytag': 'EntityTag', 'annotations': 'Annotations'}
455 _toPy
= {'EntityTag': 'entitytag', 'Annotations': 'annotations', 'Error': 'error'}
456 def __init__(self
, annotations
=None, entitytag
=None, error
=None):
458 annotations : typing.Mapping[str, str]
462 self
.annotations
= annotations
463 self
.entitytag
= entitytag
464 self
.error
= ErrorResult
.from_json(error
) if error
else None
467 class AnnotationsGetResults(Type
):
468 _toSchema
= {'results': 'Results'}
469 _toPy
= {'Results': 'results'}
470 def __init__(self
, results
=None):
472 results : typing.Sequence[~AnnotationsGetResult]
474 self
.results
= [AnnotationsGetResult
.from_json(o
) for o
in results
or []]
477 class AnnotationsSet(Type
):
478 _toSchema
= {'annotations': 'Annotations'}
479 _toPy
= {'Annotations': 'annotations'}
480 def __init__(self
, annotations
=None):
482 annotations : typing.Sequence[~EntityAnnotations]
484 self
.annotations
= [EntityAnnotations
.from_json(o
) for o
in annotations
or []]
487 class EntityAnnotations(Type
):
488 _toSchema
= {'entitytag': 'EntityTag', 'annotations': 'Annotations'}
489 _toPy
= {'EntityTag': 'entitytag', 'Annotations': 'annotations'}
490 def __init__(self
, annotations
=None, entitytag
=None):
492 annotations : typing.Mapping[str, str]
495 self
.annotations
= annotations
496 self
.entitytag
= entitytag
499 class BackupsCreateArgs(Type
):
500 _toSchema
= {'notes': 'Notes'}
501 _toPy
= {'Notes': 'notes'}
502 def __init__(self
, notes
=None):
509 class BackupsInfoArgs(Type
):
510 _toSchema
= {'id_': 'ID'}
511 _toPy
= {'ID': 'id_'}
512 def __init__(self
, id_
=None):
519 class BackupsListArgs(Type
):
529 class BackupsListResult(Type
):
530 _toSchema
= {'list_': 'List'}
531 _toPy
= {'List': 'list_'}
532 def __init__(self
, list_
=None):
534 list_ : typing.Sequence[~BackupsMetadataResult]
536 self
.list_
= [BackupsMetadataResult
.from_json(o
) for o
in list_
or []]
539 class BackupsMetadataResult(Type
):
540 _toSchema
= {'caprivatekey': 'CAPrivateKey', 'started': 'Started', 'finished': 'Finished', 'size': 'Size', 'stored': 'Stored', 'checksum': 'Checksum', 'model': 'Model', 'version': 'Version', 'cacert': 'CACert', 'machine': 'Machine', 'hostname': 'Hostname', 'notes': 'Notes', 'checksumformat': 'ChecksumFormat', 'id_': 'ID'}
541 _toPy
= {'Hostname': 'hostname', 'Stored': 'stored', 'CACert': 'cacert', 'Checksum': 'checksum', 'Started': 'started', 'Model': 'model', 'ChecksumFormat': 'checksumformat', 'Machine': 'machine', 'Version': 'version', 'CAPrivateKey': 'caprivatekey', 'Size': 'size', 'ID': 'id_', 'Finished': 'finished', 'Notes': 'notes'}
542 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):
560 self
.caprivatekey
= caprivatekey
561 self
.checksum
= checksum
562 self
.checksumformat
= checksumformat
563 self
.finished
= finished
564 self
.hostname
= hostname
566 self
.machine
= machine
570 self
.started
= started
572 self
.version
= Number
.from_json(version
) if version
else None
575 class BackupsRemoveArgs(Type
):
576 _toSchema
= {'id_': 'ID'}
577 _toPy
= {'ID': 'id_'}
578 def __init__(self
, id_
=None):
586 _toSchema
= {'minor': 'Minor', 'major': 'Major', 'tag': 'Tag', 'patch': 'Patch', 'build': 'Build'}
587 _toPy
= {'Tag': 'tag', 'Build': 'build', 'Major': 'major', 'Minor': 'minor', 'Patch': 'patch'}
588 def __init__(self
, build
=None, major
=None, minor
=None, patch
=None, tag
=None):
603 class RestoreArgs(Type
):
604 _toSchema
= {'backupid': 'BackupId'}
605 _toPy
= {'BackupId': 'backupid'}
606 def __init__(self
, backupid
=None):
610 self
.backupid
= backupid
614 _toSchema
= {'message': 'message', 'type_': 'type', 'id_': 'id', 'tag': 'tag'}
615 _toPy
= {'message': 'message', 'id': 'id_', 'tag': 'tag', 'type': 'type_'}
616 def __init__(self
, id_
=None, message
=None, tag
=None, type_
=None):
624 self
.message
= message
629 class BlockResult(Type
):
630 _toSchema
= {'error': 'error', 'result': 'result'}
631 _toPy
= {'error': 'error', 'result': 'result'}
632 def __init__(self
, error
=None, result
=None):
637 self
.error
= Error
.from_json(error
) if error
else None
638 self
.result
= Block
.from_json(result
) if result
else None
641 class BlockResults(Type
):
642 _toSchema
= {'results': 'results'}
643 _toPy
= {'results': 'results'}
644 def __init__(self
, results
=None):
646 results : typing.Sequence[~BlockResult]
648 self
.results
= [BlockResult
.from_json(o
) for o
in results
or []]
651 class BlockSwitchParams(Type
):
652 _toSchema
= {'message': 'message', 'type_': 'type'}
653 _toPy
= {'message': 'message', 'type': 'type_'}
654 def __init__(self
, message
=None, type_
=None):
659 self
.message
= message
663 class CharmInfo(Type
):
664 _toSchema
= {'charmurl': 'CharmURL'}
665 _toPy
= {'CharmURL': 'charmurl'}
666 def __init__(self
, charmurl
=None):
670 self
.charmurl
= charmurl
673 class CharmsList(Type
):
674 _toSchema
= {'names': 'Names'}
675 _toPy
= {'Names': 'names'}
676 def __init__(self
, names
=None):
678 names : typing.Sequence[str]
683 class CharmsListResult(Type
):
684 _toSchema
= {'charmurls': 'CharmURLs'}
685 _toPy
= {'CharmURLs': 'charmurls'}
686 def __init__(self
, charmurls
=None):
688 charmurls : typing.Sequence[str]
690 self
.charmurls
= charmurls
693 class IsMeteredResult(Type
):
694 _toSchema
= {'metered': 'Metered'}
695 _toPy
= {'Metered': 'metered'}
696 def __init__(self
, metered
=None):
700 self
.metered
= metered
703 class APIHostPortsResult(Type
):
704 _toSchema
= {'servers': 'Servers'}
705 _toPy
= {'Servers': 'servers'}
706 def __init__(self
, servers
=None):
708 servers : typing.Sequence[~HostPort]
710 self
.servers
= [HostPort
.from_json(o
) for o
in servers
or []]
713 class AddCharm(Type
):
714 _toSchema
= {'channel': 'Channel', 'url': 'URL'}
715 _toPy
= {'Channel': 'channel', 'URL': 'url'}
716 def __init__(self
, channel
=None, url
=None):
721 self
.channel
= channel
725 class AddCharmWithAuthorization(Type
):
726 _toSchema
= {'channel': 'Channel', 'charmstoremacaroon': 'CharmStoreMacaroon', 'url': 'URL'}
727 _toPy
= {'Channel': 'channel', 'CharmStoreMacaroon': 'charmstoremacaroon', 'URL': 'url'}
728 def __init__(self
, channel
=None, charmstoremacaroon
=None, url
=None):
731 charmstoremacaroon : Macaroon
734 self
.channel
= channel
735 self
.charmstoremacaroon
= Macaroon
.from_json(charmstoremacaroon
) if charmstoremacaroon
else None
739 class AddMachineParams(Type
):
740 _toSchema
= {'parentid': 'ParentId', 'containertype': 'ContainerType', 'instanceid': 'InstanceId', 'disks': 'Disks', 'jobs': 'Jobs', 'placement': 'Placement', 'addrs': 'Addrs', 'nonce': 'Nonce', 'constraints': 'Constraints', 'series': 'Series', 'hardwarecharacteristics': 'HardwareCharacteristics'}
741 _toPy
= {'HardwareCharacteristics': 'hardwarecharacteristics', 'Constraints': 'constraints', 'InstanceId': 'instanceid', 'ContainerType': 'containertype', 'ParentId': 'parentid', 'Addrs': 'addrs', 'Placement': 'placement', 'Disks': 'disks', 'Nonce': 'nonce', 'Jobs': 'jobs', 'Series': 'series'}
742 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):
744 addrs : typing.Sequence[~Address]
747 disks : typing.Sequence[~Constraints]
748 hardwarecharacteristics : HardwareCharacteristics
750 jobs : typing.Sequence[str]
753 placement : Placement
756 self
.addrs
= [Address
.from_json(o
) for o
in addrs
or []]
757 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
758 self
.containertype
= containertype
759 self
.disks
= [Constraints
.from_json(o
) for o
in disks
or []]
760 self
.hardwarecharacteristics
= HardwareCharacteristics
.from_json(hardwarecharacteristics
) if hardwarecharacteristics
else None
761 self
.instanceid
= instanceid
764 self
.parentid
= parentid
765 self
.placement
= Placement
.from_json(placement
) if placement
else None
769 class AddMachines(Type
):
770 _toSchema
= {'machineparams': 'MachineParams'}
771 _toPy
= {'MachineParams': 'machineparams'}
772 def __init__(self
, machineparams
=None):
774 machineparams : typing.Sequence[~AddMachineParams]
776 self
.machineparams
= [AddMachineParams
.from_json(o
) for o
in machineparams
or []]
779 class AddMachinesResult(Type
):
780 _toSchema
= {'error': 'Error', 'machine': 'Machine'}
781 _toPy
= {'Error': 'error', 'Machine': 'machine'}
782 def __init__(self
, error
=None, machine
=None):
787 self
.error
= Error
.from_json(error
) if error
else None
788 self
.machine
= machine
791 class AddMachinesResults(Type
):
792 _toSchema
= {'machines': 'Machines'}
793 _toPy
= {'Machines': 'machines'}
794 def __init__(self
, machines
=None):
796 machines : typing.Sequence[~AddMachinesResult]
798 self
.machines
= [AddMachinesResult
.from_json(o
) for o
in machines
or []]
802 _toSchema
= {'spacename': 'SpaceName', 'value': 'Value', 'scope': 'Scope', 'type_': 'Type'}
803 _toPy
= {'SpaceName': 'spacename', 'Type': 'type_', 'Scope': 'scope', 'Value': 'value'}
804 def __init__(self
, scope
=None, spacename
=None, type_
=None, value
=None):
812 self
.spacename
= spacename
817 class AgentVersionResult(Type
):
818 _toSchema
= {'minor': 'Minor', 'major': 'Major', 'tag': 'Tag', 'patch': 'Patch', 'build': 'Build'}
819 _toPy
= {'Tag': 'tag', 'Build': 'build', 'Major': 'major', 'Minor': 'minor', 'Patch': 'patch'}
820 def __init__(self
, build
=None, major
=None, minor
=None, patch
=None, tag
=None):
835 class AllWatcherId(Type
):
836 _toSchema
= {'allwatcherid': 'AllWatcherId'}
837 _toPy
= {'AllWatcherId': 'allwatcherid'}
838 def __init__(self
, allwatcherid
=None):
842 self
.allwatcherid
= allwatcherid
846 _toSchema
= {'series': 'Series', 'arch': 'Arch', 'number': 'Number'}
847 _toPy
= {'Arch': 'arch', 'Number': 'number', 'Series': 'series'}
848 def __init__(self
, arch
=None, number
=None, series
=None):
855 self
.number
= Number
.from_json(number
) if number
else None
859 class BundleChangesChange(Type
):
860 _toSchema
= {'requires': 'requires', 'args': 'args', 'id_': 'id', 'method': 'method'}
861 _toPy
= {'args': 'args', 'id': 'id_', 'method': 'method', 'requires': 'requires'}
862 def __init__(self
, args
=None, id_
=None, method
=None, requires
=None):
864 args : typing.Sequence[typing.Any]
867 requires : typing.Sequence[str]
872 self
.requires
= requires
875 class Constraints(Type
):
876 _toSchema
= {'pool': 'Pool', 'count': 'Count', 'size': 'Size'}
877 _toPy
= {'Pool': 'pool', 'Count': 'count', 'Size': 'size'}
878 def __init__(self
, count
=None, pool
=None, size
=None):
889 class DestroyMachines(Type
):
890 _toSchema
= {'force': 'Force', 'machinenames': 'MachineNames'}
891 _toPy
= {'MachineNames': 'machinenames', 'Force': 'force'}
892 def __init__(self
, force
=None, machinenames
=None):
895 machinenames : typing.Sequence[str]
898 self
.machinenames
= machinenames
901 class DetailedStatus(Type
):
902 _toSchema
= {'info': 'Info', 'status': 'Status', 'version': 'Version', 'data': 'Data', 'kind': 'Kind', 'since': 'Since', 'err': 'Err', 'life': 'Life'}
903 _toPy
= {'Status': 'status', 'Since': 'since', 'Version': 'version', 'Err': 'err', 'Info': 'info', 'Data': 'data', 'Life': 'life', 'Kind': 'kind'}
904 def __init__(self
, data
=None, err
=None, info
=None, kind
=None, life
=None, since
=None, status
=None, version
=None):
906 data : typing.Mapping[str, typing.Any]
907 err : typing.Mapping[str, typing.Any]
922 self
.version
= version
925 class EndpointStatus(Type
):
926 _toSchema
= {'role': 'Role', 'subordinate': 'Subordinate', 'servicename': 'ServiceName', 'name': 'Name'}
927 _toPy
= {'ServiceName': 'servicename', 'Subordinate': 'subordinate', 'Role': 'role', 'Name': 'name'}
928 def __init__(self
, name
=None, role
=None, servicename
=None, subordinate
=None):
937 self
.servicename
= servicename
938 self
.subordinate
= subordinate
941 class EntityStatus(Type
):
942 _toSchema
= {'info': 'Info', 'status': 'Status', 'since': 'Since', 'data': 'Data'}
943 _toPy
= {'Info': 'info', 'Since': 'since', 'Status': 'status', 'Data': 'data'}
944 def __init__(self
, data
=None, info
=None, since
=None, status
=None):
946 data : typing.Mapping[str, typing.Any]
957 class FindToolsParams(Type
):
958 _toSchema
= {'minorversion': 'MinorVersion', 'arch': 'Arch', 'number': 'Number', 'majorversion': 'MajorVersion', 'series': 'Series'}
959 _toPy
= {'Arch': 'arch', 'MinorVersion': 'minorversion', 'MajorVersion': 'majorversion', 'Number': 'number', 'Series': 'series'}
960 def __init__(self
, arch
=None, majorversion
=None, minorversion
=None, number
=None, series
=None):
969 self
.majorversion
= majorversion
970 self
.minorversion
= minorversion
971 self
.number
= Number
.from_json(number
) if number
else None
975 class FindToolsResult(Type
):
976 _toSchema
= {'error': 'Error', 'list_': 'List'}
977 _toPy
= {'Error': 'error', 'List': 'list_'}
978 def __init__(self
, error
=None, list_
=None):
981 list_ : typing.Sequence[~Tools]
983 self
.error
= Error
.from_json(error
) if error
else None
984 self
.list_
= [Tools
.from_json(o
) for o
in list_
or []]
987 class FullStatus(Type
):
988 _toSchema
= {'machines': 'Machines', 'modelname': 'ModelName', 'availableversion': 'AvailableVersion', 'relations': 'Relations', 'services': 'Services'}
989 _toPy
= {'Services': 'services', 'Relations': 'relations', 'AvailableVersion': 'availableversion', 'ModelName': 'modelname', 'Machines': 'machines'}
990 def __init__(self
, availableversion
=None, machines
=None, modelname
=None, relations
=None, services
=None):
992 availableversion : str
993 machines : typing.Mapping[str, ~MachineStatus]
995 relations : typing.Sequence[~RelationStatus]
996 services : typing.Mapping[str, ~ServiceStatus]
998 self
.availableversion
= availableversion
999 self
.machines
= {k
: MachineStatus
.from_json(v
) for k
, v
in (machines
or dict()).items()}
1000 self
.modelname
= modelname
1001 self
.relations
= [RelationStatus
.from_json(o
) for o
in relations
or []]
1002 self
.services
= {k
: ServiceStatus
.from_json(v
) for k
, v
in (services
or dict()).items()}
1005 class GetBundleChangesParams(Type
):
1006 _toSchema
= {'yaml': 'yaml'}
1007 _toPy
= {'yaml': 'yaml'}
1008 def __init__(self
, yaml
=None):
1015 class GetBundleChangesResults(Type
):
1016 _toSchema
= {'errors': 'errors', 'changes': 'changes'}
1017 _toPy
= {'errors': 'errors', 'changes': 'changes'}
1018 def __init__(self
, changes
=None, errors
=None):
1020 changes : typing.Sequence[~BundleChangesChange]
1021 errors : typing.Sequence[str]
1023 self
.changes
= [BundleChangesChange
.from_json(o
) for o
in changes
or []]
1024 self
.errors
= errors
1027 class GetConstraintsResults(Type
):
1028 _toSchema
= {'virt_type': 'virt-type', 'mem': 'mem', 'container': 'container', 'instance_type': 'instance-type', 'root_disk': 'root-disk', 'tags': 'tags', 'arch': 'arch', 'cpu_power': 'cpu-power', 'cpu_cores': 'cpu-cores', 'spaces': 'spaces'}
1029 _toPy
= {'instance-type': 'instance_type', 'root-disk': 'root_disk', 'cpu-power': 'cpu_power', 'mem': 'mem', 'tags': 'tags', 'arch': 'arch', 'spaces': 'spaces', 'virt-type': 'virt_type', 'container': 'container', 'cpu-cores': 'cpu_cores'}
1030 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):
1039 spaces : typing.Sequence[str]
1040 tags : typing.Sequence[str]
1044 self
.container
= container
1045 self
.cpu_cores
= cpu_cores
1046 self
.cpu_power
= cpu_power
1047 self
.instance_type
= instance_type
1049 self
.root_disk
= root_disk
1050 self
.spaces
= spaces
1052 self
.virt_type
= virt_type
1055 class HardwareCharacteristics(Type
):
1056 _toSchema
= {'tags': 'Tags', 'rootdisk': 'RootDisk', 'arch': 'Arch', 'cpupower': 'CpuPower', 'availabilityzone': 'AvailabilityZone', 'cpucores': 'CpuCores', 'mem': 'Mem'}
1057 _toPy
= {'RootDisk': 'rootdisk', 'Arch': 'arch', 'CpuCores': 'cpucores', 'Tags': 'tags', 'AvailabilityZone': 'availabilityzone', 'CpuPower': 'cpupower', 'Mem': 'mem'}
1058 def __init__(self
, arch
=None, availabilityzone
=None, cpucores
=None, cpupower
=None, mem
=None, rootdisk
=None, tags
=None):
1061 availabilityzone : str
1066 tags : typing.Sequence[str]
1069 self
.availabilityzone
= availabilityzone
1070 self
.cpucores
= cpucores
1071 self
.cpupower
= cpupower
1073 self
.rootdisk
= rootdisk
1077 class HostPort(Type
):
1078 _toSchema
= {'address': 'Address', 'port': 'Port'}
1079 _toPy
= {'Port': 'port', 'Address': 'address'}
1080 def __init__(self
, address
=None, port
=None):
1085 self
.address
= Address
.from_json(address
) if address
else None
1089 class MachineStatus(Type
):
1090 _toSchema
= {'series': 'Series', 'jobs': 'Jobs', 'instanceid': 'InstanceId', 'instancestatus': 'InstanceStatus', 'hasvote': 'HasVote', 'wantsvote': 'WantsVote', 'containers': 'Containers', 'agentstatus': 'AgentStatus', 'dnsname': 'DNSName', 'hardware': 'Hardware', 'id_': 'Id'}
1091 _toPy
= {'AgentStatus': 'agentstatus', 'InstanceId': 'instanceid', 'HasVote': 'hasvote', 'Series': 'series', 'Hardware': 'hardware', 'DNSName': 'dnsname', 'WantsVote': 'wantsvote', 'Id': 'id_', 'Jobs': 'jobs', 'InstanceStatus': 'instancestatus', 'Containers': 'containers'}
1092 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):
1094 agentstatus : DetailedStatus
1095 containers : typing.Mapping[str, ~MachineStatus]
1101 instancestatus : DetailedStatus
1102 jobs : typing.Sequence[str]
1106 self
.agentstatus
= DetailedStatus
.from_json(agentstatus
) if agentstatus
else None
1107 self
.containers
= {k
: MachineStatus
.from_json(v
) for k
, v
in (containers
or dict()).items()}
1108 self
.dnsname
= dnsname
1109 self
.hardware
= hardware
1110 self
.hasvote
= hasvote
1112 self
.instanceid
= instanceid
1113 self
.instancestatus
= DetailedStatus
.from_json(instancestatus
) if instancestatus
else None
1115 self
.series
= series
1116 self
.wantsvote
= wantsvote
1119 class MeterStatus(Type
):
1120 _toSchema
= {'message': 'Message', 'color': 'Color'}
1121 _toPy
= {'Message': 'message', 'Color': 'color'}
1122 def __init__(self
, color
=None, message
=None):
1128 self
.message
= message
1131 class ModelConfigResults(Type
):
1132 _toSchema
= {'config': 'Config'}
1133 _toPy
= {'Config': 'config'}
1134 def __init__(self
, config
=None):
1136 config : typing.Mapping[str, typing.Any]
1138 self
.config
= config
1141 class ModelInfo(Type
):
1142 _toSchema
= {'users': 'Users', 'status': 'Status', 'serveruuid': 'ServerUUID', 'uuid': 'UUID', 'name': 'Name', 'providertype': 'ProviderType', 'defaultseries': 'DefaultSeries', 'ownertag': 'OwnerTag', 'life': 'Life'}
1143 _toPy
= {'Status': 'status', 'UUID': 'uuid', 'OwnerTag': 'ownertag', 'Name': 'name', 'ServerUUID': 'serveruuid', 'DefaultSeries': 'defaultseries', 'Life': 'life', 'Users': 'users', 'ProviderType': 'providertype'}
1144 def __init__(self
, defaultseries
=None, life
=None, name
=None, ownertag
=None, providertype
=None, serveruuid
=None, status
=None, uuid
=None, users
=None):
1152 status : EntityStatus
1154 users : typing.Sequence[~ModelUserInfo]
1156 self
.defaultseries
= defaultseries
1159 self
.ownertag
= ownertag
1160 self
.providertype
= providertype
1161 self
.serveruuid
= serveruuid
1162 self
.status
= EntityStatus
.from_json(status
) if status
else None
1164 self
.users
= [ModelUserInfo
.from_json(o
) for o
in users
or []]
1167 class ModelSet(Type
):
1168 _toSchema
= {'config': 'Config'}
1169 _toPy
= {'Config': 'config'}
1170 def __init__(self
, config
=None):
1172 config : typing.Mapping[str, typing.Any]
1174 self
.config
= config
1177 class ModelUnset(Type
):
1178 _toSchema
= {'keys': 'Keys'}
1179 _toPy
= {'Keys': 'keys'}
1180 def __init__(self
, keys
=None):
1182 keys : typing.Sequence[str]
1187 class ModelUserInfo(Type
):
1188 _toSchema
= {'displayname': 'displayname', 'access': 'access', 'user': 'user', 'lastconnection': 'lastconnection'}
1189 _toPy
= {'displayname': 'displayname', 'access': 'access', 'user': 'user', 'lastconnection': 'lastconnection'}
1190 def __init__(self
, access
=None, displayname
=None, lastconnection
=None, user
=None):
1194 lastconnection : str
1197 self
.access
= access
1198 self
.displayname
= displayname
1199 self
.lastconnection
= lastconnection
1203 class ModelUserInfoResult(Type
):
1204 _toSchema
= {'error': 'error', 'result': 'result'}
1205 _toPy
= {'error': 'error', 'result': 'result'}
1206 def __init__(self
, error
=None, result
=None):
1209 result : ModelUserInfo
1211 self
.error
= Error
.from_json(error
) if error
else None
1212 self
.result
= ModelUserInfo
.from_json(result
) if result
else None
1215 class ModelUserInfoResults(Type
):
1216 _toSchema
= {'results': 'results'}
1217 _toPy
= {'results': 'results'}
1218 def __init__(self
, results
=None):
1220 results : typing.Sequence[~ModelUserInfoResult]
1222 self
.results
= [ModelUserInfoResult
.from_json(o
) for o
in results
or []]
1225 class Placement(Type
):
1226 _toSchema
= {'scope': 'Scope', 'directive': 'Directive'}
1227 _toPy
= {'Directive': 'directive', 'Scope': 'scope'}
1228 def __init__(self
, directive
=None, scope
=None):
1233 self
.directive
= directive
1237 class PrivateAddress(Type
):
1238 _toSchema
= {'target': 'Target'}
1239 _toPy
= {'Target': 'target'}
1240 def __init__(self
, target
=None):
1244 self
.target
= target
1247 class PrivateAddressResults(Type
):
1248 _toSchema
= {'privateaddress': 'PrivateAddress'}
1249 _toPy
= {'PrivateAddress': 'privateaddress'}
1250 def __init__(self
, privateaddress
=None):
1252 privateaddress : str
1254 self
.privateaddress
= privateaddress
1257 class ProvisioningScriptParams(Type
):
1258 _toSchema
= {'machineid': 'MachineId', 'disablepackagecommands': 'DisablePackageCommands', 'nonce': 'Nonce', 'datadir': 'DataDir'}
1259 _toPy
= {'Nonce': 'nonce', 'DisablePackageCommands': 'disablepackagecommands', 'MachineId': 'machineid', 'DataDir': 'datadir'}
1260 def __init__(self
, datadir
=None, disablepackagecommands
=None, machineid
=None, nonce
=None):
1263 disablepackagecommands : bool
1267 self
.datadir
= datadir
1268 self
.disablepackagecommands
= disablepackagecommands
1269 self
.machineid
= machineid
1273 class ProvisioningScriptResult(Type
):
1274 _toSchema
= {'script': 'Script'}
1275 _toPy
= {'Script': 'script'}
1276 def __init__(self
, script
=None):
1280 self
.script
= script
1283 class PublicAddress(Type
):
1284 _toSchema
= {'target': 'Target'}
1285 _toPy
= {'Target': 'target'}
1286 def __init__(self
, target
=None):
1290 self
.target
= target
1293 class PublicAddressResults(Type
):
1294 _toSchema
= {'publicaddress': 'PublicAddress'}
1295 _toPy
= {'PublicAddress': 'publicaddress'}
1296 def __init__(self
, publicaddress
=None):
1300 self
.publicaddress
= publicaddress
1303 class RelationStatus(Type
):
1304 _toSchema
= {'key': 'Key', 'interface': 'Interface', 'scope': 'Scope', 'endpoints': 'Endpoints', 'id_': 'Id'}
1305 _toPy
= {'Key': 'key', 'Id': 'id_', 'Scope': 'scope', 'Interface': 'interface', 'Endpoints': 'endpoints'}
1306 def __init__(self
, endpoints
=None, id_
=None, interface
=None, key
=None, scope
=None):
1308 endpoints : typing.Sequence[~EndpointStatus]
1314 self
.endpoints
= [EndpointStatus
.from_json(o
) for o
in endpoints
or []]
1316 self
.interface
= interface
1321 class ResolveCharmResult(Type
):
1322 _toSchema
= {'error': 'Error', 'url': 'URL'}
1323 _toPy
= {'Error': 'error', 'URL': 'url'}
1324 def __init__(self
, error
=None, url
=None):
1330 self
.url
= URL
.from_json(url
) if url
else None
1333 class ResolveCharmResults(Type
):
1334 _toSchema
= {'urls': 'URLs'}
1335 _toPy
= {'URLs': 'urls'}
1336 def __init__(self
, urls
=None):
1338 urls : typing.Sequence[~ResolveCharmResult]
1340 self
.urls
= [ResolveCharmResult
.from_json(o
) for o
in urls
or []]
1343 class ResolveCharms(Type
):
1344 _toSchema
= {'references': 'References'}
1345 _toPy
= {'References': 'references'}
1346 def __init__(self
, references
=None):
1348 references : typing.Sequence[~URL]
1350 self
.references
= [URL
.from_json(o
) for o
in references
or []]
1353 class Resolved(Type
):
1354 _toSchema
= {'retry': 'Retry', 'unitname': 'UnitName'}
1355 _toPy
= {'UnitName': 'unitname', 'Retry': 'retry'}
1356 def __init__(self
, retry
=None, unitname
=None):
1362 self
.unitname
= unitname
1365 class ServiceStatus(Type
):
1366 _toSchema
= {'units': 'Units', 'charm': 'Charm', 'relations': 'Relations', 'status': 'Status', 'exposed': 'Exposed', 'canupgradeto': 'CanUpgradeTo', 'meterstatuses': 'MeterStatuses', 'subordinateto': 'SubordinateTo', 'life': 'Life', 'err': 'Err'}
1367 _toPy
= {'Status': 'status', 'Relations': 'relations', 'Exposed': 'exposed', 'Err': 'err', 'SubordinateTo': 'subordinateto', 'Charm': 'charm', 'CanUpgradeTo': 'canupgradeto', 'Units': 'units', 'Life': 'life', 'MeterStatuses': 'meterstatuses'}
1368 def __init__(self
, canupgradeto
=None, charm
=None, err
=None, exposed
=None, life
=None, meterstatuses
=None, relations
=None, status
=None, subordinateto
=None, units
=None):
1372 err : typing.Mapping[str, typing.Any]
1375 meterstatuses : typing.Mapping[str, ~MeterStatus]
1376 relations : typing.Sequence[str]
1377 status : DetailedStatus
1378 subordinateto : typing.Sequence[str]
1379 units : typing.Mapping[str, ~UnitStatus]
1381 self
.canupgradeto
= canupgradeto
1384 self
.exposed
= exposed
1386 self
.meterstatuses
= {k
: MeterStatus
.from_json(v
) for k
, v
in (meterstatuses
or dict()).items()}
1387 self
.relations
= relations
1388 self
.status
= DetailedStatus
.from_json(status
) if status
else None
1389 self
.subordinateto
= subordinateto
1390 self
.units
= {k
: UnitStatus
.from_json(v
) for k
, v
in (units
or dict()).items()}
1393 class SetConstraints(Type
):
1394 _toSchema
= {'constraints': 'Constraints', 'servicename': 'ServiceName'}
1395 _toPy
= {'ServiceName': 'servicename', 'Constraints': 'constraints'}
1396 def __init__(self
, constraints
=None, servicename
=None):
1401 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
1402 self
.servicename
= servicename
1405 class SetModelAgentVersion(Type
):
1406 _toSchema
= {'minor': 'Minor', 'major': 'Major', 'tag': 'Tag', 'patch': 'Patch', 'build': 'Build'}
1407 _toPy
= {'Tag': 'tag', 'Build': 'build', 'Major': 'major', 'Minor': 'minor', 'Patch': 'patch'}
1408 def __init__(self
, build
=None, major
=None, minor
=None, patch
=None, tag
=None):
1423 class StatusHistoryArgs(Type
):
1424 _toSchema
= {'kind': 'Kind', 'size': 'Size', 'name': 'Name'}
1425 _toPy
= {'Size': 'size', 'Kind': 'kind', 'Name': 'name'}
1426 def __init__(self
, kind
=None, name
=None, size
=None):
1437 class StatusHistoryResults(Type
):
1438 _toSchema
= {'statuses': 'Statuses'}
1439 _toPy
= {'Statuses': 'statuses'}
1440 def __init__(self
, statuses
=None):
1442 statuses : typing.Sequence[~DetailedStatus]
1444 self
.statuses
= [DetailedStatus
.from_json(o
) for o
in statuses
or []]
1447 class StatusParams(Type
):
1448 _toSchema
= {'patterns': 'Patterns'}
1449 _toPy
= {'Patterns': 'patterns'}
1450 def __init__(self
, patterns
=None):
1452 patterns : typing.Sequence[str]
1454 self
.patterns
= patterns
1458 _toSchema
= {'url': 'url', 'version': 'version', 'size': 'size', 'sha256': 'sha256'}
1459 _toPy
= {'url': 'url', 'version': 'version', 'size': 'size', 'sha256': 'sha256'}
1460 def __init__(self
, sha256
=None, size
=None, url
=None, version
=None):
1467 self
.sha256
= sha256
1470 self
.version
= Binary
.from_json(version
) if version
else None
1474 _toSchema
= {'series': 'Series', 'channel': 'Channel', 'schema': 'Schema', 'revision': 'Revision', 'name': 'Name', 'user': 'User'}
1475 _toPy
= {'Schema': 'schema', 'Name': 'name', 'Channel': 'channel', 'User': 'user', 'Revision': 'revision', 'Series': 'series'}
1476 def __init__(self
, channel
=None, name
=None, revision
=None, schema
=None, series
=None, user
=None):
1485 self
.channel
= channel
1487 self
.revision
= revision
1488 self
.schema
= schema
1489 self
.series
= series
1493 class UnitStatus(Type
):
1494 _toSchema
= {'charm': 'Charm', 'subordinates': 'Subordinates', 'workloadstatus': 'WorkloadStatus', 'machine': 'Machine', 'openedports': 'OpenedPorts', 'agentstatus': 'AgentStatus', 'publicaddress': 'PublicAddress'}
1495 _toPy
= {'AgentStatus': 'agentstatus', 'Machine': 'machine', 'Charm': 'charm', 'Subordinates': 'subordinates', 'PublicAddress': 'publicaddress', 'WorkloadStatus': 'workloadstatus', 'OpenedPorts': 'openedports'}
1496 def __init__(self
, agentstatus
=None, charm
=None, machine
=None, openedports
=None, publicaddress
=None, subordinates
=None, workloadstatus
=None):
1498 agentstatus : DetailedStatus
1501 openedports : typing.Sequence[str]
1503 subordinates : typing.Mapping[str, ~UnitStatus]
1504 workloadstatus : DetailedStatus
1506 self
.agentstatus
= DetailedStatus
.from_json(agentstatus
) if agentstatus
else None
1508 self
.machine
= machine
1509 self
.openedports
= openedports
1510 self
.publicaddress
= publicaddress
1511 self
.subordinates
= {k
: UnitStatus
.from_json(v
) for k
, v
in (subordinates
or dict()).items()}
1512 self
.workloadstatus
= DetailedStatus
.from_json(workloadstatus
) if workloadstatus
else None
1516 _toSchema
= {'virt_type': 'virt-type', 'mem': 'mem', 'container': 'container', 'instance_type': 'instance-type', 'root_disk': 'root-disk', 'tags': 'tags', 'arch': 'arch', 'cpu_power': 'cpu-power', 'cpu_cores': 'cpu-cores', 'spaces': 'spaces'}
1517 _toPy
= {'instance-type': 'instance_type', 'root-disk': 'root_disk', 'cpu-power': 'cpu_power', 'mem': 'mem', 'tags': 'tags', 'arch': 'arch', 'spaces': 'spaces', 'virt-type': 'virt_type', 'container': 'container', 'cpu-cores': 'cpu_cores'}
1518 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):
1527 spaces : typing.Sequence[str]
1528 tags : typing.Sequence[str]
1532 self
.container
= container
1533 self
.cpu_cores
= cpu_cores
1534 self
.cpu_power
= cpu_power
1535 self
.instance_type
= instance_type
1537 self
.root_disk
= root_disk
1538 self
.spaces
= spaces
1540 self
.virt_type
= virt_type
1543 class DestroyControllerArgs(Type
):
1544 _toSchema
= {'destroy_models': 'destroy-models'}
1545 _toPy
= {'destroy-models': 'destroy_models'}
1546 def __init__(self
, destroy_models
=None):
1548 destroy_models : bool
1550 self
.destroy_models
= destroy_models
1553 class InitiateModelMigrationArgs(Type
):
1554 _toSchema
= {'specs': 'specs'}
1555 _toPy
= {'specs': 'specs'}
1556 def __init__(self
, specs
=None):
1558 specs : typing.Sequence[~ModelMigrationSpec]
1560 self
.specs
= [ModelMigrationSpec
.from_json(o
) for o
in specs
or []]
1563 class InitiateModelMigrationResult(Type
):
1564 _toSchema
= {'error': 'error', 'id_': 'id', 'model_tag': 'model-tag'}
1565 _toPy
= {'model-tag': 'model_tag', 'error': 'error', 'id': 'id_'}
1566 def __init__(self
, error
=None, id_
=None, model_tag
=None):
1572 self
.error
= Error
.from_json(error
) if error
else None
1574 self
.model_tag
= model_tag
1577 class InitiateModelMigrationResults(Type
):
1578 _toSchema
= {'results': 'results'}
1579 _toPy
= {'results': 'results'}
1580 def __init__(self
, results
=None):
1582 results : typing.Sequence[~InitiateModelMigrationResult]
1584 self
.results
= [InitiateModelMigrationResult
.from_json(o
) for o
in results
or []]
1588 _toSchema
= {'ownertag': 'OwnerTag', 'uuid': 'UUID', 'name': 'Name'}
1589 _toPy
= {'UUID': 'uuid', 'OwnerTag': 'ownertag', 'Name': 'name'}
1590 def __init__(self
, name
=None, ownertag
=None, uuid
=None):
1597 self
.ownertag
= ownertag
1601 class ModelBlockInfo(Type
):
1602 _toSchema
= {'model_uuid': 'model-uuid', 'owner_tag': 'owner-tag', 'blocks': 'blocks', 'name': 'name'}
1603 _toPy
= {'model-uuid': 'model_uuid', 'blocks': 'blocks', 'owner-tag': 'owner_tag', 'name': 'name'}
1604 def __init__(self
, blocks
=None, model_uuid
=None, name
=None, owner_tag
=None):
1606 blocks : typing.Sequence[str]
1611 self
.blocks
= blocks
1612 self
.model_uuid
= model_uuid
1614 self
.owner_tag
= owner_tag
1617 class ModelBlockInfoList(Type
):
1618 _toSchema
= {'models': 'models'}
1619 _toPy
= {'models': 'models'}
1620 def __init__(self
, models
=None):
1622 models : typing.Sequence[~ModelBlockInfo]
1624 self
.models
= [ModelBlockInfo
.from_json(o
) for o
in models
or []]
1627 class ModelMigrationSpec(Type
):
1628 _toSchema
= {'model_tag': 'model-tag', 'target_info': 'target-info'}
1629 _toPy
= {'model-tag': 'model_tag', 'target-info': 'target_info'}
1630 def __init__(self
, model_tag
=None, target_info
=None):
1633 target_info : ModelMigrationTargetInfo
1635 self
.model_tag
= model_tag
1636 self
.target_info
= ModelMigrationTargetInfo
.from_json(target_info
) if target_info
else None
1639 class ModelMigrationTargetInfo(Type
):
1640 _toSchema
= {'auth_tag': 'auth-tag', 'password': 'password', 'controller_tag': 'controller-tag', 'ca_cert': 'ca-cert', 'addrs': 'addrs'}
1641 _toPy
= {'password': 'password', 'auth-tag': 'auth_tag', 'ca-cert': 'ca_cert', 'controller-tag': 'controller_tag', 'addrs': 'addrs'}
1642 def __init__(self
, addrs
=None, auth_tag
=None, ca_cert
=None, controller_tag
=None, password
=None):
1644 addrs : typing.Sequence[str]
1647 controller_tag : str
1651 self
.auth_tag
= auth_tag
1652 self
.ca_cert
= ca_cert
1653 self
.controller_tag
= controller_tag
1654 self
.password
= password
1657 class ModelStatus(Type
):
1658 _toSchema
= {'hosted_machine_count': 'hosted-machine-count', 'service_count': 'service-count', 'life': 'life', 'model_tag': 'model-tag', 'owner_tag': 'owner-tag'}
1659 _toPy
= {'model-tag': 'model_tag', 'service-count': 'service_count', 'life': 'life', 'hosted-machine-count': 'hosted_machine_count', 'owner-tag': 'owner_tag'}
1660 def __init__(self
, hosted_machine_count
=None, life
=None, model_tag
=None, owner_tag
=None, service_count
=None):
1662 hosted_machine_count : int
1668 self
.hosted_machine_count
= hosted_machine_count
1670 self
.model_tag
= model_tag
1671 self
.owner_tag
= owner_tag
1672 self
.service_count
= service_count
1675 class ModelStatusResults(Type
):
1676 _toSchema
= {'models': 'models'}
1677 _toPy
= {'models': 'models'}
1678 def __init__(self
, models
=None):
1680 models : typing.Sequence[~ModelStatus]
1682 self
.models
= [ModelStatus
.from_json(o
) for o
in models
or []]
1685 class RemoveBlocksArgs(Type
):
1686 _toSchema
= {'all_': 'all'}
1687 _toPy
= {'all': 'all_'}
1688 def __init__(self
, all_
=None):
1695 class UserModel(Type
):
1696 _toSchema
= {'model': 'Model', 'lastconnection': 'LastConnection'}
1697 _toPy
= {'LastConnection': 'lastconnection', 'Model': 'model'}
1698 def __init__(self
, lastconnection
=None, model
=None):
1700 lastconnection : str
1703 self
.lastconnection
= lastconnection
1704 self
.model
= Model
.from_json(model
) if model
else None
1707 class UserModelList(Type
):
1708 _toSchema
= {'usermodels': 'UserModels'}
1709 _toPy
= {'UserModels': 'usermodels'}
1710 def __init__(self
, usermodels
=None):
1712 usermodels : typing.Sequence[~UserModel]
1714 self
.usermodels
= [UserModel
.from_json(o
) for o
in usermodels
or []]
1717 class BytesResult(Type
):
1718 _toSchema
= {'result': 'Result'}
1719 _toPy
= {'Result': 'result'}
1720 def __init__(self
, result
=None):
1722 result : typing.Sequence[int]
1724 self
.result
= result
1727 class DeployerConnectionValues(Type
):
1728 _toSchema
= {'apiaddresses': 'APIAddresses', 'stateaddresses': 'StateAddresses'}
1729 _toPy
= {'StateAddresses': 'stateaddresses', 'APIAddresses': 'apiaddresses'}
1730 def __init__(self
, apiaddresses
=None, stateaddresses
=None):
1732 apiaddresses : typing.Sequence[str]
1733 stateaddresses : typing.Sequence[str]
1735 self
.apiaddresses
= apiaddresses
1736 self
.stateaddresses
= stateaddresses
1739 class LifeResult(Type
):
1740 _toSchema
= {'error': 'Error', 'life': 'Life'}
1741 _toPy
= {'Error': 'error', 'Life': 'life'}
1742 def __init__(self
, error
=None, life
=None):
1747 self
.error
= Error
.from_json(error
) if error
else None
1751 class LifeResults(Type
):
1752 _toSchema
= {'results': 'Results'}
1753 _toPy
= {'Results': 'results'}
1754 def __init__(self
, results
=None):
1756 results : typing.Sequence[~LifeResult]
1758 self
.results
= [LifeResult
.from_json(o
) for o
in results
or []]
1761 class StringResult(Type
):
1762 _toSchema
= {'error': 'Error', 'result': 'Result'}
1763 _toPy
= {'Error': 'error', 'Result': 'result'}
1764 def __init__(self
, error
=None, result
=None):
1769 self
.error
= Error
.from_json(error
) if error
else None
1770 self
.result
= result
1773 class StringsResult(Type
):
1774 _toSchema
= {'error': 'Error', 'result': 'Result'}
1775 _toPy
= {'Error': 'error', 'Result': 'result'}
1776 def __init__(self
, error
=None, result
=None):
1779 result : typing.Sequence[str]
1781 self
.error
= Error
.from_json(error
) if error
else None
1782 self
.result
= result
1785 class StringsWatchResult(Type
):
1786 _toSchema
= {'changes': 'Changes', 'stringswatcherid': 'StringsWatcherId', 'error': 'Error'}
1787 _toPy
= {'Changes': 'changes', 'Error': 'error', 'StringsWatcherId': 'stringswatcherid'}
1788 def __init__(self
, changes
=None, error
=None, stringswatcherid
=None):
1790 changes : typing.Sequence[str]
1792 stringswatcherid : str
1794 self
.changes
= changes
1795 self
.error
= Error
.from_json(error
) if error
else None
1796 self
.stringswatcherid
= stringswatcherid
1799 class StringsWatchResults(Type
):
1800 _toSchema
= {'results': 'Results'}
1801 _toPy
= {'Results': 'results'}
1802 def __init__(self
, results
=None):
1804 results : typing.Sequence[~StringsWatchResult]
1806 self
.results
= [StringsWatchResult
.from_json(o
) for o
in results
or []]
1809 class AddSubnetParams(Type
):
1810 _toSchema
= {'subnettag': 'SubnetTag', 'zones': 'Zones', 'subnetproviderid': 'SubnetProviderId', 'spacetag': 'SpaceTag'}
1811 _toPy
= {'SpaceTag': 'spacetag', 'SubnetProviderId': 'subnetproviderid', 'SubnetTag': 'subnettag', 'Zones': 'zones'}
1812 def __init__(self
, spacetag
=None, subnetproviderid
=None, subnettag
=None, zones
=None):
1815 subnetproviderid : str
1817 zones : typing.Sequence[str]
1819 self
.spacetag
= spacetag
1820 self
.subnetproviderid
= subnetproviderid
1821 self
.subnettag
= subnettag
1825 class AddSubnetsParams(Type
):
1826 _toSchema
= {'subnets': 'Subnets'}
1827 _toPy
= {'Subnets': 'subnets'}
1828 def __init__(self
, subnets
=None):
1830 subnets : typing.Sequence[~AddSubnetParams]
1832 self
.subnets
= [AddSubnetParams
.from_json(o
) for o
in subnets
or []]
1835 class CreateSpaceParams(Type
):
1836 _toSchema
= {'public': 'Public', 'subnettags': 'SubnetTags', 'providerid': 'ProviderId', 'spacetag': 'SpaceTag'}
1837 _toPy
= {'ProviderId': 'providerid', 'Public': 'public', 'SpaceTag': 'spacetag', 'SubnetTags': 'subnettags'}
1838 def __init__(self
, providerid
=None, public
=None, spacetag
=None, subnettags
=None):
1843 subnettags : typing.Sequence[str]
1845 self
.providerid
= providerid
1846 self
.public
= public
1847 self
.spacetag
= spacetag
1848 self
.subnettags
= subnettags
1851 class CreateSpacesParams(Type
):
1852 _toSchema
= {'spaces': 'Spaces'}
1853 _toPy
= {'Spaces': 'spaces'}
1854 def __init__(self
, spaces
=None):
1856 spaces : typing.Sequence[~CreateSpaceParams]
1858 self
.spaces
= [CreateSpaceParams
.from_json(o
) for o
in spaces
or []]
1861 class DiscoverSpacesResults(Type
):
1862 _toSchema
= {'results': 'Results'}
1863 _toPy
= {'Results': 'results'}
1864 def __init__(self
, results
=None):
1866 results : typing.Sequence[~ProviderSpace]
1868 self
.results
= [ProviderSpace
.from_json(o
) for o
in results
or []]
1871 class ListSubnetsResults(Type
):
1872 _toSchema
= {'results': 'Results'}
1873 _toPy
= {'Results': 'results'}
1874 def __init__(self
, results
=None):
1876 results : typing.Sequence[~Subnet]
1878 self
.results
= [Subnet
.from_json(o
) for o
in results
or []]
1881 class ProviderSpace(Type
):
1882 _toSchema
= {'subnets': 'Subnets', 'error': 'Error', 'providerid': 'ProviderId', 'name': 'Name'}
1883 _toPy
= {'ProviderId': 'providerid', 'Error': 'error', 'Subnets': 'subnets', 'Name': 'name'}
1884 def __init__(self
, error
=None, name
=None, providerid
=None, subnets
=None):
1889 subnets : typing.Sequence[~Subnet]
1891 self
.error
= Error
.from_json(error
) if error
else None
1893 self
.providerid
= providerid
1894 self
.subnets
= [Subnet
.from_json(o
) for o
in subnets
or []]
1898 _toSchema
= {'zones': 'Zones', 'vlantag': 'VLANTag', 'staticrangelowip': 'StaticRangeLowIP', 'providerid': 'ProviderId', 'spacetag': 'SpaceTag', 'status': 'Status', 'staticrangehighip': 'StaticRangeHighIP', 'life': 'Life', 'cidr': 'CIDR'}
1899 _toPy
= {'ProviderId': 'providerid', 'SpaceTag': 'spacetag', 'StaticRangeLowIP': 'staticrangelowip', 'StaticRangeHighIP': 'staticrangehighip', 'Status': 'status', 'CIDR': 'cidr', 'Life': 'life', 'VLANTag': 'vlantag', 'Zones': 'zones'}
1900 def __init__(self
, cidr
=None, life
=None, providerid
=None, spacetag
=None, staticrangehighip
=None, staticrangelowip
=None, status
=None, vlantag
=None, zones
=None):
1906 staticrangehighip : typing.Sequence[int]
1907 staticrangelowip : typing.Sequence[int]
1910 zones : typing.Sequence[str]
1914 self
.providerid
= providerid
1915 self
.spacetag
= spacetag
1916 self
.staticrangehighip
= staticrangehighip
1917 self
.staticrangelowip
= staticrangelowip
1918 self
.status
= status
1919 self
.vlantag
= vlantag
1923 class SubnetsFilters(Type
):
1924 _toSchema
= {'zone': 'Zone', 'spacetag': 'SpaceTag'}
1925 _toPy
= {'SpaceTag': 'spacetag', 'Zone': 'zone'}
1926 def __init__(self
, spacetag
=None, zone
=None):
1931 self
.spacetag
= spacetag
1935 class BlockDevice(Type
):
1936 _toSchema
= {'devicename': 'DeviceName', 'hardwareid': 'HardwareId', 'inuse': 'InUse', 'uuid': 'UUID', 'mountpoint': 'MountPoint', 'filesystemtype': 'FilesystemType', 'label': 'Label', 'devicelinks': 'DeviceLinks', 'size': 'Size', 'busaddress': 'BusAddress'}
1937 _toPy
= {'DeviceLinks': 'devicelinks', 'BusAddress': 'busaddress', 'Size': 'size', 'Label': 'label', 'InUse': 'inuse', 'HardwareId': 'hardwareid', 'UUID': 'uuid', 'DeviceName': 'devicename', 'FilesystemType': 'filesystemtype', 'MountPoint': 'mountpoint'}
1938 def __init__(self
, busaddress
=None, devicelinks
=None, devicename
=None, filesystemtype
=None, hardwareid
=None, inuse
=None, label
=None, mountpoint
=None, size
=None, uuid
=None):
1941 devicelinks : typing.Sequence[str]
1943 filesystemtype : str
1951 self
.busaddress
= busaddress
1952 self
.devicelinks
= devicelinks
1953 self
.devicename
= devicename
1954 self
.filesystemtype
= filesystemtype
1955 self
.hardwareid
= hardwareid
1958 self
.mountpoint
= mountpoint
1963 class MachineBlockDevices(Type
):
1964 _toSchema
= {'machine': 'machine', 'blockdevices': 'blockdevices'}
1965 _toPy
= {'machine': 'machine', 'blockdevices': 'blockdevices'}
1966 def __init__(self
, blockdevices
=None, machine
=None):
1968 blockdevices : typing.Sequence[~BlockDevice]
1971 self
.blockdevices
= [BlockDevice
.from_json(o
) for o
in blockdevices
or []]
1972 self
.machine
= machine
1975 class SetMachineBlockDevices(Type
):
1976 _toSchema
= {'machineblockdevices': 'machineblockdevices'}
1977 _toPy
= {'machineblockdevices': 'machineblockdevices'}
1978 def __init__(self
, machineblockdevices
=None):
1980 machineblockdevices : typing.Sequence[~MachineBlockDevices]
1982 self
.machineblockdevices
= [MachineBlockDevices
.from_json(o
) for o
in machineblockdevices
or []]
1985 class MachineStorageId(Type
):
1986 _toSchema
= {'machinetag': 'machinetag', 'attachmenttag': 'attachmenttag'}
1987 _toPy
= {'machinetag': 'machinetag', 'attachmenttag': 'attachmenttag'}
1988 def __init__(self
, attachmenttag
=None, machinetag
=None):
1993 self
.attachmenttag
= attachmenttag
1994 self
.machinetag
= machinetag
1997 class MachineStorageIdsWatchResult(Type
):
1998 _toSchema
= {'machinestorageidswatcherid': 'MachineStorageIdsWatcherId', 'changes': 'Changes', 'error': 'Error'}
1999 _toPy
= {'Changes': 'changes', 'Error': 'error', 'MachineStorageIdsWatcherId': 'machinestorageidswatcherid'}
2000 def __init__(self
, changes
=None, error
=None, machinestorageidswatcherid
=None):
2002 changes : typing.Sequence[~MachineStorageId]
2004 machinestorageidswatcherid : str
2006 self
.changes
= [MachineStorageId
.from_json(o
) for o
in changes
or []]
2007 self
.error
= Error
.from_json(error
) if error
else None
2008 self
.machinestorageidswatcherid
= machinestorageidswatcherid
2011 class BoolResults(Type
):
2012 _toSchema
= {'results': 'Results'}
2013 _toPy
= {'Results': 'results'}
2014 def __init__(self
, results
=None):
2016 results : typing.Sequence[~BoolResult]
2018 self
.results
= [BoolResult
.from_json(o
) for o
in results
or []]
2021 class MachinePortRange(Type
):
2022 _toSchema
= {'unittag': 'UnitTag', 'relationtag': 'RelationTag', 'portrange': 'PortRange'}
2023 _toPy
= {'RelationTag': 'relationtag', 'UnitTag': 'unittag', 'PortRange': 'portrange'}
2024 def __init__(self
, portrange
=None, relationtag
=None, unittag
=None):
2026 portrange : PortRange
2030 self
.portrange
= PortRange
.from_json(portrange
) if portrange
else None
2031 self
.relationtag
= relationtag
2032 self
.unittag
= unittag
2035 class MachinePorts(Type
):
2036 _toSchema
= {'machinetag': 'MachineTag', 'subnettag': 'SubnetTag'}
2037 _toPy
= {'MachineTag': 'machinetag', 'SubnetTag': 'subnettag'}
2038 def __init__(self
, machinetag
=None, subnettag
=None):
2043 self
.machinetag
= machinetag
2044 self
.subnettag
= subnettag
2047 class MachinePortsParams(Type
):
2048 _toSchema
= {'params': 'Params'}
2049 _toPy
= {'Params': 'params'}
2050 def __init__(self
, params
=None):
2052 params : typing.Sequence[~MachinePorts]
2054 self
.params
= [MachinePorts
.from_json(o
) for o
in params
or []]
2057 class MachinePortsResult(Type
):
2058 _toSchema
= {'error': 'Error', 'ports': 'Ports'}
2059 _toPy
= {'Error': 'error', 'Ports': 'ports'}
2060 def __init__(self
, error
=None, ports
=None):
2063 ports : typing.Sequence[~MachinePortRange]
2065 self
.error
= Error
.from_json(error
) if error
else None
2066 self
.ports
= [MachinePortRange
.from_json(o
) for o
in ports
or []]
2069 class MachinePortsResults(Type
):
2070 _toSchema
= {'results': 'Results'}
2071 _toPy
= {'Results': 'results'}
2072 def __init__(self
, results
=None):
2074 results : typing.Sequence[~MachinePortsResult]
2076 self
.results
= [MachinePortsResult
.from_json(o
) for o
in results
or []]
2079 class NotifyWatchResults(Type
):
2080 _toSchema
= {'results': 'Results'}
2081 _toPy
= {'Results': 'results'}
2082 def __init__(self
, results
=None):
2084 results : typing.Sequence[~NotifyWatchResult]
2086 self
.results
= [NotifyWatchResult
.from_json(o
) for o
in results
or []]
2089 class PortRange(Type
):
2090 _toSchema
= {'protocol': 'Protocol', 'fromport': 'FromPort', 'toport': 'ToPort'}
2091 _toPy
= {'ToPort': 'toport', 'Protocol': 'protocol', 'FromPort': 'fromport'}
2092 def __init__(self
, fromport
=None, protocol
=None, toport
=None):
2098 self
.fromport
= fromport
2099 self
.protocol
= protocol
2100 self
.toport
= toport
2103 class StringResults(Type
):
2104 _toSchema
= {'results': 'Results'}
2105 _toPy
= {'Results': 'results'}
2106 def __init__(self
, results
=None):
2108 results : typing.Sequence[~StringResult]
2110 self
.results
= [StringResult
.from_json(o
) for o
in results
or []]
2113 class StringsResults(Type
):
2114 _toSchema
= {'results': 'Results'}
2115 _toPy
= {'Results': 'results'}
2116 def __init__(self
, results
=None):
2118 results : typing.Sequence[~StringsResult]
2120 self
.results
= [StringsResult
.from_json(o
) for o
in results
or []]
2123 class ControllersChangeResult(Type
):
2124 _toSchema
= {'error': 'Error', 'result': 'Result'}
2125 _toPy
= {'Error': 'error', 'Result': 'result'}
2126 def __init__(self
, error
=None, result
=None):
2129 result : ControllersChanges
2131 self
.error
= Error
.from_json(error
) if error
else None
2132 self
.result
= ControllersChanges
.from_json(result
) if result
else None
2135 class ControllersChangeResults(Type
):
2136 _toSchema
= {'results': 'Results'}
2137 _toPy
= {'Results': 'results'}
2138 def __init__(self
, results
=None):
2140 results : typing.Sequence[~ControllersChangeResult]
2142 self
.results
= [ControllersChangeResult
.from_json(o
) for o
in results
or []]
2145 class ControllersChanges(Type
):
2146 _toSchema
= {'added': 'added', 'maintained': 'maintained', 'promoted': 'promoted', 'removed': 'removed', 'demoted': 'demoted', 'converted': 'converted'}
2147 _toPy
= {'added': 'added', 'maintained': 'maintained', 'promoted': 'promoted', 'removed': 'removed', 'demoted': 'demoted', 'converted': 'converted'}
2148 def __init__(self
, added
=None, converted
=None, demoted
=None, maintained
=None, promoted
=None, removed
=None):
2150 added : typing.Sequence[str]
2151 converted : typing.Sequence[str]
2152 demoted : typing.Sequence[str]
2153 maintained : typing.Sequence[str]
2154 promoted : typing.Sequence[str]
2155 removed : typing.Sequence[str]
2158 self
.converted
= converted
2159 self
.demoted
= demoted
2160 self
.maintained
= maintained
2161 self
.promoted
= promoted
2162 self
.removed
= removed
2165 class ControllersSpec(Type
):
2166 _toSchema
= {'modeltag': 'ModelTag', 'num_controllers': 'num-controllers', 'constraints': 'constraints', 'placement': 'placement', 'series': 'series'}
2167 _toPy
= {'num-controllers': 'num_controllers', 'ModelTag': 'modeltag', 'constraints': 'constraints', 'placement': 'placement', 'series': 'series'}
2168 def __init__(self
, modeltag
=None, constraints
=None, num_controllers
=None, placement
=None, series
=None):
2172 num_controllers : int
2173 placement : typing.Sequence[str]
2176 self
.modeltag
= modeltag
2177 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
2178 self
.num_controllers
= num_controllers
2179 self
.placement
= placement
2180 self
.series
= series
2183 class ControllersSpecs(Type
):
2184 _toSchema
= {'specs': 'Specs'}
2185 _toPy
= {'Specs': 'specs'}
2186 def __init__(self
, specs
=None):
2188 specs : typing.Sequence[~ControllersSpec]
2190 self
.specs
= [ControllersSpec
.from_json(o
) for o
in specs
or []]
2193 class HAMember(Type
):
2194 _toSchema
= {'series': 'Series', 'publicaddress': 'PublicAddress', 'tag': 'Tag'}
2195 _toPy
= {'Tag': 'tag', 'PublicAddress': 'publicaddress', 'Series': 'series'}
2196 def __init__(self
, publicaddress
=None, series
=None, tag
=None):
2198 publicaddress : Address
2202 self
.publicaddress
= Address
.from_json(publicaddress
) if publicaddress
else None
2203 self
.series
= series
2208 _toSchema
= {'hidden': 'Hidden', 'tags': 'Tags', 'buildindexes': 'BuildIndexes', 'address': 'Address', 'slavedelay': 'SlaveDelay', 'votes': 'Votes', 'id_': 'Id', 'arbiter': 'Arbiter', 'priority': 'Priority'}
2209 _toPy
= {'Tags': 'tags', 'SlaveDelay': 'slavedelay', 'Votes': 'votes', 'Arbiter': 'arbiter', 'Address': 'address', 'Hidden': 'hidden', 'Priority': 'priority', 'BuildIndexes': 'buildindexes', 'Id': 'id_'}
2210 def __init__(self
, address
=None, arbiter
=None, buildindexes
=None, hidden
=None, id_
=None, priority
=None, slavedelay
=None, tags
=None, votes
=None):
2219 tags : typing.Mapping[str, str]
2222 self
.address
= address
2223 self
.arbiter
= arbiter
2224 self
.buildindexes
= buildindexes
2225 self
.hidden
= hidden
2227 self
.priority
= priority
2228 self
.slavedelay
= slavedelay
2233 class MongoUpgradeResults(Type
):
2234 _toSchema
= {'members': 'Members', 'master': 'Master', 'rsmembers': 'RsMembers'}
2235 _toPy
= {'Master': 'master', 'Members': 'members', 'RsMembers': 'rsmembers'}
2236 def __init__(self
, master
=None, members
=None, rsmembers
=None):
2239 members : typing.Sequence[~HAMember]
2240 rsmembers : typing.Sequence[~Member]
2242 self
.master
= HAMember
.from_json(master
) if master
else None
2243 self
.members
= [HAMember
.from_json(o
) for o
in members
or []]
2244 self
.rsmembers
= [Member
.from_json(o
) for o
in rsmembers
or []]
2247 class ResumeReplicationParams(Type
):
2248 _toSchema
= {'members': 'Members'}
2249 _toPy
= {'Members': 'members'}
2250 def __init__(self
, members
=None):
2252 members : typing.Sequence[~Member]
2254 self
.members
= [Member
.from_json(o
) for o
in members
or []]
2257 class UpgradeMongoParams(Type
):
2258 _toSchema
= {'minor': 'Minor', 'major': 'Major', 'storageengine': 'StorageEngine', 'patch': 'Patch'}
2259 _toPy
= {'StorageEngine': 'storageengine', 'Major': 'major', 'Minor': 'minor', 'Patch': 'patch'}
2260 def __init__(self
, major
=None, minor
=None, patch
=None, storageengine
=None):
2270 self
.storageengine
= storageengine
2273 class Version(Type
):
2274 _toSchema
= {'minor': 'Minor', 'major': 'Major', 'storageengine': 'StorageEngine', 'patch': 'Patch'}
2275 _toPy
= {'StorageEngine': 'storageengine', 'Major': 'major', 'Minor': 'minor', 'Patch': 'patch'}
2276 def __init__(self
, major
=None, minor
=None, patch
=None, storageengine
=None):
2286 self
.storageengine
= storageengine
2289 class SSHHostKeySet(Type
):
2290 _toSchema
= {'entity_keys': 'entity-keys'}
2291 _toPy
= {'entity-keys': 'entity_keys'}
2292 def __init__(self
, entity_keys
=None):
2294 entity_keys : typing.Sequence[~SSHHostKeys]
2296 self
.entity_keys
= [SSHHostKeys
.from_json(o
) for o
in entity_keys
or []]
2299 class SSHHostKeys(Type
):
2300 _toSchema
= {'tag': 'tag', 'public_keys': 'public-keys'}
2301 _toPy
= {'public-keys': 'public_keys', 'tag': 'tag'}
2302 def __init__(self
, public_keys
=None, tag
=None):
2304 public_keys : typing.Sequence[str]
2307 self
.public_keys
= public_keys
2311 class ImageFilterParams(Type
):
2312 _toSchema
= {'images': 'images'}
2313 _toPy
= {'images': 'images'}
2314 def __init__(self
, images
=None):
2316 images : typing.Sequence[~ImageSpec]
2318 self
.images
= [ImageSpec
.from_json(o
) for o
in images
or []]
2321 class ImageMetadata(Type
):
2322 _toSchema
= {'series': 'series', 'arch': 'arch', 'kind': 'kind', 'created': 'created', 'url': 'url'}
2323 _toPy
= {'series': 'series', 'arch': 'arch', 'kind': 'kind', 'created': 'created', 'url': 'url'}
2324 def __init__(self
, arch
=None, created
=None, kind
=None, series
=None, url
=None):
2333 self
.created
= created
2335 self
.series
= series
2339 class ImageSpec(Type
):
2340 _toSchema
= {'series': 'series', 'arch': 'arch', 'kind': 'kind'}
2341 _toPy
= {'series': 'series', 'arch': 'arch', 'kind': 'kind'}
2342 def __init__(self
, arch
=None, kind
=None, series
=None):
2350 self
.series
= series
2353 class ListImageResult(Type
):
2354 _toSchema
= {'result': 'result'}
2355 _toPy
= {'result': 'result'}
2356 def __init__(self
, result
=None):
2358 result : typing.Sequence[~ImageMetadata]
2360 self
.result
= [ImageMetadata
.from_json(o
) for o
in result
or []]
2363 class CloudImageMetadata(Type
):
2364 _toSchema
= {'root_storage_type': 'root_storage_type', 'virt_type': 'virt_type', 'version': 'version', 'image_id': 'image_id', 'series': 'series', 'source': 'source', 'root_storage_size': 'root_storage_size', 'arch': 'arch', 'stream': 'stream', 'region': 'region', 'priority': 'priority'}
2365 _toPy
= {'root_storage_type': 'root_storage_type', 'virt_type': 'virt_type', 'version': 'version', 'image_id': 'image_id', 'series': 'series', 'source': 'source', 'root_storage_size': 'root_storage_size', 'arch': 'arch', 'stream': 'stream', 'region': 'region', 'priority': 'priority'}
2366 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):
2372 root_storage_size : int
2373 root_storage_type : str
2381 self
.image_id
= image_id
2382 self
.priority
= priority
2383 self
.region
= region
2384 self
.root_storage_size
= root_storage_size
2385 self
.root_storage_type
= root_storage_type
2386 self
.series
= series
2387 self
.source
= source
2388 self
.stream
= stream
2389 self
.version
= version
2390 self
.virt_type
= virt_type
2393 class CloudImageMetadataList(Type
):
2394 _toSchema
= {'metadata': 'metadata'}
2395 _toPy
= {'metadata': 'metadata'}
2396 def __init__(self
, metadata
=None):
2398 metadata : typing.Sequence[~CloudImageMetadata]
2400 self
.metadata
= [CloudImageMetadata
.from_json(o
) for o
in metadata
or []]
2403 class ImageMetadataFilter(Type
):
2404 _toSchema
= {'series': 'series', 'virt_type': 'virt_type', 'stream': 'stream', 'arches': 'arches', 'root_storage_type': 'root-storage-type', 'region': 'region'}
2405 _toPy
= {'arches': 'arches', 'virt_type': 'virt_type', 'stream': 'stream', 'series': 'series', 'root-storage-type': 'root_storage_type', 'region': 'region'}
2406 def __init__(self
, arches
=None, region
=None, root_storage_type
=None, series
=None, stream
=None, virt_type
=None):
2408 arches : typing.Sequence[str]
2410 root_storage_type : str
2411 series : typing.Sequence[str]
2415 self
.arches
= arches
2416 self
.region
= region
2417 self
.root_storage_type
= root_storage_type
2418 self
.series
= series
2419 self
.stream
= stream
2420 self
.virt_type
= virt_type
2423 class ListCloudImageMetadataResult(Type
):
2424 _toSchema
= {'result': 'result'}
2425 _toPy
= {'result': 'result'}
2426 def __init__(self
, result
=None):
2428 result : typing.Sequence[~CloudImageMetadata]
2430 self
.result
= [CloudImageMetadata
.from_json(o
) for o
in result
or []]
2433 class MetadataImageIds(Type
):
2434 _toSchema
= {'image_ids': 'image_ids'}
2435 _toPy
= {'image_ids': 'image_ids'}
2436 def __init__(self
, image_ids
=None):
2438 image_ids : typing.Sequence[str]
2440 self
.image_ids
= image_ids
2443 class MetadataSaveParams(Type
):
2444 _toSchema
= {'metadata': 'metadata'}
2445 _toPy
= {'metadata': 'metadata'}
2446 def __init__(self
, metadata
=None):
2448 metadata : typing.Sequence[~CloudImageMetadataList]
2450 self
.metadata
= [CloudImageMetadataList
.from_json(o
) for o
in metadata
or []]
2453 class EntityStatusArgs(Type
):
2454 _toSchema
= {'info': 'Info', 'status': 'Status', 'tag': 'Tag', 'data': 'Data'}
2455 _toPy
= {'Info': 'info', 'Status': 'status', 'Tag': 'tag', 'Data': 'data'}
2456 def __init__(self
, data
=None, info
=None, status
=None, tag
=None):
2458 data : typing.Mapping[str, typing.Any]
2465 self
.status
= status
2469 class MachineAddresses(Type
):
2470 _toSchema
= {'addresses': 'Addresses', 'tag': 'Tag'}
2471 _toPy
= {'Tag': 'tag', 'Addresses': 'addresses'}
2472 def __init__(self
, addresses
=None, tag
=None):
2474 addresses : typing.Sequence[~Address]
2477 self
.addresses
= [Address
.from_json(o
) for o
in addresses
or []]
2481 class MachineAddressesResult(Type
):
2482 _toSchema
= {'addresses': 'Addresses', 'error': 'Error'}
2483 _toPy
= {'Error': 'error', 'Addresses': 'addresses'}
2484 def __init__(self
, addresses
=None, error
=None):
2486 addresses : typing.Sequence[~Address]
2489 self
.addresses
= [Address
.from_json(o
) for o
in addresses
or []]
2490 self
.error
= Error
.from_json(error
) if error
else None
2493 class MachineAddressesResults(Type
):
2494 _toSchema
= {'results': 'Results'}
2495 _toPy
= {'Results': 'results'}
2496 def __init__(self
, results
=None):
2498 results : typing.Sequence[~MachineAddressesResult]
2500 self
.results
= [MachineAddressesResult
.from_json(o
) for o
in results
or []]
2503 class SetMachinesAddresses(Type
):
2504 _toSchema
= {'machineaddresses': 'MachineAddresses'}
2505 _toPy
= {'MachineAddresses': 'machineaddresses'}
2506 def __init__(self
, machineaddresses
=None):
2508 machineaddresses : typing.Sequence[~MachineAddresses]
2510 self
.machineaddresses
= [MachineAddresses
.from_json(o
) for o
in machineaddresses
or []]
2513 class SetStatus(Type
):
2514 _toSchema
= {'entities': 'Entities'}
2515 _toPy
= {'Entities': 'entities'}
2516 def __init__(self
, entities
=None):
2518 entities : typing.Sequence[~EntityStatusArgs]
2520 self
.entities
= [EntityStatusArgs
.from_json(o
) for o
in entities
or []]
2523 class StatusResult(Type
):
2524 _toSchema
= {'info': 'Info', 'status': 'Status', 'data': 'Data', 'error': 'Error', 'since': 'Since', 'id_': 'Id', 'life': 'Life'}
2525 _toPy
= {'Status': 'status', 'Since': 'since', 'Life': 'life', 'Info': 'info', 'Error': 'error', 'Data': 'data', 'Id': 'id_'}
2526 def __init__(self
, data
=None, error
=None, id_
=None, info
=None, life
=None, since
=None, status
=None):
2528 data : typing.Mapping[str, typing.Any]
2537 self
.error
= Error
.from_json(error
) if error
else None
2542 self
.status
= status
2545 class StatusResults(Type
):
2546 _toSchema
= {'results': 'Results'}
2547 _toPy
= {'Results': 'results'}
2548 def __init__(self
, results
=None):
2550 results : typing.Sequence[~StatusResult]
2552 self
.results
= [StatusResult
.from_json(o
) for o
in results
or []]
2555 class ListSSHKeys(Type
):
2556 _toSchema
= {'mode': 'Mode', 'entities': 'Entities'}
2557 _toPy
= {'Mode': 'mode', 'Entities': 'entities'}
2558 def __init__(self
, entities
=None, mode
=None):
2563 self
.entities
= Entities
.from_json(entities
) if entities
else None
2567 class ModifyUserSSHKeys(Type
):
2568 _toSchema
= {'keys': 'Keys', 'user': 'User'}
2569 _toPy
= {'Keys': 'keys', 'User': 'user'}
2570 def __init__(self
, keys
=None, user
=None):
2572 keys : typing.Sequence[str]
2579 class ClaimLeadershipBulkParams(Type
):
2580 _toSchema
= {'params': 'Params'}
2581 _toPy
= {'Params': 'params'}
2582 def __init__(self
, params
=None):
2584 params : typing.Sequence[~ClaimLeadershipParams]
2586 self
.params
= [ClaimLeadershipParams
.from_json(o
) for o
in params
or []]
2589 class ClaimLeadershipBulkResults(Type
):
2590 _toSchema
= {'results': 'Results'}
2591 _toPy
= {'Results': 'results'}
2592 def __init__(self
, results
=None):
2594 results : typing.Sequence[~ErrorResult]
2596 self
.results
= [ErrorResult
.from_json(o
) for o
in results
or []]
2599 class ClaimLeadershipParams(Type
):
2600 _toSchema
= {'unittag': 'UnitTag', 'durationseconds': 'DurationSeconds', 'servicetag': 'ServiceTag'}
2601 _toPy
= {'UnitTag': 'unittag', 'DurationSeconds': 'durationseconds', 'ServiceTag': 'servicetag'}
2602 def __init__(self
, durationseconds
=None, servicetag
=None, unittag
=None):
2604 durationseconds : float
2608 self
.durationseconds
= durationseconds
2609 self
.servicetag
= servicetag
2610 self
.unittag
= unittag
2613 class ServiceTag(Type
):
2614 _toSchema
= {'name': 'Name'}
2615 _toPy
= {'Name': 'name'}
2616 def __init__(self
, name
=None):
2623 class ActionExecutionResult(Type
):
2624 _toSchema
= {'message': 'message', 'results': 'results', 'status': 'status', 'actiontag': 'actiontag'}
2625 _toPy
= {'message': 'message', 'results': 'results', 'status': 'status', 'actiontag': 'actiontag'}
2626 def __init__(self
, actiontag
=None, message
=None, results
=None, status
=None):
2630 results : typing.Mapping[str, typing.Any]
2633 self
.actiontag
= actiontag
2634 self
.message
= message
2635 self
.results
= results
2636 self
.status
= status
2639 class ActionExecutionResults(Type
):
2640 _toSchema
= {'results': 'results'}
2641 _toPy
= {'results': 'results'}
2642 def __init__(self
, results
=None):
2644 results : typing.Sequence[~ActionExecutionResult]
2646 self
.results
= [ActionExecutionResult
.from_json(o
) for o
in results
or []]
2649 class JobsResult(Type
):
2650 _toSchema
= {'jobs': 'Jobs', 'error': 'Error'}
2651 _toPy
= {'Error': 'error', 'Jobs': 'jobs'}
2652 def __init__(self
, error
=None, jobs
=None):
2655 jobs : typing.Sequence[str]
2657 self
.error
= Error
.from_json(error
) if error
else None
2661 class JobsResults(Type
):
2662 _toSchema
= {'results': 'Results'}
2663 _toPy
= {'Results': 'results'}
2664 def __init__(self
, results
=None):
2666 results : typing.Sequence[~JobsResult]
2668 self
.results
= [JobsResult
.from_json(o
) for o
in results
or []]
2671 class NetworkConfig(Type
):
2672 _toSchema
= {'dnssearchdomains': 'DNSSearchDomains', 'gatewayaddress': 'GatewayAddress', 'providerspaceid': 'ProviderSpaceId', 'providersubnetid': 'ProviderSubnetId', 'noautostart': 'NoAutoStart', 'mtu': 'MTU', 'providervlanid': 'ProviderVLANId', 'provideraddressid': 'ProviderAddressId', 'dnsservers': 'DNSServers', 'interfacename': 'InterfaceName', 'providerid': 'ProviderId', 'vlantag': 'VLANTag', 'cidr': 'CIDR', 'address': 'Address', 'parentinterfacename': 'ParentInterfaceName', 'interfacetype': 'InterfaceType', 'disabled': 'Disabled', 'deviceindex': 'DeviceIndex', 'configtype': 'ConfigType', 'macaddress': 'MACAddress'}
2673 _toPy
= {'DeviceIndex': 'deviceindex', 'MTU': 'mtu', 'Disabled': 'disabled', 'ProviderId': 'providerid', 'CIDR': 'cidr', 'MACAddress': 'macaddress', 'InterfaceType': 'interfacetype', 'GatewayAddress': 'gatewayaddress', 'InterfaceName': 'interfacename', 'NoAutoStart': 'noautostart', 'DNSServers': 'dnsservers', 'ParentInterfaceName': 'parentinterfacename', 'VLANTag': 'vlantag', 'ProviderVLANId': 'providervlanid', 'ProviderSubnetId': 'providersubnetid', 'ProviderSpaceId': 'providerspaceid', 'Address': 'address', 'ConfigType': 'configtype', 'ProviderAddressId': 'provideraddressid', 'DNSSearchDomains': 'dnssearchdomains'}
2674 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):
2679 dnssearchdomains : typing.Sequence[str]
2680 dnsservers : typing.Sequence[str]
2683 gatewayaddress : str
2689 parentinterfacename : str
2690 provideraddressid : str
2692 providerspaceid : str
2693 providersubnetid : str
2694 providervlanid : str
2697 self
.address
= address
2699 self
.configtype
= configtype
2700 self
.dnssearchdomains
= dnssearchdomains
2701 self
.dnsservers
= dnsservers
2702 self
.deviceindex
= deviceindex
2703 self
.disabled
= disabled
2704 self
.gatewayaddress
= gatewayaddress
2705 self
.interfacename
= interfacename
2706 self
.interfacetype
= interfacetype
2707 self
.macaddress
= macaddress
2709 self
.noautostart
= noautostart
2710 self
.parentinterfacename
= parentinterfacename
2711 self
.provideraddressid
= provideraddressid
2712 self
.providerid
= providerid
2713 self
.providerspaceid
= providerspaceid
2714 self
.providersubnetid
= providersubnetid
2715 self
.providervlanid
= providervlanid
2716 self
.vlantag
= vlantag
2719 class SetMachineNetworkConfig(Type
):
2720 _toSchema
= {'config': 'Config', 'tag': 'Tag'}
2721 _toPy
= {'Tag': 'tag', 'Config': 'config'}
2722 def __init__(self
, config
=None, tag
=None):
2724 config : typing.Sequence[~NetworkConfig]
2727 self
.config
= [NetworkConfig
.from_json(o
) for o
in config
or []]
2731 class MeterStatusResult(Type
):
2732 _toSchema
= {'info': 'Info', 'error': 'Error', 'code': 'Code'}
2733 _toPy
= {'Info': 'info', 'Error': 'error', 'Code': 'code'}
2734 def __init__(self
, code
=None, error
=None, info
=None):
2741 self
.error
= Error
.from_json(error
) if error
else None
2745 class MeterStatusResults(Type
):
2746 _toSchema
= {'results': 'Results'}
2747 _toPy
= {'Results': 'results'}
2748 def __init__(self
, results
=None):
2750 results : typing.Sequence[~MeterStatusResult]
2752 self
.results
= [MeterStatusResult
.from_json(o
) for o
in results
or []]
2756 _toSchema
= {'key': 'Key', 'time': 'Time', 'value': 'Value'}
2757 _toPy
= {'Time': 'time', 'Value': 'value', 'Key': 'key'}
2758 def __init__(self
, key
=None, time
=None, value
=None):
2769 class MetricBatch(Type
):
2770 _toSchema
= {'charmurl': 'CharmURL', 'metrics': 'Metrics', 'created': 'Created', 'uuid': 'UUID'}
2771 _toPy
= {'Metrics': 'metrics', 'CharmURL': 'charmurl', 'Created': 'created', 'UUID': 'uuid'}
2772 def __init__(self
, charmurl
=None, created
=None, metrics
=None, uuid
=None):
2776 metrics : typing.Sequence[~Metric]
2779 self
.charmurl
= charmurl
2780 self
.created
= created
2781 self
.metrics
= [Metric
.from_json(o
) for o
in metrics
or []]
2785 class MetricBatchParam(Type
):
2786 _toSchema
= {'batch': 'Batch', 'tag': 'Tag'}
2787 _toPy
= {'Tag': 'tag', 'Batch': 'batch'}
2788 def __init__(self
, batch
=None, tag
=None):
2793 self
.batch
= MetricBatch
.from_json(batch
) if batch
else None
2797 class MetricBatchParams(Type
):
2798 _toSchema
= {'batches': 'Batches'}
2799 _toPy
= {'Batches': 'batches'}
2800 def __init__(self
, batches
=None):
2802 batches : typing.Sequence[~MetricBatchParam]
2804 self
.batches
= [MetricBatchParam
.from_json(o
) for o
in batches
or []]
2807 class EntityMetrics(Type
):
2808 _toSchema
= {'error': 'error', 'metrics': 'metrics'}
2809 _toPy
= {'error': 'error', 'metrics': 'metrics'}
2810 def __init__(self
, error
=None, metrics
=None):
2813 metrics : typing.Sequence[~MetricResult]
2815 self
.error
= Error
.from_json(error
) if error
else None
2816 self
.metrics
= [MetricResult
.from_json(o
) for o
in metrics
or []]
2819 class MeterStatusParam(Type
):
2820 _toSchema
= {'info': 'info', 'tag': 'tag', 'code': 'code'}
2821 _toPy
= {'info': 'info', 'tag': 'tag', 'code': 'code'}
2822 def __init__(self
, code
=None, info
=None, tag
=None):
2833 class MeterStatusParams(Type
):
2834 _toSchema
= {'statues': 'statues'}
2835 _toPy
= {'statues': 'statues'}
2836 def __init__(self
, statues
=None):
2838 statues : typing.Sequence[~MeterStatusParam]
2840 self
.statues
= [MeterStatusParam
.from_json(o
) for o
in statues
or []]
2843 class MetricResult(Type
):
2844 _toSchema
= {'key': 'key', 'time': 'time', 'value': 'value'}
2845 _toPy
= {'key': 'key', 'time': 'time', 'value': 'value'}
2846 def __init__(self
, key
=None, time
=None, value
=None):
2857 class MetricResults(Type
):
2858 _toSchema
= {'results': 'results'}
2859 _toPy
= {'results': 'results'}
2860 def __init__(self
, results
=None):
2862 results : typing.Sequence[~EntityMetrics]
2864 self
.results
= [EntityMetrics
.from_json(o
) for o
in results
or []]
2867 class PhaseResult(Type
):
2868 _toSchema
= {'error': 'Error', 'phase': 'phase'}
2869 _toPy
= {'Error': 'error', 'phase': 'phase'}
2870 def __init__(self
, error
=None, phase
=None):
2875 self
.error
= Error
.from_json(error
) if error
else None
2879 class PhaseResults(Type
):
2880 _toSchema
= {'results': 'Results'}
2881 _toPy
= {'Results': 'results'}
2882 def __init__(self
, results
=None):
2884 results : typing.Sequence[~PhaseResult]
2886 self
.results
= [PhaseResult
.from_json(o
) for o
in results
or []]
2889 class FullMigrationStatus(Type
):
2890 _toSchema
= {'attempt': 'attempt', 'phase': 'phase', 'spec': 'spec'}
2891 _toPy
= {'attempt': 'attempt', 'phase': 'phase', 'spec': 'spec'}
2892 def __init__(self
, attempt
=None, phase
=None, spec
=None):
2896 spec : ModelMigrationSpec
2898 self
.attempt
= attempt
2900 self
.spec
= ModelMigrationSpec
.from_json(spec
) if spec
else None
2903 class SerializedModel(Type
):
2904 _toSchema
= {'bytes_': 'bytes'}
2905 _toPy
= {'bytes': 'bytes_'}
2906 def __init__(self
, bytes_
=None):
2908 bytes_ : typing.Sequence[int]
2910 self
.bytes_
= bytes_
2913 class SetMigrationPhaseArgs(Type
):
2914 _toSchema
= {'phase': 'phase'}
2915 _toPy
= {'phase': 'phase'}
2916 def __init__(self
, phase
=None):
2923 class MigrationStatus(Type
):
2924 _toSchema
= {'source_api_addrs': 'source-api-addrs', 'attempt': 'attempt', 'target_api_addrs': 'target-api-addrs', 'source_ca_cert': 'source-ca-cert', 'phase': 'phase', 'target_ca_cert': 'target-ca-cert'}
2925 _toPy
= {'attempt': 'attempt', 'target-api-addrs': 'target_api_addrs', 'target-ca-cert': 'target_ca_cert', 'phase': 'phase', 'source-ca-cert': 'source_ca_cert', 'source-api-addrs': 'source_api_addrs'}
2926 def __init__(self
, attempt
=None, phase
=None, source_api_addrs
=None, source_ca_cert
=None, target_api_addrs
=None, target_ca_cert
=None):
2930 source_api_addrs : typing.Sequence[str]
2931 source_ca_cert : str
2932 target_api_addrs : typing.Sequence[str]
2933 target_ca_cert : str
2935 self
.attempt
= attempt
2937 self
.source_api_addrs
= source_api_addrs
2938 self
.source_ca_cert
= source_ca_cert
2939 self
.target_api_addrs
= target_api_addrs
2940 self
.target_ca_cert
= target_ca_cert
2943 class ModelArgs(Type
):
2944 _toSchema
= {'model_tag': 'model-tag'}
2945 _toPy
= {'model-tag': 'model_tag'}
2946 def __init__(self
, model_tag
=None):
2950 self
.model_tag
= model_tag
2953 class ModelCreateArgs(Type
):
2954 _toSchema
= {'config': 'Config', 'account': 'Account', 'ownertag': 'OwnerTag'}
2955 _toPy
= {'Account': 'account', 'Config': 'config', 'OwnerTag': 'ownertag'}
2956 def __init__(self
, account
=None, config
=None, ownertag
=None):
2958 account : typing.Mapping[str, typing.Any]
2959 config : typing.Mapping[str, typing.Any]
2962 self
.account
= account
2963 self
.config
= config
2964 self
.ownertag
= ownertag
2967 class ModelInfoResult(Type
):
2968 _toSchema
= {'error': 'error', 'result': 'result'}
2969 _toPy
= {'error': 'error', 'result': 'result'}
2970 def __init__(self
, error
=None, result
=None):
2975 self
.error
= Error
.from_json(error
) if error
else None
2976 self
.result
= ModelInfo
.from_json(result
) if result
else None
2979 class ModelInfoResults(Type
):
2980 _toSchema
= {'results': 'results'}
2981 _toPy
= {'results': 'results'}
2982 def __init__(self
, results
=None):
2984 results : typing.Sequence[~ModelInfoResult]
2986 self
.results
= [ModelInfoResult
.from_json(o
) for o
in results
or []]
2989 class ModelSkeletonConfigArgs(Type
):
2990 _toSchema
= {'provider': 'Provider', 'region': 'Region'}
2991 _toPy
= {'Region': 'region', 'Provider': 'provider'}
2992 def __init__(self
, provider
=None, region
=None):
2997 self
.provider
= provider
2998 self
.region
= region
3001 class ModifyModelAccess(Type
):
3002 _toSchema
= {'user_tag': 'user-tag', 'access': 'access', 'action': 'action', 'model_tag': 'model-tag'}
3003 _toPy
= {'model-tag': 'model_tag', 'access': 'access', 'action': 'action', 'user-tag': 'user_tag'}
3004 def __init__(self
, access
=None, action
=None, model_tag
=None, user_tag
=None):
3011 self
.access
= access
3012 self
.action
= action
3013 self
.model_tag
= model_tag
3014 self
.user_tag
= user_tag
3017 class ModifyModelAccessRequest(Type
):
3018 _toSchema
= {'changes': 'changes'}
3019 _toPy
= {'changes': 'changes'}
3020 def __init__(self
, changes
=None):
3022 changes : typing.Sequence[~ModifyModelAccess]
3024 self
.changes
= [ModifyModelAccess
.from_json(o
) for o
in changes
or []]
3027 class ConstraintsResult(Type
):
3028 _toSchema
= {'error': 'Error', 'constraints': 'Constraints'}
3029 _toPy
= {'Constraints': 'constraints', 'Error': 'error'}
3030 def __init__(self
, constraints
=None, error
=None):
3035 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
3036 self
.error
= Error
.from_json(error
) if error
else None
3039 class ConstraintsResults(Type
):
3040 _toSchema
= {'results': 'Results'}
3041 _toPy
= {'Results': 'results'}
3042 def __init__(self
, results
=None):
3044 results : typing.Sequence[~ConstraintsResult]
3046 self
.results
= [ConstraintsResult
.from_json(o
) for o
in results
or []]
3049 class ContainerConfig(Type
):
3050 _toSchema
= {'sslhostnameverification': 'SSLHostnameVerification', 'authorizedkeys': 'AuthorizedKeys', 'aptproxy': 'AptProxy', 'updatebehavior': 'UpdateBehavior', 'providertype': 'ProviderType', 'allowlxcloopmounts': 'AllowLXCLoopMounts', 'proxy': 'Proxy', 'aptmirror': 'AptMirror', 'preferipv6': 'PreferIPv6'}
3051 _toPy
= {'AuthorizedKeys': 'authorizedkeys', 'AptMirror': 'aptmirror', 'AptProxy': 'aptproxy', 'SSLHostnameVerification': 'sslhostnameverification', 'PreferIPv6': 'preferipv6', 'AllowLXCLoopMounts': 'allowlxcloopmounts', 'UpdateBehavior': 'updatebehavior', 'Proxy': 'proxy', 'ProviderType': 'providertype'}
3052 def __init__(self
, allowlxcloopmounts
=None, aptmirror
=None, aptproxy
=None, authorizedkeys
=None, preferipv6
=None, providertype
=None, proxy
=None, sslhostnameverification
=None, updatebehavior
=None):
3054 allowlxcloopmounts : bool
3057 authorizedkeys : str
3061 sslhostnameverification : bool
3062 updatebehavior : UpdateBehavior
3064 self
.allowlxcloopmounts
= allowlxcloopmounts
3065 self
.aptmirror
= aptmirror
3066 self
.aptproxy
= Settings
.from_json(aptproxy
) if aptproxy
else None
3067 self
.authorizedkeys
= authorizedkeys
3068 self
.preferipv6
= preferipv6
3069 self
.providertype
= providertype
3070 self
.proxy
= Settings
.from_json(proxy
) if proxy
else None
3071 self
.sslhostnameverification
= sslhostnameverification
3072 self
.updatebehavior
= UpdateBehavior
.from_json(updatebehavior
) if updatebehavior
else None
3075 class ContainerManagerConfig(Type
):
3076 _toSchema
= {'managerconfig': 'ManagerConfig'}
3077 _toPy
= {'ManagerConfig': 'managerconfig'}
3078 def __init__(self
, managerconfig
=None):
3080 managerconfig : typing.Mapping[str, str]
3082 self
.managerconfig
= managerconfig
3085 class ContainerManagerConfigParams(Type
):
3086 _toSchema
= {'type_': 'Type'}
3087 _toPy
= {'Type': 'type_'}
3088 def __init__(self
, type_
=None):
3095 class DistributionGroupResult(Type
):
3096 _toSchema
= {'error': 'Error', 'result': 'Result'}
3097 _toPy
= {'Error': 'error', 'Result': 'result'}
3098 def __init__(self
, error
=None, result
=None):
3101 result : typing.Sequence[str]
3103 self
.error
= Error
.from_json(error
) if error
else None
3104 self
.result
= result
3107 class DistributionGroupResults(Type
):
3108 _toSchema
= {'results': 'Results'}
3109 _toPy
= {'Results': 'results'}
3110 def __init__(self
, results
=None):
3112 results : typing.Sequence[~DistributionGroupResult]
3114 self
.results
= [DistributionGroupResult
.from_json(o
) for o
in results
or []]
3117 class InstanceInfo(Type
):
3118 _toSchema
= {'nonce': 'Nonce', 'networkconfig': 'NetworkConfig', 'tag': 'Tag', 'characteristics': 'Characteristics', 'volumeattachments': 'VolumeAttachments', 'volumes': 'Volumes', 'instanceid': 'InstanceId'}
3119 _toPy
= {'Tag': 'tag', 'InstanceId': 'instanceid', 'Volumes': 'volumes', 'Characteristics': 'characteristics', 'Nonce': 'nonce', 'NetworkConfig': 'networkconfig', 'VolumeAttachments': 'volumeattachments'}
3120 def __init__(self
, characteristics
=None, instanceid
=None, networkconfig
=None, nonce
=None, tag
=None, volumeattachments
=None, volumes
=None):
3122 characteristics : HardwareCharacteristics
3124 networkconfig : typing.Sequence[~NetworkConfig]
3127 volumeattachments : typing.Mapping[str, ~VolumeAttachmentInfo]
3128 volumes : typing.Sequence[~Volume]
3130 self
.characteristics
= HardwareCharacteristics
.from_json(characteristics
) if characteristics
else None
3131 self
.instanceid
= instanceid
3132 self
.networkconfig
= [NetworkConfig
.from_json(o
) for o
in networkconfig
or []]
3135 self
.volumeattachments
= {k
: VolumeAttachmentInfo
.from_json(v
) for k
, v
in (volumeattachments
or dict()).items()}
3136 self
.volumes
= [Volume
.from_json(o
) for o
in volumes
or []]
3139 class InstancesInfo(Type
):
3140 _toSchema
= {'machines': 'Machines'}
3141 _toPy
= {'Machines': 'machines'}
3142 def __init__(self
, machines
=None):
3144 machines : typing.Sequence[~InstanceInfo]
3146 self
.machines
= [InstanceInfo
.from_json(o
) for o
in machines
or []]
3149 class MachineContainers(Type
):
3150 _toSchema
= {'machinetag': 'MachineTag', 'containertypes': 'ContainerTypes'}
3151 _toPy
= {'ContainerTypes': 'containertypes', 'MachineTag': 'machinetag'}
3152 def __init__(self
, containertypes
=None, machinetag
=None):
3154 containertypes : typing.Sequence[str]
3157 self
.containertypes
= containertypes
3158 self
.machinetag
= machinetag
3161 class MachineContainersParams(Type
):
3162 _toSchema
= {'params': 'Params'}
3163 _toPy
= {'Params': 'params'}
3164 def __init__(self
, params
=None):
3166 params : typing.Sequence[~MachineContainers]
3168 self
.params
= [MachineContainers
.from_json(o
) for o
in params
or []]
3171 class MachineNetworkConfigResult(Type
):
3172 _toSchema
= {'info': 'Info', 'error': 'Error'}
3173 _toPy
= {'Info': 'info', 'Error': 'error'}
3174 def __init__(self
, error
=None, info
=None):
3177 info : typing.Sequence[~NetworkConfig]
3179 self
.error
= Error
.from_json(error
) if error
else None
3180 self
.info
= [NetworkConfig
.from_json(o
) for o
in info
or []]
3183 class MachineNetworkConfigResults(Type
):
3184 _toSchema
= {'results': 'Results'}
3185 _toPy
= {'Results': 'results'}
3186 def __init__(self
, results
=None):
3188 results : typing.Sequence[~MachineNetworkConfigResult]
3190 self
.results
= [MachineNetworkConfigResult
.from_json(o
) for o
in results
or []]
3193 class ProvisioningInfo(Type
):
3194 _toSchema
= {'jobs': 'Jobs', 'volumes': 'Volumes', 'tags': 'Tags', 'endpointbindings': 'EndpointBindings', 'placement': 'Placement', 'series': 'Series', 'constraints': 'Constraints', 'subnetstozones': 'SubnetsToZones', 'imagemetadata': 'ImageMetadata'}
3195 _toPy
= {'Constraints': 'constraints', 'EndpointBindings': 'endpointbindings', 'Volumes': 'volumes', 'Placement': 'placement', 'SubnetsToZones': 'subnetstozones', 'Tags': 'tags', 'Jobs': 'jobs', 'ImageMetadata': 'imagemetadata', 'Series': 'series'}
3196 def __init__(self
, constraints
=None, endpointbindings
=None, imagemetadata
=None, jobs
=None, placement
=None, series
=None, subnetstozones
=None, tags
=None, volumes
=None):
3199 endpointbindings : typing.Mapping[str, str]
3200 imagemetadata : typing.Sequence[~CloudImageMetadata]
3201 jobs : typing.Sequence[str]
3204 subnetstozones : typing.Sequence[str]
3205 tags : typing.Mapping[str, str]
3206 volumes : typing.Sequence[~VolumeParams]
3208 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
3209 self
.endpointbindings
= endpointbindings
3210 self
.imagemetadata
= [CloudImageMetadata
.from_json(o
) for o
in imagemetadata
or []]
3212 self
.placement
= placement
3213 self
.series
= series
3214 self
.subnetstozones
= subnetstozones
3216 self
.volumes
= [VolumeParams
.from_json(o
) for o
in volumes
or []]
3219 class ProvisioningInfoResult(Type
):
3220 _toSchema
= {'error': 'Error', 'result': 'Result'}
3221 _toPy
= {'Error': 'error', 'Result': 'result'}
3222 def __init__(self
, error
=None, result
=None):
3225 result : ProvisioningInfo
3227 self
.error
= Error
.from_json(error
) if error
else None
3228 self
.result
= ProvisioningInfo
.from_json(result
) if result
else None
3231 class ProvisioningInfoResults(Type
):
3232 _toSchema
= {'results': 'Results'}
3233 _toPy
= {'Results': 'results'}
3234 def __init__(self
, results
=None):
3236 results : typing.Sequence[~ProvisioningInfoResult]
3238 self
.results
= [ProvisioningInfoResult
.from_json(o
) for o
in results
or []]
3241 class Settings(Type
):
3242 _toSchema
= {'https': 'Https', 'noproxy': 'NoProxy', 'ftp': 'Ftp', 'http': 'Http'}
3243 _toPy
= {'Http': 'http', 'Ftp': 'ftp', 'Https': 'https', 'NoProxy': 'noproxy'}
3244 def __init__(self
, ftp
=None, http
=None, https
=None, noproxy
=None):
3254 self
.noproxy
= noproxy
3257 class ToolsResult(Type
):
3258 _toSchema
= {'error': 'Error', 'disablesslhostnameverification': 'DisableSSLHostnameVerification', 'toolslist': 'ToolsList'}
3259 _toPy
= {'Error': 'error', 'ToolsList': 'toolslist', 'DisableSSLHostnameVerification': 'disablesslhostnameverification'}
3260 def __init__(self
, disablesslhostnameverification
=None, error
=None, toolslist
=None):
3262 disablesslhostnameverification : bool
3264 toolslist : typing.Sequence[~Tools]
3266 self
.disablesslhostnameverification
= disablesslhostnameverification
3267 self
.error
= Error
.from_json(error
) if error
else None
3268 self
.toolslist
= [Tools
.from_json(o
) for o
in toolslist
or []]
3271 class ToolsResults(Type
):
3272 _toSchema
= {'results': 'Results'}
3273 _toPy
= {'Results': 'results'}
3274 def __init__(self
, results
=None):
3276 results : typing.Sequence[~ToolsResult]
3278 self
.results
= [ToolsResult
.from_json(o
) for o
in results
or []]
3281 class UpdateBehavior(Type
):
3282 _toSchema
= {'enableosupgrade': 'EnableOSUpgrade', 'enableosrefreshupdate': 'EnableOSRefreshUpdate'}
3283 _toPy
= {'EnableOSUpgrade': 'enableosupgrade', 'EnableOSRefreshUpdate': 'enableosrefreshupdate'}
3284 def __init__(self
, enableosrefreshupdate
=None, enableosupgrade
=None):
3286 enableosrefreshupdate : bool
3287 enableosupgrade : bool
3289 self
.enableosrefreshupdate
= enableosrefreshupdate
3290 self
.enableosupgrade
= enableosupgrade
3294 _toSchema
= {'info': 'info', 'volumetag': 'volumetag'}
3295 _toPy
= {'info': 'info', 'volumetag': 'volumetag'}
3296 def __init__(self
, info
=None, volumetag
=None):
3301 self
.info
= VolumeInfo
.from_json(info
) if info
else None
3302 self
.volumetag
= volumetag
3305 class VolumeAttachmentInfo(Type
):
3306 _toSchema
= {'devicename': 'devicename', 'devicelink': 'devicelink', 'read_only': 'read-only', 'busaddress': 'busaddress'}
3307 _toPy
= {'read-only': 'read_only', 'devicename': 'devicename', 'devicelink': 'devicelink', 'busaddress': 'busaddress'}
3308 def __init__(self
, busaddress
=None, devicelink
=None, devicename
=None, read_only
=None):
3315 self
.busaddress
= busaddress
3316 self
.devicelink
= devicelink
3317 self
.devicename
= devicename
3318 self
.read_only
= read_only
3321 class VolumeAttachmentParams(Type
):
3322 _toSchema
= {'volumeid': 'volumeid', 'instanceid': 'instanceid', 'volumetag': 'volumetag', 'machinetag': 'machinetag', 'provider': 'provider', 'read_only': 'read-only'}
3323 _toPy
= {'volumeid': 'volumeid', 'instanceid': 'instanceid', 'read-only': 'read_only', 'volumetag': 'volumetag', 'machinetag': 'machinetag', 'provider': 'provider'}
3324 def __init__(self
, instanceid
=None, machinetag
=None, provider
=None, read_only
=None, volumeid
=None, volumetag
=None):
3333 self
.instanceid
= instanceid
3334 self
.machinetag
= machinetag
3335 self
.provider
= provider
3336 self
.read_only
= read_only
3337 self
.volumeid
= volumeid
3338 self
.volumetag
= volumetag
3341 class VolumeInfo(Type
):
3342 _toSchema
= {'volumeid': 'volumeid', 'hardwareid': 'hardwareid', 'persistent': 'persistent', 'size': 'size'}
3343 _toPy
= {'volumeid': 'volumeid', 'hardwareid': 'hardwareid', 'persistent': 'persistent', 'size': 'size'}
3344 def __init__(self
, hardwareid
=None, persistent
=None, size
=None, volumeid
=None):
3351 self
.hardwareid
= hardwareid
3352 self
.persistent
= persistent
3354 self
.volumeid
= volumeid
3357 class VolumeParams(Type
):
3358 _toSchema
= {'volumetag': 'volumetag', 'tags': 'tags', 'attachment': 'attachment', 'provider': 'provider', 'size': 'size', 'attributes': 'attributes'}
3359 _toPy
= {'volumetag': 'volumetag', 'tags': 'tags', 'attachment': 'attachment', 'provider': 'provider', 'size': 'size', 'attributes': 'attributes'}
3360 def __init__(self
, attachment
=None, attributes
=None, provider
=None, size
=None, tags
=None, volumetag
=None):
3362 attachment : VolumeAttachmentParams
3363 attributes : typing.Mapping[str, typing.Any]
3366 tags : typing.Mapping[str, str]
3369 self
.attachment
= VolumeAttachmentParams
.from_json(attachment
) if attachment
else None
3370 self
.attributes
= attributes
3371 self
.provider
= provider
3374 self
.volumetag
= volumetag
3377 class WatchContainer(Type
):
3378 _toSchema
= {'containertype': 'ContainerType', 'machinetag': 'MachineTag'}
3379 _toPy
= {'MachineTag': 'machinetag', 'ContainerType': 'containertype'}
3380 def __init__(self
, containertype
=None, machinetag
=None):
3385 self
.containertype
= containertype
3386 self
.machinetag
= machinetag
3389 class WatchContainers(Type
):
3390 _toSchema
= {'params': 'Params'}
3391 _toPy
= {'Params': 'params'}
3392 def __init__(self
, params
=None):
3394 params : typing.Sequence[~WatchContainer]
3396 self
.params
= [WatchContainer
.from_json(o
) for o
in params
or []]
3399 class ProxyConfig(Type
):
3400 _toSchema
= {'https': 'HTTPS', 'noproxy': 'NoProxy', 'ftp': 'FTP', 'http': 'HTTP'}
3401 _toPy
= {'HTTP': 'http', 'HTTPS': 'https', 'NoProxy': 'noproxy', 'FTP': 'ftp'}
3402 def __init__(self
, ftp
=None, http
=None, https
=None, noproxy
=None):
3412 self
.noproxy
= noproxy
3415 class ProxyConfigResult(Type
):
3416 _toSchema
= {'proxysettings': 'ProxySettings', 'error': 'Error', 'aptproxysettings': 'APTProxySettings'}
3417 _toPy
= {'Error': 'error', 'APTProxySettings': 'aptproxysettings', 'ProxySettings': 'proxysettings'}
3418 def __init__(self
, aptproxysettings
=None, error
=None, proxysettings
=None):
3420 aptproxysettings : ProxyConfig
3422 proxysettings : ProxyConfig
3424 self
.aptproxysettings
= ProxyConfig
.from_json(aptproxysettings
) if aptproxysettings
else None
3425 self
.error
= Error
.from_json(error
) if error
else None
3426 self
.proxysettings
= ProxyConfig
.from_json(proxysettings
) if proxysettings
else None
3429 class ProxyConfigResults(Type
):
3430 _toSchema
= {'results': 'Results'}
3431 _toPy
= {'Results': 'results'}
3432 def __init__(self
, results
=None):
3434 results : typing.Sequence[~ProxyConfigResult]
3436 self
.results
= [ProxyConfigResult
.from_json(o
) for o
in results
or []]
3439 class RebootActionResult(Type
):
3440 _toSchema
= {'error': 'error', 'result': 'result'}
3441 _toPy
= {'error': 'error', 'result': 'result'}
3442 def __init__(self
, error
=None, result
=None):
3447 self
.error
= Error
.from_json(error
) if error
else None
3448 self
.result
= result
3451 class RebootActionResults(Type
):
3452 _toSchema
= {'results': 'results'}
3453 _toPy
= {'results': 'results'}
3454 def __init__(self
, results
=None):
3456 results : typing.Sequence[~RebootActionResult]
3458 self
.results
= [RebootActionResult
.from_json(o
) for o
in results
or []]
3461 class RelationUnitsChange(Type
):
3462 _toSchema
= {'departed': 'Departed', 'changed': 'Changed'}
3463 _toPy
= {'Departed': 'departed', 'Changed': 'changed'}
3464 def __init__(self
, changed
=None, departed
=None):
3466 changed : typing.Mapping[str, ~UnitSettings]
3467 departed : typing.Sequence[str]
3469 self
.changed
= {k
: UnitSettings
.from_json(v
) for k
, v
in (changed
or dict()).items()}
3470 self
.departed
= departed
3473 class RelationUnitsWatchResult(Type
):
3474 _toSchema
= {'changes': 'Changes', 'error': 'Error', 'relationunitswatcherid': 'RelationUnitsWatcherId'}
3475 _toPy
= {'Changes': 'changes', 'Error': 'error', 'RelationUnitsWatcherId': 'relationunitswatcherid'}
3476 def __init__(self
, changes
=None, error
=None, relationunitswatcherid
=None):
3478 changes : RelationUnitsChange
3480 relationunitswatcherid : str
3482 self
.changes
= RelationUnitsChange
.from_json(changes
) if changes
else None
3483 self
.error
= Error
.from_json(error
) if error
else None
3484 self
.relationunitswatcherid
= relationunitswatcherid
3487 class UnitSettings(Type
):
3488 _toSchema
= {'version': 'Version'}
3489 _toPy
= {'Version': 'version'}
3490 def __init__(self
, version
=None):
3494 self
.version
= version
3497 class RetryStrategy(Type
):
3498 _toSchema
= {'maxretrytime': 'MaxRetryTime', 'minretrytime': 'MinRetryTime', 'jitterretrytime': 'JitterRetryTime', 'shouldretry': 'ShouldRetry', 'retrytimefactor': 'RetryTimeFactor'}
3499 _toPy
= {'MinRetryTime': 'minretrytime', 'ShouldRetry': 'shouldretry', 'MaxRetryTime': 'maxretrytime', 'RetryTimeFactor': 'retrytimefactor', 'JitterRetryTime': 'jitterretrytime'}
3500 def __init__(self
, jitterretrytime
=None, maxretrytime
=None, minretrytime
=None, retrytimefactor
=None, shouldretry
=None):
3502 jitterretrytime : bool
3505 retrytimefactor : int
3508 self
.jitterretrytime
= jitterretrytime
3509 self
.maxretrytime
= maxretrytime
3510 self
.minretrytime
= minretrytime
3511 self
.retrytimefactor
= retrytimefactor
3512 self
.shouldretry
= shouldretry
3515 class RetryStrategyResult(Type
):
3516 _toSchema
= {'error': 'Error', 'result': 'Result'}
3517 _toPy
= {'Error': 'error', 'Result': 'result'}
3518 def __init__(self
, error
=None, result
=None):
3521 result : RetryStrategy
3523 self
.error
= Error
.from_json(error
) if error
else None
3524 self
.result
= RetryStrategy
.from_json(result
) if result
else None
3527 class RetryStrategyResults(Type
):
3528 _toSchema
= {'results': 'Results'}
3529 _toPy
= {'Results': 'results'}
3530 def __init__(self
, results
=None):
3532 results : typing.Sequence[~RetryStrategyResult]
3534 self
.results
= [RetryStrategyResult
.from_json(o
) for o
in results
or []]
3537 class SSHAddressResult(Type
):
3538 _toSchema
= {'error': 'error', 'address': 'address'}
3539 _toPy
= {'error': 'error', 'address': 'address'}
3540 def __init__(self
, address
=None, error
=None):
3545 self
.address
= address
3546 self
.error
= Error
.from_json(error
) if error
else None
3549 class SSHAddressResults(Type
):
3550 _toSchema
= {'results': 'results'}
3551 _toPy
= {'results': 'results'}
3552 def __init__(self
, results
=None):
3554 results : typing.Sequence[~SSHAddressResult]
3556 self
.results
= [SSHAddressResult
.from_json(o
) for o
in results
or []]
3559 class SSHProxyResult(Type
):
3560 _toSchema
= {'use_proxy': 'use-proxy'}
3561 _toPy
= {'use-proxy': 'use_proxy'}
3562 def __init__(self
, use_proxy
=None):
3566 self
.use_proxy
= use_proxy
3569 class SSHPublicKeysResult(Type
):
3570 _toSchema
= {'error': 'error', 'public_keys': 'public-keys'}
3571 _toPy
= {'error': 'error', 'public-keys': 'public_keys'}
3572 def __init__(self
, error
=None, public_keys
=None):
3575 public_keys : typing.Sequence[str]
3577 self
.error
= Error
.from_json(error
) if error
else None
3578 self
.public_keys
= public_keys
3581 class SSHPublicKeysResults(Type
):
3582 _toSchema
= {'results': 'results'}
3583 _toPy
= {'results': 'results'}
3584 def __init__(self
, results
=None):
3586 results : typing.Sequence[~SSHPublicKeysResult]
3588 self
.results
= [SSHPublicKeysResult
.from_json(o
) for o
in results
or []]
3591 class AddRelation(Type
):
3592 _toSchema
= {'endpoints': 'Endpoints'}
3593 _toPy
= {'Endpoints': 'endpoints'}
3594 def __init__(self
, endpoints
=None):
3596 endpoints : typing.Sequence[str]
3598 self
.endpoints
= endpoints
3601 class AddRelationResults(Type
):
3602 _toSchema
= {'endpoints': 'Endpoints'}
3603 _toPy
= {'Endpoints': 'endpoints'}
3604 def __init__(self
, endpoints
=None):
3606 endpoints : typing.Mapping[str, ~Relation]
3608 self
.endpoints
= {k
: Relation
.from_json(v
) for k
, v
in (endpoints
or dict()).items()}
3611 class AddServiceUnits(Type
):
3612 _toSchema
= {'servicename': 'ServiceName', 'placement': 'Placement', 'numunits': 'NumUnits'}
3613 _toPy
= {'ServiceName': 'servicename', 'Placement': 'placement', 'NumUnits': 'numunits'}
3614 def __init__(self
, numunits
=None, placement
=None, servicename
=None):
3617 placement : typing.Sequence[~Placement]
3620 self
.numunits
= numunits
3621 self
.placement
= [Placement
.from_json(o
) for o
in placement
or []]
3622 self
.servicename
= servicename
3625 class AddServiceUnitsResults(Type
):
3626 _toSchema
= {'units': 'Units'}
3627 _toPy
= {'Units': 'units'}
3628 def __init__(self
, units
=None):
3630 units : typing.Sequence[str]
3635 class DestroyRelation(Type
):
3636 _toSchema
= {'endpoints': 'Endpoints'}
3637 _toPy
= {'Endpoints': 'endpoints'}
3638 def __init__(self
, endpoints
=None):
3640 endpoints : typing.Sequence[str]
3642 self
.endpoints
= endpoints
3645 class DestroyServiceUnits(Type
):
3646 _toSchema
= {'unitnames': 'UnitNames'}
3647 _toPy
= {'UnitNames': 'unitnames'}
3648 def __init__(self
, unitnames
=None):
3650 unitnames : typing.Sequence[str]
3652 self
.unitnames
= unitnames
3655 class GetServiceConstraints(Type
):
3656 _toSchema
= {'servicename': 'ServiceName'}
3657 _toPy
= {'ServiceName': 'servicename'}
3658 def __init__(self
, servicename
=None):
3662 self
.servicename
= servicename
3665 class Relation(Type
):
3666 _toSchema
= {'name': 'Name', 'limit': 'Limit', 'role': 'Role', 'optional': 'Optional', 'scope': 'Scope', 'interface': 'Interface'}
3667 _toPy
= {'Optional': 'optional', 'Limit': 'limit', 'Scope': 'scope', 'Name': 'name', 'Role': 'role', 'Interface': 'interface'}
3668 def __init__(self
, interface
=None, limit
=None, name
=None, optional
=None, role
=None, scope
=None):
3677 self
.interface
= interface
3680 self
.optional
= optional
3685 class ServiceCharmRelations(Type
):
3686 _toSchema
= {'servicename': 'ServiceName'}
3687 _toPy
= {'ServiceName': 'servicename'}
3688 def __init__(self
, servicename
=None):
3692 self
.servicename
= servicename
3695 class ServiceCharmRelationsResults(Type
):
3696 _toSchema
= {'charmrelations': 'CharmRelations'}
3697 _toPy
= {'CharmRelations': 'charmrelations'}
3698 def __init__(self
, charmrelations
=None):
3700 charmrelations : typing.Sequence[str]
3702 self
.charmrelations
= charmrelations
3705 class ServiceDeploy(Type
):
3706 _toSchema
= {'configyaml': 'ConfigYAML', 'storage': 'Storage', 'endpointbindings': 'EndpointBindings', 'resources': 'Resources', 'servicename': 'ServiceName', 'series': 'Series', 'charmurl': 'CharmUrl', 'config': 'Config', 'channel': 'Channel', 'placement': 'Placement', 'numunits': 'NumUnits', 'constraints': 'Constraints'}
3707 _toPy
= {'ServiceName': 'servicename', 'Constraints': 'constraints', 'ConfigYAML': 'configyaml', 'Resources': 'resources', 'Channel': 'channel', 'Storage': 'storage', 'Config': 'config', 'Placement': 'placement', 'EndpointBindings': 'endpointbindings', 'NumUnits': 'numunits', 'CharmUrl': 'charmurl', 'Series': 'series'}
3708 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):
3712 config : typing.Mapping[str, str]
3715 endpointbindings : typing.Mapping[str, str]
3717 placement : typing.Sequence[~Placement]
3718 resources : typing.Mapping[str, str]
3721 storage : typing.Mapping[str, ~Constraints]
3723 self
.channel
= channel
3724 self
.charmurl
= charmurl
3725 self
.config
= config
3726 self
.configyaml
= configyaml
3727 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
3728 self
.endpointbindings
= endpointbindings
3729 self
.numunits
= numunits
3730 self
.placement
= [Placement
.from_json(o
) for o
in placement
or []]
3731 self
.resources
= resources
3732 self
.series
= series
3733 self
.servicename
= servicename
3734 self
.storage
= {k
: Constraints
.from_json(v
) for k
, v
in (storage
or dict()).items()}
3737 class ServiceDestroy(Type
):
3738 _toSchema
= {'servicename': 'ServiceName'}
3739 _toPy
= {'ServiceName': 'servicename'}
3740 def __init__(self
, servicename
=None):
3744 self
.servicename
= servicename
3747 class ServiceExpose(Type
):
3748 _toSchema
= {'servicename': 'ServiceName'}
3749 _toPy
= {'ServiceName': 'servicename'}
3750 def __init__(self
, servicename
=None):
3754 self
.servicename
= servicename
3757 class ServiceGet(Type
):
3758 _toSchema
= {'servicename': 'ServiceName'}
3759 _toPy
= {'ServiceName': 'servicename'}
3760 def __init__(self
, servicename
=None):
3764 self
.servicename
= servicename
3767 class ServiceGetResults(Type
):
3768 _toSchema
= {'config': 'Config', 'charm': 'Charm', 'constraints': 'Constraints', 'service': 'Service'}
3769 _toPy
= {'Charm': 'charm', 'Constraints': 'constraints', 'Config': 'config', 'Service': 'service'}
3770 def __init__(self
, charm
=None, config
=None, constraints
=None, service
=None):
3773 config : typing.Mapping[str, typing.Any]
3778 self
.config
= config
3779 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
3780 self
.service
= service
3783 class ServiceMetricCredential(Type
):
3784 _toSchema
= {'metriccredentials': 'MetricCredentials', 'servicename': 'ServiceName'}
3785 _toPy
= {'MetricCredentials': 'metriccredentials', 'ServiceName': 'servicename'}
3786 def __init__(self
, metriccredentials
=None, servicename
=None):
3788 metriccredentials : typing.Sequence[int]
3791 self
.metriccredentials
= metriccredentials
3792 self
.servicename
= servicename
3795 class ServiceMetricCredentials(Type
):
3796 _toSchema
= {'creds': 'Creds'}
3797 _toPy
= {'Creds': 'creds'}
3798 def __init__(self
, creds
=None):
3800 creds : typing.Sequence[~ServiceMetricCredential]
3802 self
.creds
= [ServiceMetricCredential
.from_json(o
) for o
in creds
or []]
3805 class ServiceSet(Type
):
3806 _toSchema
= {'options': 'Options', 'servicename': 'ServiceName'}
3807 _toPy
= {'ServiceName': 'servicename', 'Options': 'options'}
3808 def __init__(self
, options
=None, servicename
=None):
3810 options : typing.Mapping[str, str]
3813 self
.options
= options
3814 self
.servicename
= servicename
3817 class ServiceSetCharm(Type
):
3818 _toSchema
= {'charmurl': 'charmurl', 'forceseries': 'forceseries', 'forceunits': 'forceunits', 'resourceids': 'resourceids', 'cs_channel': 'cs-channel', 'servicename': 'servicename'}
3819 _toPy
= {'charmurl': 'charmurl', 'forceseries': 'forceseries', 'forceunits': 'forceunits', 'cs-channel': 'cs_channel', 'resourceids': 'resourceids', 'servicename': 'servicename'}
3820 def __init__(self
, charmurl
=None, cs_channel
=None, forceseries
=None, forceunits
=None, resourceids
=None, servicename
=None):
3826 resourceids : typing.Mapping[str, str]
3829 self
.charmurl
= charmurl
3830 self
.cs_channel
= cs_channel
3831 self
.forceseries
= forceseries
3832 self
.forceunits
= forceunits
3833 self
.resourceids
= resourceids
3834 self
.servicename
= servicename
3837 class ServiceUnexpose(Type
):
3838 _toSchema
= {'servicename': 'ServiceName'}
3839 _toPy
= {'ServiceName': 'servicename'}
3840 def __init__(self
, servicename
=None):
3844 self
.servicename
= servicename
3847 class ServiceUnset(Type
):
3848 _toSchema
= {'options': 'Options', 'servicename': 'ServiceName'}
3849 _toPy
= {'ServiceName': 'servicename', 'Options': 'options'}
3850 def __init__(self
, options
=None, servicename
=None):
3852 options : typing.Sequence[str]
3855 self
.options
= options
3856 self
.servicename
= servicename
3859 class ServiceUpdate(Type
):
3860 _toSchema
= {'charmurl': 'CharmUrl', 'forceseries': 'ForceSeries', 'minunits': 'MinUnits', 'forcecharmurl': 'ForceCharmUrl', 'settingsyaml': 'SettingsYAML', 'settingsstrings': 'SettingsStrings', 'constraints': 'Constraints', 'servicename': 'ServiceName'}
3861 _toPy
= {'ServiceName': 'servicename', 'Constraints': 'constraints', 'SettingsStrings': 'settingsstrings', 'ForceSeries': 'forceseries', 'CharmUrl': 'charmurl', 'SettingsYAML': 'settingsyaml', 'MinUnits': 'minunits', 'ForceCharmUrl': 'forcecharmurl'}
3862 def __init__(self
, charmurl
=None, constraints
=None, forcecharmurl
=None, forceseries
=None, minunits
=None, servicename
=None, settingsstrings
=None, settingsyaml
=None):
3866 forcecharmurl : bool
3870 settingsstrings : typing.Mapping[str, str]
3873 self
.charmurl
= charmurl
3874 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
3875 self
.forcecharmurl
= forcecharmurl
3876 self
.forceseries
= forceseries
3877 self
.minunits
= minunits
3878 self
.servicename
= servicename
3879 self
.settingsstrings
= settingsstrings
3880 self
.settingsyaml
= settingsyaml
3883 class ServicesDeploy(Type
):
3884 _toSchema
= {'services': 'Services'}
3885 _toPy
= {'Services': 'services'}
3886 def __init__(self
, services
=None):
3888 services : typing.Sequence[~ServiceDeploy]
3890 self
.services
= [ServiceDeploy
.from_json(o
) for o
in services
or []]
3893 class SingularClaim(Type
):
3894 _toSchema
= {'modeltag': 'ModelTag', 'controllertag': 'ControllerTag', 'duration': 'Duration'}
3895 _toPy
= {'ControllerTag': 'controllertag', 'Duration': 'duration', 'ModelTag': 'modeltag'}
3896 def __init__(self
, controllertag
=None, duration
=None, modeltag
=None):
3902 self
.controllertag
= controllertag
3903 self
.duration
= duration
3904 self
.modeltag
= modeltag
3907 class SingularClaims(Type
):
3908 _toSchema
= {'claims': 'Claims'}
3909 _toPy
= {'Claims': 'claims'}
3910 def __init__(self
, claims
=None):
3912 claims : typing.Sequence[~SingularClaim]
3914 self
.claims
= [SingularClaim
.from_json(o
) for o
in claims
or []]
3917 class ListSpacesResults(Type
):
3918 _toSchema
= {'results': 'Results'}
3919 _toPy
= {'Results': 'results'}
3920 def __init__(self
, results
=None):
3922 results : typing.Sequence[~Space]
3924 self
.results
= [Space
.from_json(o
) for o
in results
or []]
3928 _toSchema
= {'subnets': 'Subnets', 'error': 'Error', 'name': 'Name'}
3929 _toPy
= {'Error': 'error', 'Subnets': 'subnets', 'Name': 'name'}
3930 def __init__(self
, error
=None, name
=None, subnets
=None):
3934 subnets : typing.Sequence[~Subnet]
3936 self
.error
= Error
.from_json(error
) if error
else None
3938 self
.subnets
= [Subnet
.from_json(o
) for o
in subnets
or []]
3941 class StatusHistoryPruneArgs(Type
):
3942 _toSchema
= {'maxlogsperentity': 'MaxLogsPerEntity'}
3943 _toPy
= {'MaxLogsPerEntity': 'maxlogsperentity'}
3944 def __init__(self
, maxlogsperentity
=None):
3946 maxlogsperentity : int
3948 self
.maxlogsperentity
= maxlogsperentity
3951 class FilesystemAttachmentInfo(Type
):
3952 _toSchema
= {'mountpoint': 'mountpoint', 'read_only': 'read-only'}
3953 _toPy
= {'mountpoint': 'mountpoint', 'read-only': 'read_only'}
3954 def __init__(self
, mountpoint
=None, read_only
=None):
3959 self
.mountpoint
= mountpoint
3960 self
.read_only
= read_only
3963 class FilesystemDetails(Type
):
3964 _toSchema
= {'filesystemtag': 'filesystemtag', 'info': 'info', 'status': 'status', 'volumetag': 'volumetag', 'storage': 'storage', 'machineattachments': 'machineattachments'}
3965 _toPy
= {'filesystemtag': 'filesystemtag', 'info': 'info', 'status': 'status', 'volumetag': 'volumetag', 'storage': 'storage', 'machineattachments': 'machineattachments'}
3966 def __init__(self
, filesystemtag
=None, info
=None, machineattachments
=None, status
=None, storage
=None, volumetag
=None):
3969 info : FilesystemInfo
3970 machineattachments : typing.Mapping[str, ~FilesystemAttachmentInfo]
3971 status : EntityStatus
3972 storage : StorageDetails
3975 self
.filesystemtag
= filesystemtag
3976 self
.info
= FilesystemInfo
.from_json(info
) if info
else None
3977 self
.machineattachments
= {k
: FilesystemAttachmentInfo
.from_json(v
) for k
, v
in (machineattachments
or dict()).items()}
3978 self
.status
= EntityStatus
.from_json(status
) if status
else None
3979 self
.storage
= StorageDetails
.from_json(storage
) if storage
else None
3980 self
.volumetag
= volumetag
3983 class FilesystemDetailsListResult(Type
):
3984 _toSchema
= {'error': 'error', 'result': 'result'}
3985 _toPy
= {'error': 'error', 'result': 'result'}
3986 def __init__(self
, error
=None, result
=None):
3989 result : typing.Sequence[~FilesystemDetails]
3991 self
.error
= Error
.from_json(error
) if error
else None
3992 self
.result
= [FilesystemDetails
.from_json(o
) for o
in result
or []]
3995 class FilesystemDetailsListResults(Type
):
3996 _toSchema
= {'results': 'results'}
3997 _toPy
= {'results': 'results'}
3998 def __init__(self
, results
=None):
4000 results : typing.Sequence[~FilesystemDetailsListResult]
4002 self
.results
= [FilesystemDetailsListResult
.from_json(o
) for o
in results
or []]
4005 class FilesystemFilter(Type
):
4006 _toSchema
= {'machines': 'machines'}
4007 _toPy
= {'machines': 'machines'}
4008 def __init__(self
, machines
=None):
4010 machines : typing.Sequence[str]
4012 self
.machines
= machines
4015 class FilesystemFilters(Type
):
4016 _toSchema
= {'filters': 'filters'}
4017 _toPy
= {'filters': 'filters'}
4018 def __init__(self
, filters
=None):
4020 filters : typing.Sequence[~FilesystemFilter]
4022 self
.filters
= [FilesystemFilter
.from_json(o
) for o
in filters
or []]
4025 class FilesystemInfo(Type
):
4026 _toSchema
= {'filesystemid': 'filesystemid', 'size': 'size'}
4027 _toPy
= {'filesystemid': 'filesystemid', 'size': 'size'}
4028 def __init__(self
, filesystemid
=None, size
=None):
4033 self
.filesystemid
= filesystemid
4037 class StorageAddParams(Type
):
4038 _toSchema
= {'unit': 'unit', 'storagename': 'StorageName', 'storage': 'storage'}
4039 _toPy
= {'unit': 'unit', 'StorageName': 'storagename', 'storage': 'storage'}
4040 def __init__(self
, storagename
=None, storage
=None, unit
=None):
4043 storage : StorageConstraints
4046 self
.storagename
= storagename
4047 self
.storage
= StorageConstraints
.from_json(storage
) if storage
else None
4051 class StorageAttachmentDetails(Type
):
4052 _toSchema
= {'unittag': 'unittag', 'location': 'location', 'machinetag': 'machinetag', 'storagetag': 'storagetag'}
4053 _toPy
= {'unittag': 'unittag', 'location': 'location', 'machinetag': 'machinetag', 'storagetag': 'storagetag'}
4054 def __init__(self
, location
=None, machinetag
=None, storagetag
=None, unittag
=None):
4061 self
.location
= location
4062 self
.machinetag
= machinetag
4063 self
.storagetag
= storagetag
4064 self
.unittag
= unittag
4067 class StorageConstraints(Type
):
4068 _toSchema
= {'pool': 'Pool', 'count': 'Count', 'size': 'Size'}
4069 _toPy
= {'Pool': 'pool', 'Count': 'count', 'Size': 'size'}
4070 def __init__(self
, count
=None, pool
=None, size
=None):
4081 class StorageDetails(Type
):
4082 _toSchema
= {'attachments': 'attachments', 'status': 'status', 'persistent': 'Persistent', 'kind': 'kind', 'ownertag': 'ownertag', 'storagetag': 'storagetag'}
4083 _toPy
= {'Persistent': 'persistent', 'status': 'status', 'attachments': 'attachments', 'kind': 'kind', 'ownertag': 'ownertag', 'storagetag': 'storagetag'}
4084 def __init__(self
, persistent
=None, attachments
=None, kind
=None, ownertag
=None, status
=None, storagetag
=None):
4087 attachments : typing.Mapping[str, ~StorageAttachmentDetails]
4090 status : EntityStatus
4093 self
.persistent
= persistent
4094 self
.attachments
= {k
: StorageAttachmentDetails
.from_json(v
) for k
, v
in (attachments
or dict()).items()}
4096 self
.ownertag
= ownertag
4097 self
.status
= EntityStatus
.from_json(status
) if status
else None
4098 self
.storagetag
= storagetag
4101 class StorageDetailsListResult(Type
):
4102 _toSchema
= {'error': 'error', 'result': 'result'}
4103 _toPy
= {'error': 'error', 'result': 'result'}
4104 def __init__(self
, error
=None, result
=None):
4107 result : typing.Sequence[~StorageDetails]
4109 self
.error
= Error
.from_json(error
) if error
else None
4110 self
.result
= [StorageDetails
.from_json(o
) for o
in result
or []]
4113 class StorageDetailsListResults(Type
):
4114 _toSchema
= {'results': 'results'}
4115 _toPy
= {'results': 'results'}
4116 def __init__(self
, results
=None):
4118 results : typing.Sequence[~StorageDetailsListResult]
4120 self
.results
= [StorageDetailsListResult
.from_json(o
) for o
in results
or []]
4123 class StorageDetailsResult(Type
):
4124 _toSchema
= {'error': 'error', 'result': 'result'}
4125 _toPy
= {'error': 'error', 'result': 'result'}
4126 def __init__(self
, error
=None, result
=None):
4129 result : StorageDetails
4131 self
.error
= Error
.from_json(error
) if error
else None
4132 self
.result
= StorageDetails
.from_json(result
) if result
else None
4135 class StorageDetailsResults(Type
):
4136 _toSchema
= {'results': 'results'}
4137 _toPy
= {'results': 'results'}
4138 def __init__(self
, results
=None):
4140 results : typing.Sequence[~StorageDetailsResult]
4142 self
.results
= [StorageDetailsResult
.from_json(o
) for o
in results
or []]
4145 class StorageFilter(Type
):
4155 class StorageFilters(Type
):
4156 _toSchema
= {'filters': 'filters'}
4157 _toPy
= {'filters': 'filters'}
4158 def __init__(self
, filters
=None):
4160 filters : typing.Sequence[~StorageFilter]
4162 self
.filters
= [StorageFilter
.from_json(o
) for o
in filters
or []]
4165 class StoragePool(Type
):
4166 _toSchema
= {'name': 'name', 'provider': 'provider', 'attrs': 'attrs'}
4167 _toPy
= {'name': 'name', 'provider': 'provider', 'attrs': 'attrs'}
4168 def __init__(self
, attrs
=None, name
=None, provider
=None):
4170 attrs : typing.Mapping[str, typing.Any]
4176 self
.provider
= provider
4179 class StoragePoolFilter(Type
):
4180 _toSchema
= {'providers': 'providers', 'names': 'names'}
4181 _toPy
= {'providers': 'providers', 'names': 'names'}
4182 def __init__(self
, names
=None, providers
=None):
4184 names : typing.Sequence[str]
4185 providers : typing.Sequence[str]
4188 self
.providers
= providers
4191 class StoragePoolFilters(Type
):
4192 _toSchema
= {'filters': 'filters'}
4193 _toPy
= {'filters': 'filters'}
4194 def __init__(self
, filters
=None):
4196 filters : typing.Sequence[~StoragePoolFilter]
4198 self
.filters
= [StoragePoolFilter
.from_json(o
) for o
in filters
or []]
4201 class StoragePoolsResult(Type
):
4202 _toSchema
= {'storagepools': 'storagepools', 'error': 'error'}
4203 _toPy
= {'storagepools': 'storagepools', 'error': 'error'}
4204 def __init__(self
, error
=None, storagepools
=None):
4207 storagepools : typing.Sequence[~StoragePool]
4209 self
.error
= Error
.from_json(error
) if error
else None
4210 self
.storagepools
= [StoragePool
.from_json(o
) for o
in storagepools
or []]
4213 class StoragePoolsResults(Type
):
4214 _toSchema
= {'results': 'results'}
4215 _toPy
= {'results': 'results'}
4216 def __init__(self
, results
=None):
4218 results : typing.Sequence[~StoragePoolsResult]
4220 self
.results
= [StoragePoolsResult
.from_json(o
) for o
in results
or []]
4223 class StoragesAddParams(Type
):
4224 _toSchema
= {'storages': 'storages'}
4225 _toPy
= {'storages': 'storages'}
4226 def __init__(self
, storages
=None):
4228 storages : typing.Sequence[~StorageAddParams]
4230 self
.storages
= [StorageAddParams
.from_json(o
) for o
in storages
or []]
4233 class VolumeDetails(Type
):
4234 _toSchema
= {'info': 'info', 'machineattachments': 'machineattachments', 'status': 'status', 'volumetag': 'volumetag', 'storage': 'storage'}
4235 _toPy
= {'info': 'info', 'machineattachments': 'machineattachments', 'status': 'status', 'volumetag': 'volumetag', 'storage': 'storage'}
4236 def __init__(self
, info
=None, machineattachments
=None, status
=None, storage
=None, volumetag
=None):
4239 machineattachments : typing.Mapping[str, ~VolumeAttachmentInfo]
4240 status : EntityStatus
4241 storage : StorageDetails
4244 self
.info
= VolumeInfo
.from_json(info
) if info
else None
4245 self
.machineattachments
= {k
: VolumeAttachmentInfo
.from_json(v
) for k
, v
in (machineattachments
or dict()).items()}
4246 self
.status
= EntityStatus
.from_json(status
) if status
else None
4247 self
.storage
= StorageDetails
.from_json(storage
) if storage
else None
4248 self
.volumetag
= volumetag
4251 class VolumeDetailsListResult(Type
):
4252 _toSchema
= {'error': 'error', 'result': 'result'}
4253 _toPy
= {'error': 'error', 'result': 'result'}
4254 def __init__(self
, error
=None, result
=None):
4257 result : typing.Sequence[~VolumeDetails]
4259 self
.error
= Error
.from_json(error
) if error
else None
4260 self
.result
= [VolumeDetails
.from_json(o
) for o
in result
or []]
4263 class VolumeDetailsListResults(Type
):
4264 _toSchema
= {'results': 'results'}
4265 _toPy
= {'results': 'results'}
4266 def __init__(self
, results
=None):
4268 results : typing.Sequence[~VolumeDetailsListResult]
4270 self
.results
= [VolumeDetailsListResult
.from_json(o
) for o
in results
or []]
4273 class VolumeFilter(Type
):
4274 _toSchema
= {'machines': 'machines'}
4275 _toPy
= {'machines': 'machines'}
4276 def __init__(self
, machines
=None):
4278 machines : typing.Sequence[str]
4280 self
.machines
= machines
4283 class VolumeFilters(Type
):
4284 _toSchema
= {'filters': 'filters'}
4285 _toPy
= {'filters': 'filters'}
4286 def __init__(self
, filters
=None):
4288 filters : typing.Sequence[~VolumeFilter]
4290 self
.filters
= [VolumeFilter
.from_json(o
) for o
in filters
or []]
4293 class BlockDeviceResult(Type
):
4294 _toSchema
= {'error': 'error', 'result': 'result'}
4295 _toPy
= {'error': 'error', 'result': 'result'}
4296 def __init__(self
, error
=None, result
=None):
4299 result : BlockDevice
4301 self
.error
= Error
.from_json(error
) if error
else None
4302 self
.result
= BlockDevice
.from_json(result
) if result
else None
4305 class BlockDeviceResults(Type
):
4306 _toSchema
= {'results': 'results'}
4307 _toPy
= {'results': 'results'}
4308 def __init__(self
, results
=None):
4310 results : typing.Sequence[~BlockDeviceResult]
4312 self
.results
= [BlockDeviceResult
.from_json(o
) for o
in results
or []]
4315 class Filesystem(Type
):
4316 _toSchema
= {'filesystemtag': 'filesystemtag', 'info': 'info', 'volumetag': 'volumetag'}
4317 _toPy
= {'filesystemtag': 'filesystemtag', 'info': 'info', 'volumetag': 'volumetag'}
4318 def __init__(self
, filesystemtag
=None, info
=None, volumetag
=None):
4321 info : FilesystemInfo
4324 self
.filesystemtag
= filesystemtag
4325 self
.info
= FilesystemInfo
.from_json(info
) if info
else None
4326 self
.volumetag
= volumetag
4329 class FilesystemAttachment(Type
):
4330 _toSchema
= {'filesystemtag': 'filesystemtag', 'info': 'info', 'machinetag': 'machinetag'}
4331 _toPy
= {'filesystemtag': 'filesystemtag', 'info': 'info', 'machinetag': 'machinetag'}
4332 def __init__(self
, filesystemtag
=None, info
=None, machinetag
=None):
4335 info : FilesystemAttachmentInfo
4338 self
.filesystemtag
= filesystemtag
4339 self
.info
= FilesystemAttachmentInfo
.from_json(info
) if info
else None
4340 self
.machinetag
= machinetag
4343 class FilesystemAttachmentParams(Type
):
4344 _toSchema
= {'filesystemtag': 'filesystemtag', 'instanceid': 'instanceid', 'mountpoint': 'mountpoint', 'machinetag': 'machinetag', 'filesystemid': 'filesystemid', 'provider': 'provider', 'read_only': 'read-only'}
4345 _toPy
= {'filesystemtag': 'filesystemtag', 'instanceid': 'instanceid', 'read-only': 'read_only', 'mountpoint': 'mountpoint', 'machinetag': 'machinetag', 'filesystemid': 'filesystemid', 'provider': 'provider'}
4346 def __init__(self
, filesystemid
=None, filesystemtag
=None, instanceid
=None, machinetag
=None, mountpoint
=None, provider
=None, read_only
=None):
4356 self
.filesystemid
= filesystemid
4357 self
.filesystemtag
= filesystemtag
4358 self
.instanceid
= instanceid
4359 self
.machinetag
= machinetag
4360 self
.mountpoint
= mountpoint
4361 self
.provider
= provider
4362 self
.read_only
= read_only
4365 class FilesystemAttachmentParamsResult(Type
):
4366 _toSchema
= {'error': 'error', 'result': 'result'}
4367 _toPy
= {'error': 'error', 'result': 'result'}
4368 def __init__(self
, error
=None, result
=None):
4371 result : FilesystemAttachmentParams
4373 self
.error
= Error
.from_json(error
) if error
else None
4374 self
.result
= FilesystemAttachmentParams
.from_json(result
) if result
else None
4377 class FilesystemAttachmentParamsResults(Type
):
4378 _toSchema
= {'results': 'results'}
4379 _toPy
= {'results': 'results'}
4380 def __init__(self
, results
=None):
4382 results : typing.Sequence[~FilesystemAttachmentParamsResult]
4384 self
.results
= [FilesystemAttachmentParamsResult
.from_json(o
) for o
in results
or []]
4387 class FilesystemAttachmentResult(Type
):
4388 _toSchema
= {'error': 'error', 'result': 'result'}
4389 _toPy
= {'error': 'error', 'result': 'result'}
4390 def __init__(self
, error
=None, result
=None):
4393 result : FilesystemAttachment
4395 self
.error
= Error
.from_json(error
) if error
else None
4396 self
.result
= FilesystemAttachment
.from_json(result
) if result
else None
4399 class FilesystemAttachmentResults(Type
):
4400 _toSchema
= {'results': 'results'}
4401 _toPy
= {'results': 'results'}
4402 def __init__(self
, results
=None):
4404 results : typing.Sequence[~FilesystemAttachmentResult]
4406 self
.results
= [FilesystemAttachmentResult
.from_json(o
) for o
in results
or []]
4409 class FilesystemAttachments(Type
):
4410 _toSchema
= {'filesystemattachments': 'filesystemattachments'}
4411 _toPy
= {'filesystemattachments': 'filesystemattachments'}
4412 def __init__(self
, filesystemattachments
=None):
4414 filesystemattachments : typing.Sequence[~FilesystemAttachment]
4416 self
.filesystemattachments
= [FilesystemAttachment
.from_json(o
) for o
in filesystemattachments
or []]
4419 class FilesystemParams(Type
):
4420 _toSchema
= {'filesystemtag': 'filesystemtag', 'volumetag': 'volumetag', 'tags': 'tags', 'attachment': 'attachment', 'provider': 'provider', 'size': 'size', 'attributes': 'attributes'}
4421 _toPy
= {'filesystemtag': 'filesystemtag', 'volumetag': 'volumetag', 'tags': 'tags', 'attachment': 'attachment', 'provider': 'provider', 'size': 'size', 'attributes': 'attributes'}
4422 def __init__(self
, attachment
=None, attributes
=None, filesystemtag
=None, provider
=None, size
=None, tags
=None, volumetag
=None):
4424 attachment : FilesystemAttachmentParams
4425 attributes : typing.Mapping[str, typing.Any]
4429 tags : typing.Mapping[str, str]
4432 self
.attachment
= FilesystemAttachmentParams
.from_json(attachment
) if attachment
else None
4433 self
.attributes
= attributes
4434 self
.filesystemtag
= filesystemtag
4435 self
.provider
= provider
4438 self
.volumetag
= volumetag
4441 class FilesystemParamsResult(Type
):
4442 _toSchema
= {'error': 'error', 'result': 'result'}
4443 _toPy
= {'error': 'error', 'result': 'result'}
4444 def __init__(self
, error
=None, result
=None):
4447 result : FilesystemParams
4449 self
.error
= Error
.from_json(error
) if error
else None
4450 self
.result
= FilesystemParams
.from_json(result
) if result
else None
4453 class FilesystemParamsResults(Type
):
4454 _toSchema
= {'results': 'results'}
4455 _toPy
= {'results': 'results'}
4456 def __init__(self
, results
=None):
4458 results : typing.Sequence[~FilesystemParamsResult]
4460 self
.results
= [FilesystemParamsResult
.from_json(o
) for o
in results
or []]
4463 class FilesystemResult(Type
):
4464 _toSchema
= {'error': 'error', 'result': 'result'}
4465 _toPy
= {'error': 'error', 'result': 'result'}
4466 def __init__(self
, error
=None, result
=None):
4471 self
.error
= Error
.from_json(error
) if error
else None
4472 self
.result
= Filesystem
.from_json(result
) if result
else None
4475 class FilesystemResults(Type
):
4476 _toSchema
= {'results': 'results'}
4477 _toPy
= {'results': 'results'}
4478 def __init__(self
, results
=None):
4480 results : typing.Sequence[~FilesystemResult]
4482 self
.results
= [FilesystemResult
.from_json(o
) for o
in results
or []]
4485 class Filesystems(Type
):
4486 _toSchema
= {'filesystems': 'filesystems'}
4487 _toPy
= {'filesystems': 'filesystems'}
4488 def __init__(self
, filesystems
=None):
4490 filesystems : typing.Sequence[~Filesystem]
4492 self
.filesystems
= [Filesystem
.from_json(o
) for o
in filesystems
or []]
4495 class MachineStorageIds(Type
):
4496 _toSchema
= {'ids': 'ids'}
4497 _toPy
= {'ids': 'ids'}
4498 def __init__(self
, ids
=None):
4500 ids : typing.Sequence[~MachineStorageId]
4502 self
.ids
= [MachineStorageId
.from_json(o
) for o
in ids
or []]
4505 class MachineStorageIdsWatchResults(Type
):
4506 _toSchema
= {'results': 'Results'}
4507 _toPy
= {'Results': 'results'}
4508 def __init__(self
, results
=None):
4510 results : typing.Sequence[~MachineStorageIdsWatchResult]
4512 self
.results
= [MachineStorageIdsWatchResult
.from_json(o
) for o
in results
or []]
4515 class VolumeAttachment(Type
):
4516 _toSchema
= {'info': 'info', 'machinetag': 'machinetag', 'volumetag': 'volumetag'}
4517 _toPy
= {'info': 'info', 'machinetag': 'machinetag', 'volumetag': 'volumetag'}
4518 def __init__(self
, info
=None, machinetag
=None, volumetag
=None):
4520 info : VolumeAttachmentInfo
4524 self
.info
= VolumeAttachmentInfo
.from_json(info
) if info
else None
4525 self
.machinetag
= machinetag
4526 self
.volumetag
= volumetag
4529 class VolumeAttachmentParamsResult(Type
):
4530 _toSchema
= {'error': 'error', 'result': 'result'}
4531 _toPy
= {'error': 'error', 'result': 'result'}
4532 def __init__(self
, error
=None, result
=None):
4535 result : VolumeAttachmentParams
4537 self
.error
= Error
.from_json(error
) if error
else None
4538 self
.result
= VolumeAttachmentParams
.from_json(result
) if result
else None
4541 class VolumeAttachmentParamsResults(Type
):
4542 _toSchema
= {'results': 'results'}
4543 _toPy
= {'results': 'results'}
4544 def __init__(self
, results
=None):
4546 results : typing.Sequence[~VolumeAttachmentParamsResult]
4548 self
.results
= [VolumeAttachmentParamsResult
.from_json(o
) for o
in results
or []]
4551 class VolumeAttachmentResult(Type
):
4552 _toSchema
= {'error': 'error', 'result': 'result'}
4553 _toPy
= {'error': 'error', 'result': 'result'}
4554 def __init__(self
, error
=None, result
=None):
4557 result : VolumeAttachment
4559 self
.error
= Error
.from_json(error
) if error
else None
4560 self
.result
= VolumeAttachment
.from_json(result
) if result
else None
4563 class VolumeAttachmentResults(Type
):
4564 _toSchema
= {'results': 'results'}
4565 _toPy
= {'results': 'results'}
4566 def __init__(self
, results
=None):
4568 results : typing.Sequence[~VolumeAttachmentResult]
4570 self
.results
= [VolumeAttachmentResult
.from_json(o
) for o
in results
or []]
4573 class VolumeAttachments(Type
):
4574 _toSchema
= {'volumeattachments': 'volumeattachments'}
4575 _toPy
= {'volumeattachments': 'volumeattachments'}
4576 def __init__(self
, volumeattachments
=None):
4578 volumeattachments : typing.Sequence[~VolumeAttachment]
4580 self
.volumeattachments
= [VolumeAttachment
.from_json(o
) for o
in volumeattachments
or []]
4583 class VolumeParamsResult(Type
):
4584 _toSchema
= {'error': 'error', 'result': 'result'}
4585 _toPy
= {'error': 'error', 'result': 'result'}
4586 def __init__(self
, error
=None, result
=None):
4589 result : VolumeParams
4591 self
.error
= Error
.from_json(error
) if error
else None
4592 self
.result
= VolumeParams
.from_json(result
) if result
else None
4595 class VolumeParamsResults(Type
):
4596 _toSchema
= {'results': 'results'}
4597 _toPy
= {'results': 'results'}
4598 def __init__(self
, results
=None):
4600 results : typing.Sequence[~VolumeParamsResult]
4602 self
.results
= [VolumeParamsResult
.from_json(o
) for o
in results
or []]
4605 class VolumeResult(Type
):
4606 _toSchema
= {'error': 'error', 'result': 'result'}
4607 _toPy
= {'error': 'error', 'result': 'result'}
4608 def __init__(self
, error
=None, result
=None):
4613 self
.error
= Error
.from_json(error
) if error
else None
4614 self
.result
= Volume
.from_json(result
) if result
else None
4617 class VolumeResults(Type
):
4618 _toSchema
= {'results': 'results'}
4619 _toPy
= {'results': 'results'}
4620 def __init__(self
, results
=None):
4622 results : typing.Sequence[~VolumeResult]
4624 self
.results
= [VolumeResult
.from_json(o
) for o
in results
or []]
4627 class Volumes(Type
):
4628 _toSchema
= {'volumes': 'volumes'}
4629 _toPy
= {'volumes': 'volumes'}
4630 def __init__(self
, volumes
=None):
4632 volumes : typing.Sequence[~Volume]
4634 self
.volumes
= [Volume
.from_json(o
) for o
in volumes
or []]
4637 class SpaceResult(Type
):
4638 _toSchema
= {'error': 'Error', 'tag': 'Tag'}
4639 _toPy
= {'Tag': 'tag', 'Error': 'error'}
4640 def __init__(self
, error
=None, tag
=None):
4645 self
.error
= Error
.from_json(error
) if error
else None
4649 class SpaceResults(Type
):
4650 _toSchema
= {'results': 'Results'}
4651 _toPy
= {'Results': 'results'}
4652 def __init__(self
, results
=None):
4654 results : typing.Sequence[~SpaceResult]
4656 self
.results
= [SpaceResult
.from_json(o
) for o
in results
or []]
4659 class ZoneResult(Type
):
4660 _toSchema
= {'available': 'Available', 'error': 'Error', 'name': 'Name'}
4661 _toPy
= {'Error': 'error', 'Available': 'available', 'Name': 'name'}
4662 def __init__(self
, available
=None, error
=None, name
=None):
4668 self
.available
= available
4669 self
.error
= Error
.from_json(error
) if error
else None
4673 class ZoneResults(Type
):
4674 _toSchema
= {'results': 'Results'}
4675 _toPy
= {'Results': 'results'}
4676 def __init__(self
, results
=None):
4678 results : typing.Sequence[~ZoneResult]
4680 self
.results
= [ZoneResult
.from_json(o
) for o
in results
or []]
4683 class UndertakerModelInfo(Type
):
4684 _toSchema
= {'globalname': 'GlobalName', 'name': 'Name', 'life': 'Life', 'uuid': 'UUID', 'issystem': 'IsSystem'}
4685 _toPy
= {'UUID': 'uuid', 'Name': 'name', 'Life': 'life', 'GlobalName': 'globalname', 'IsSystem': 'issystem'}
4686 def __init__(self
, globalname
=None, issystem
=None, life
=None, name
=None, uuid
=None):
4694 self
.globalname
= globalname
4695 self
.issystem
= issystem
4701 class UndertakerModelInfoResult(Type
):
4702 _toSchema
= {'error': 'Error', 'result': 'Result'}
4703 _toPy
= {'Error': 'error', 'Result': 'result'}
4704 def __init__(self
, error
=None, result
=None):
4707 result : UndertakerModelInfo
4709 self
.error
= Error
.from_json(error
) if error
else None
4710 self
.result
= UndertakerModelInfo
.from_json(result
) if result
else None
4713 class CharmURL(Type
):
4714 _toSchema
= {'url': 'URL'}
4715 _toPy
= {'URL': 'url'}
4716 def __init__(self
, url
=None):
4723 class CharmURLs(Type
):
4724 _toSchema
= {'urls': 'URLs'}
4725 _toPy
= {'URLs': 'urls'}
4726 def __init__(self
, urls
=None):
4728 urls : typing.Sequence[~CharmURL]
4730 self
.urls
= [CharmURL
.from_json(o
) for o
in urls
or []]
4733 class ConfigSettingsResult(Type
):
4734 _toSchema
= {'error': 'Error', 'settings': 'Settings'}
4735 _toPy
= {'Error': 'error', 'Settings': 'settings'}
4736 def __init__(self
, error
=None, settings
=None):
4739 settings : typing.Mapping[str, typing.Any]
4741 self
.error
= Error
.from_json(error
) if error
else None
4742 self
.settings
= settings
4745 class ConfigSettingsResults(Type
):
4746 _toSchema
= {'results': 'Results'}
4747 _toPy
= {'Results': 'results'}
4748 def __init__(self
, results
=None):
4750 results : typing.Sequence[~ConfigSettingsResult]
4752 self
.results
= [ConfigSettingsResult
.from_json(o
) for o
in results
or []]
4755 class Endpoint(Type
):
4756 _toSchema
= {'relation': 'Relation', 'servicename': 'ServiceName'}
4757 _toPy
= {'Relation': 'relation', 'ServiceName': 'servicename'}
4758 def __init__(self
, relation
=None, servicename
=None):
4763 self
.relation
= Relation
.from_json(relation
) if relation
else None
4764 self
.servicename
= servicename
4767 class EntitiesCharmURL(Type
):
4768 _toSchema
= {'entities': 'Entities'}
4769 _toPy
= {'Entities': 'entities'}
4770 def __init__(self
, entities
=None):
4772 entities : typing.Sequence[~EntityCharmURL]
4774 self
.entities
= [EntityCharmURL
.from_json(o
) for o
in entities
or []]
4777 class EntitiesPortRanges(Type
):
4778 _toSchema
= {'entities': 'Entities'}
4779 _toPy
= {'Entities': 'entities'}
4780 def __init__(self
, entities
=None):
4782 entities : typing.Sequence[~EntityPortRange]
4784 self
.entities
= [EntityPortRange
.from_json(o
) for o
in entities
or []]
4787 class EntityCharmURL(Type
):
4788 _toSchema
= {'charmurl': 'CharmURL', 'tag': 'Tag'}
4789 _toPy
= {'Tag': 'tag', 'CharmURL': 'charmurl'}
4790 def __init__(self
, charmurl
=None, tag
=None):
4795 self
.charmurl
= charmurl
4799 class EntityPortRange(Type
):
4800 _toSchema
= {'protocol': 'Protocol', 'fromport': 'FromPort', 'tag': 'Tag', 'toport': 'ToPort'}
4801 _toPy
= {'Tag': 'tag', 'ToPort': 'toport', 'Protocol': 'protocol', 'FromPort': 'fromport'}
4802 def __init__(self
, fromport
=None, protocol
=None, tag
=None, toport
=None):
4809 self
.fromport
= fromport
4810 self
.protocol
= protocol
4812 self
.toport
= toport
4815 class GetLeadershipSettingsBulkResults(Type
):
4816 _toSchema
= {'results': 'Results'}
4817 _toPy
= {'Results': 'results'}
4818 def __init__(self
, results
=None):
4820 results : typing.Sequence[~GetLeadershipSettingsResult]
4822 self
.results
= [GetLeadershipSettingsResult
.from_json(o
) for o
in results
or []]
4825 class GetLeadershipSettingsResult(Type
):
4826 _toSchema
= {'error': 'Error', 'settings': 'Settings'}
4827 _toPy
= {'Error': 'error', 'Settings': 'settings'}
4828 def __init__(self
, error
=None, settings
=None):
4831 settings : typing.Mapping[str, str]
4833 self
.error
= Error
.from_json(error
) if error
else None
4834 self
.settings
= settings
4837 class IntResult(Type
):
4838 _toSchema
= {'error': 'Error', 'result': 'Result'}
4839 _toPy
= {'Error': 'error', 'Result': 'result'}
4840 def __init__(self
, error
=None, result
=None):
4845 self
.error
= Error
.from_json(error
) if error
else None
4846 self
.result
= result
4849 class IntResults(Type
):
4850 _toSchema
= {'results': 'Results'}
4851 _toPy
= {'Results': 'results'}
4852 def __init__(self
, results
=None):
4854 results : typing.Sequence[~IntResult]
4856 self
.results
= [IntResult
.from_json(o
) for o
in results
or []]
4859 class MergeLeadershipSettingsBulkParams(Type
):
4860 _toSchema
= {'params': 'Params'}
4861 _toPy
= {'Params': 'params'}
4862 def __init__(self
, params
=None):
4864 params : typing.Sequence[~MergeLeadershipSettingsParam]
4866 self
.params
= [MergeLeadershipSettingsParam
.from_json(o
) for o
in params
or []]
4869 class MergeLeadershipSettingsParam(Type
):
4870 _toSchema
= {'settings': 'Settings', 'servicetag': 'ServiceTag'}
4871 _toPy
= {'Settings': 'settings', 'ServiceTag': 'servicetag'}
4872 def __init__(self
, servicetag
=None, settings
=None):
4875 settings : typing.Mapping[str, str]
4877 self
.servicetag
= servicetag
4878 self
.settings
= settings
4881 class ModelResult(Type
):
4882 _toSchema
= {'error': 'Error', 'uuid': 'UUID', 'name': 'Name'}
4883 _toPy
= {'Error': 'error', 'UUID': 'uuid', 'Name': 'name'}
4884 def __init__(self
, error
=None, name
=None, uuid
=None):
4890 self
.error
= Error
.from_json(error
) if error
else None
4895 class RelationIds(Type
):
4896 _toSchema
= {'relationids': 'RelationIds'}
4897 _toPy
= {'RelationIds': 'relationids'}
4898 def __init__(self
, relationids
=None):
4900 relationids : typing.Sequence[int]
4902 self
.relationids
= relationids
4905 class RelationResult(Type
):
4906 _toSchema
= {'endpoint': 'Endpoint', 'key': 'Key', 'error': 'Error', 'id_': 'Id', 'life': 'Life'}
4907 _toPy
= {'Error': 'error', 'Endpoint': 'endpoint', 'Key': 'key', 'Life': 'life', 'Id': 'id_'}
4908 def __init__(self
, endpoint
=None, error
=None, id_
=None, key
=None, life
=None):
4916 self
.endpoint
= Endpoint
.from_json(endpoint
) if endpoint
else None
4917 self
.error
= Error
.from_json(error
) if error
else None
4923 class RelationResults(Type
):
4924 _toSchema
= {'results': 'Results'}
4925 _toPy
= {'Results': 'results'}
4926 def __init__(self
, results
=None):
4928 results : typing.Sequence[~RelationResult]
4930 self
.results
= [RelationResult
.from_json(o
) for o
in results
or []]
4933 class RelationUnit(Type
):
4934 _toSchema
= {'unit': 'Unit', 'relation': 'Relation'}
4935 _toPy
= {'Relation': 'relation', 'Unit': 'unit'}
4936 def __init__(self
, relation
=None, unit
=None):
4941 self
.relation
= relation
4945 class RelationUnitPair(Type
):
4946 _toSchema
= {'relation': 'Relation', 'localunit': 'LocalUnit', 'remoteunit': 'RemoteUnit'}
4947 _toPy
= {'Relation': 'relation', 'RemoteUnit': 'remoteunit', 'LocalUnit': 'localunit'}
4948 def __init__(self
, localunit
=None, relation
=None, remoteunit
=None):
4954 self
.localunit
= localunit
4955 self
.relation
= relation
4956 self
.remoteunit
= remoteunit
4959 class RelationUnitPairs(Type
):
4960 _toSchema
= {'relationunitpairs': 'RelationUnitPairs'}
4961 _toPy
= {'RelationUnitPairs': 'relationunitpairs'}
4962 def __init__(self
, relationunitpairs
=None):
4964 relationunitpairs : typing.Sequence[~RelationUnitPair]
4966 self
.relationunitpairs
= [RelationUnitPair
.from_json(o
) for o
in relationunitpairs
or []]
4969 class RelationUnitSettings(Type
):
4970 _toSchema
= {'unit': 'Unit', 'relation': 'Relation', 'settings': 'Settings'}
4971 _toPy
= {'Relation': 'relation', 'Unit': 'unit', 'Settings': 'settings'}
4972 def __init__(self
, relation
=None, settings
=None, unit
=None):
4975 settings : typing.Mapping[str, str]
4978 self
.relation
= relation
4979 self
.settings
= settings
4983 class RelationUnits(Type
):
4984 _toSchema
= {'relationunits': 'RelationUnits'}
4985 _toPy
= {'RelationUnits': 'relationunits'}
4986 def __init__(self
, relationunits
=None):
4988 relationunits : typing.Sequence[~RelationUnit]
4990 self
.relationunits
= [RelationUnit
.from_json(o
) for o
in relationunits
or []]
4993 class RelationUnitsSettings(Type
):
4994 _toSchema
= {'relationunits': 'RelationUnits'}
4995 _toPy
= {'RelationUnits': 'relationunits'}
4996 def __init__(self
, relationunits
=None):
4998 relationunits : typing.Sequence[~RelationUnitSettings]
5000 self
.relationunits
= [RelationUnitSettings
.from_json(o
) for o
in relationunits
or []]
5003 class RelationUnitsWatchResults(Type
):
5004 _toSchema
= {'results': 'Results'}
5005 _toPy
= {'Results': 'results'}
5006 def __init__(self
, results
=None):
5008 results : typing.Sequence[~RelationUnitsWatchResult]
5010 self
.results
= [RelationUnitsWatchResult
.from_json(o
) for o
in results
or []]
5013 class ResolvedModeResult(Type
):
5014 _toSchema
= {'error': 'Error', 'mode': 'Mode'}
5015 _toPy
= {'Error': 'error', 'Mode': 'mode'}
5016 def __init__(self
, error
=None, mode
=None):
5021 self
.error
= Error
.from_json(error
) if error
else None
5025 class ResolvedModeResults(Type
):
5026 _toSchema
= {'results': 'Results'}
5027 _toPy
= {'Results': 'results'}
5028 def __init__(self
, results
=None):
5030 results : typing.Sequence[~ResolvedModeResult]
5032 self
.results
= [ResolvedModeResult
.from_json(o
) for o
in results
or []]
5035 class ServiceStatusResult(Type
):
5036 _toSchema
= {'units': 'Units', 'error': 'Error', 'service': 'Service'}
5037 _toPy
= {'Error': 'error', 'Service': 'service', 'Units': 'units'}
5038 def __init__(self
, error
=None, service
=None, units
=None):
5041 service : StatusResult
5042 units : typing.Mapping[str, ~StatusResult]
5044 self
.error
= Error
.from_json(error
) if error
else None
5045 self
.service
= StatusResult
.from_json(service
) if service
else None
5046 self
.units
= {k
: StatusResult
.from_json(v
) for k
, v
in (units
or dict()).items()}
5049 class ServiceStatusResults(Type
):
5050 _toSchema
= {'results': 'Results'}
5051 _toPy
= {'Results': 'results'}
5052 def __init__(self
, results
=None):
5054 results : typing.Sequence[~ServiceStatusResult]
5056 self
.results
= [ServiceStatusResult
.from_json(o
) for o
in results
or []]
5059 class SettingsResult(Type
):
5060 _toSchema
= {'error': 'Error', 'settings': 'Settings'}
5061 _toPy
= {'Error': 'error', 'Settings': 'settings'}
5062 def __init__(self
, error
=None, settings
=None):
5065 settings : typing.Mapping[str, str]
5067 self
.error
= Error
.from_json(error
) if error
else None
5068 self
.settings
= settings
5071 class SettingsResults(Type
):
5072 _toSchema
= {'results': 'Results'}
5073 _toPy
= {'Results': 'results'}
5074 def __init__(self
, results
=None):
5076 results : typing.Sequence[~SettingsResult]
5078 self
.results
= [SettingsResult
.from_json(o
) for o
in results
or []]
5081 class StorageAttachment(Type
):
5082 _toSchema
= {'ownertag': 'OwnerTag', 'unittag': 'UnitTag', 'location': 'Location', 'kind': 'Kind', 'life': 'Life', 'storagetag': 'StorageTag'}
5083 _toPy
= {'UnitTag': 'unittag', 'OwnerTag': 'ownertag', 'Location': 'location', 'Life': 'life', 'StorageTag': 'storagetag', 'Kind': 'kind'}
5084 def __init__(self
, kind
=None, life
=None, location
=None, ownertag
=None, storagetag
=None, unittag
=None):
5095 self
.location
= location
5096 self
.ownertag
= ownertag
5097 self
.storagetag
= storagetag
5098 self
.unittag
= unittag
5101 class StorageAttachmentId(Type
):
5102 _toSchema
= {'unittag': 'unittag', 'storagetag': 'storagetag'}
5103 _toPy
= {'unittag': 'unittag', 'storagetag': 'storagetag'}
5104 def __init__(self
, storagetag
=None, unittag
=None):
5109 self
.storagetag
= storagetag
5110 self
.unittag
= unittag
5113 class StorageAttachmentIds(Type
):
5114 _toSchema
= {'ids': 'ids'}
5115 _toPy
= {'ids': 'ids'}
5116 def __init__(self
, ids
=None):
5118 ids : typing.Sequence[~StorageAttachmentId]
5120 self
.ids
= [StorageAttachmentId
.from_json(o
) for o
in ids
or []]
5123 class StorageAttachmentIdsResult(Type
):
5124 _toSchema
= {'error': 'error', 'result': 'result'}
5125 _toPy
= {'error': 'error', 'result': 'result'}
5126 def __init__(self
, error
=None, result
=None):
5129 result : StorageAttachmentIds
5131 self
.error
= Error
.from_json(error
) if error
else None
5132 self
.result
= StorageAttachmentIds
.from_json(result
) if result
else None
5135 class StorageAttachmentIdsResults(Type
):
5136 _toSchema
= {'results': 'results'}
5137 _toPy
= {'results': 'results'}
5138 def __init__(self
, results
=None):
5140 results : typing.Sequence[~StorageAttachmentIdsResult]
5142 self
.results
= [StorageAttachmentIdsResult
.from_json(o
) for o
in results
or []]
5145 class StorageAttachmentResult(Type
):
5146 _toSchema
= {'error': 'error', 'result': 'result'}
5147 _toPy
= {'error': 'error', 'result': 'result'}
5148 def __init__(self
, error
=None, result
=None):
5151 result : StorageAttachment
5153 self
.error
= Error
.from_json(error
) if error
else None
5154 self
.result
= StorageAttachment
.from_json(result
) if result
else None
5157 class StorageAttachmentResults(Type
):
5158 _toSchema
= {'results': 'results'}
5159 _toPy
= {'results': 'results'}
5160 def __init__(self
, results
=None):
5162 results : typing.Sequence[~StorageAttachmentResult]
5164 self
.results
= [StorageAttachmentResult
.from_json(o
) for o
in results
or []]
5167 class StringBoolResult(Type
):
5168 _toSchema
= {'error': 'Error', 'ok': 'Ok', 'result': 'Result'}
5169 _toPy
= {'Error': 'error', 'Result': 'result', 'Ok': 'ok'}
5170 def __init__(self
, error
=None, ok
=None, result
=None):
5176 self
.error
= Error
.from_json(error
) if error
else None
5178 self
.result
= result
5181 class StringBoolResults(Type
):
5182 _toSchema
= {'results': 'Results'}
5183 _toPy
= {'Results': 'results'}
5184 def __init__(self
, results
=None):
5186 results : typing.Sequence[~StringBoolResult]
5188 self
.results
= [StringBoolResult
.from_json(o
) for o
in results
or []]
5191 class UnitNetworkConfig(Type
):
5192 _toSchema
= {'unittag': 'UnitTag', 'bindingname': 'BindingName'}
5193 _toPy
= {'UnitTag': 'unittag', 'BindingName': 'bindingname'}
5194 def __init__(self
, bindingname
=None, unittag
=None):
5199 self
.bindingname
= bindingname
5200 self
.unittag
= unittag
5203 class UnitNetworkConfigResult(Type
):
5204 _toSchema
= {'info': 'Info', 'error': 'Error'}
5205 _toPy
= {'Info': 'info', 'Error': 'error'}
5206 def __init__(self
, error
=None, info
=None):
5209 info : typing.Sequence[~NetworkConfig]
5211 self
.error
= Error
.from_json(error
) if error
else None
5212 self
.info
= [NetworkConfig
.from_json(o
) for o
in info
or []]
5215 class UnitNetworkConfigResults(Type
):
5216 _toSchema
= {'results': 'Results'}
5217 _toPy
= {'Results': 'results'}
5218 def __init__(self
, results
=None):
5220 results : typing.Sequence[~UnitNetworkConfigResult]
5222 self
.results
= [UnitNetworkConfigResult
.from_json(o
) for o
in results
or []]
5225 class UnitsNetworkConfig(Type
):
5226 _toSchema
= {'args': 'Args'}
5227 _toPy
= {'Args': 'args'}
5228 def __init__(self
, args
=None):
5230 args : typing.Sequence[~UnitNetworkConfig]
5232 self
.args
= [UnitNetworkConfig
.from_json(o
) for o
in args
or []]
5235 class EntitiesVersion(Type
):
5236 _toSchema
= {'agenttools': 'AgentTools'}
5237 _toPy
= {'AgentTools': 'agenttools'}
5238 def __init__(self
, agenttools
=None):
5240 agenttools : typing.Sequence[~EntityVersion]
5242 self
.agenttools
= [EntityVersion
.from_json(o
) for o
in agenttools
or []]
5245 class EntityVersion(Type
):
5246 _toSchema
= {'tools': 'Tools', 'tag': 'Tag'}
5247 _toPy
= {'Tag': 'tag', 'Tools': 'tools'}
5248 def __init__(self
, tag
=None, tools
=None):
5254 self
.tools
= Version
.from_json(tools
) if tools
else None
5257 class VersionResult(Type
):
5258 _toSchema
= {'error': 'Error', 'version': 'Version'}
5259 _toPy
= {'Error': 'error', 'Version': 'version'}
5260 def __init__(self
, error
=None, version
=None):
5265 self
.error
= Error
.from_json(error
) if error
else None
5266 self
.version
= Number
.from_json(version
) if version
else None
5269 class VersionResults(Type
):
5270 _toSchema
= {'results': 'Results'}
5271 _toPy
= {'Results': 'results'}
5272 def __init__(self
, results
=None):
5274 results : typing.Sequence[~VersionResult]
5276 self
.results
= [VersionResult
.from_json(o
) for o
in results
or []]
5279 class AddUser(Type
):
5280 _toSchema
= {'model_access_permission': 'model-access-permission', 'display_name': 'display-name', 'username': 'username', 'shared_model_tags': 'shared-model-tags', 'password': 'password'}
5281 _toPy
= {'password': 'password', 'model-access-permission': 'model_access_permission', 'display-name': 'display_name', 'username': 'username', 'shared-model-tags': 'shared_model_tags'}
5282 def __init__(self
, display_name
=None, model_access_permission
=None, password
=None, shared_model_tags
=None, username
=None):
5285 model_access_permission : str
5287 shared_model_tags : typing.Sequence[str]
5290 self
.display_name
= display_name
5291 self
.model_access_permission
= model_access_permission
5292 self
.password
= password
5293 self
.shared_model_tags
= shared_model_tags
5294 self
.username
= username
5297 class AddUserResult(Type
):
5298 _toSchema
= {'error': 'error', 'tag': 'tag', 'secret_key': 'secret-key'}
5299 _toPy
= {'error': 'error', 'secret-key': 'secret_key', 'tag': 'tag'}
5300 def __init__(self
, error
=None, secret_key
=None, tag
=None):
5303 secret_key : typing.Sequence[int]
5306 self
.error
= Error
.from_json(error
) if error
else None
5307 self
.secret_key
= secret_key
5311 class AddUserResults(Type
):
5312 _toSchema
= {'results': 'results'}
5313 _toPy
= {'results': 'results'}
5314 def __init__(self
, results
=None):
5316 results : typing.Sequence[~AddUserResult]
5318 self
.results
= [AddUserResult
.from_json(o
) for o
in results
or []]
5321 class AddUsers(Type
):
5322 _toSchema
= {'users': 'users'}
5323 _toPy
= {'users': 'users'}
5324 def __init__(self
, users
=None):
5326 users : typing.Sequence[~AddUser]
5328 self
.users
= [AddUser
.from_json(o
) for o
in users
or []]
5331 class MacaroonResult(Type
):
5332 _toSchema
= {'error': 'error', 'result': 'result'}
5333 _toPy
= {'error': 'error', 'result': 'result'}
5334 def __init__(self
, error
=None, result
=None):
5339 self
.error
= Error
.from_json(error
) if error
else None
5340 self
.result
= Macaroon
.from_json(result
) if result
else None
5343 class MacaroonResults(Type
):
5344 _toSchema
= {'results': 'results'}
5345 _toPy
= {'results': 'results'}
5346 def __init__(self
, results
=None):
5348 results : typing.Sequence[~MacaroonResult]
5350 self
.results
= [MacaroonResult
.from_json(o
) for o
in results
or []]
5353 class UserInfo(Type
):
5354 _toSchema
= {'created_by': 'created-by', 'username': 'username', 'display_name': 'display-name', 'last_connection': 'last-connection', 'disabled': 'disabled', 'date_created': 'date-created'}
5355 _toPy
= {'username': 'username', 'created-by': 'created_by', 'display-name': 'display_name', 'disabled': 'disabled', 'last-connection': 'last_connection', 'date-created': 'date_created'}
5356 def __init__(self
, created_by
=None, date_created
=None, disabled
=None, display_name
=None, last_connection
=None, username
=None):
5362 last_connection : str
5365 self
.created_by
= created_by
5366 self
.date_created
= date_created
5367 self
.disabled
= disabled
5368 self
.display_name
= display_name
5369 self
.last_connection
= last_connection
5370 self
.username
= username
5373 class UserInfoRequest(Type
):
5374 _toSchema
= {'include_disabled': 'include-disabled', 'entities': 'entities'}
5375 _toPy
= {'include-disabled': 'include_disabled', 'entities': 'entities'}
5376 def __init__(self
, entities
=None, include_disabled
=None):
5378 entities : typing.Sequence[~Entity]
5379 include_disabled : bool
5381 self
.entities
= [Entity
.from_json(o
) for o
in entities
or []]
5382 self
.include_disabled
= include_disabled
5385 class UserInfoResult(Type
):
5386 _toSchema
= {'error': 'error', 'result': 'result'}
5387 _toPy
= {'error': 'error', 'result': 'result'}
5388 def __init__(self
, error
=None, result
=None):
5393 self
.error
= Error
.from_json(error
) if error
else None
5394 self
.result
= UserInfo
.from_json(result
) if result
else None
5397 class UserInfoResults(Type
):
5398 _toSchema
= {'results': 'results'}
5399 _toPy
= {'results': 'results'}
5400 def __init__(self
, results
=None):
5402 results : typing.Sequence[~UserInfoResult]
5404 self
.results
= [UserInfoResult
.from_json(o
) for o
in results
or []]
5410 schema
= {'definitions': {'Action': {'additionalProperties': False,
5411 'properties': {'name': {'type': 'string'},
5412 'parameters': {'patternProperties': {'.*': {'additionalProperties': True,
5415 'receiver': {'type': 'string'},
5416 'tag': {'type': 'string'}},
5417 'required': ['tag', 'receiver', 'name'],
5419 'ActionResult': {'additionalProperties': False,
5420 'properties': {'action': {'$ref': '#/definitions/Action'},
5421 'completed': {'format': 'date-time',
5423 'enqueued': {'format': 'date-time',
5425 'error': {'$ref': '#/definitions/Error'},
5426 'message': {'type': 'string'},
5427 'output': {'patternProperties': {'.*': {'additionalProperties': True,
5430 'started': {'format': 'date-time',
5432 'status': {'type': 'string'}},
5434 'ActionResults': {'additionalProperties': False,
5435 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'},
5438 'Actions': {'additionalProperties': False,
5439 'properties': {'actions': {'items': {'$ref': '#/definitions/Action'},
5442 'ActionsByName': {'additionalProperties': False,
5443 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'},
5445 'error': {'$ref': '#/definitions/Error'},
5446 'name': {'type': 'string'}},
5448 'ActionsByNames': {'additionalProperties': False,
5449 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByName'},
5452 'ActionsByReceiver': {'additionalProperties': False,
5453 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'},
5455 'error': {'$ref': '#/definitions/Error'},
5456 'receiver': {'type': 'string'}},
5458 'ActionsByReceivers': {'additionalProperties': False,
5459 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByReceiver'},
5462 'Entities': {'additionalProperties': False,
5463 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
5465 'required': ['Entities'],
5467 'Entity': {'additionalProperties': False,
5468 'properties': {'Tag': {'type': 'string'}},
5469 'required': ['Tag'],
5471 'Error': {'additionalProperties': False,
5472 'properties': {'Code': {'type': 'string'},
5473 'Info': {'$ref': '#/definitions/ErrorInfo'},
5474 'Message': {'type': 'string'}},
5475 'required': ['Message', 'Code'],
5477 'ErrorInfo': {'additionalProperties': False,
5478 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
5479 'MacaroonPath': {'type': 'string'}},
5481 'FindActionsByNames': {'additionalProperties': False,
5482 'properties': {'names': {'items': {'type': 'string'},
5485 'FindTags': {'additionalProperties': False,
5486 'properties': {'prefixes': {'items': {'type': 'string'},
5488 'required': ['prefixes'],
5490 'FindTagsResults': {'additionalProperties': False,
5491 'properties': {'matches': {'patternProperties': {'.*': {'items': {'$ref': '#/definitions/Entity'},
5494 'required': ['matches'],
5496 'Macaroon': {'additionalProperties': False,
5497 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
5499 'data': {'items': {'type': 'integer'},
5501 'id': {'$ref': '#/definitions/packet'},
5502 'location': {'$ref': '#/definitions/packet'},
5503 'sig': {'items': {'type': 'integer'},
5505 'required': ['data',
5511 'RunParams': {'additionalProperties': False,
5512 'properties': {'Commands': {'type': 'string'},
5513 'Machines': {'items': {'type': 'string'},
5515 'Services': {'items': {'type': 'string'},
5517 'Timeout': {'type': 'integer'},
5518 'Units': {'items': {'type': 'string'},
5520 'required': ['Commands',
5526 'ServiceCharmActionsResult': {'additionalProperties': False,
5527 'properties': {'actions': {'$ref': '#/definitions/Actions'},
5528 'error': {'$ref': '#/definitions/Error'},
5529 'servicetag': {'type': 'string'}},
5531 'ServicesCharmActionsResults': {'additionalProperties': False,
5532 'properties': {'results': {'items': {'$ref': '#/definitions/ServiceCharmActionsResult'},
5535 'caveat': {'additionalProperties': False,
5536 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
5537 'location': {'$ref': '#/definitions/packet'},
5538 'verificationId': {'$ref': '#/definitions/packet'}},
5539 'required': ['location',
5543 'packet': {'additionalProperties': False,
5544 'properties': {'headerLen': {'type': 'integer'},
5545 'start': {'type': 'integer'},
5546 'totalLen': {'type': 'integer'}},
5547 'required': ['start', 'totalLen', 'headerLen'],
5549 'properties': {'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5550 'Result': {'$ref': '#/definitions/ActionResults'}},
5552 'Cancel': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5553 'Result': {'$ref': '#/definitions/ActionResults'}},
5555 'Enqueue': {'properties': {'Params': {'$ref': '#/definitions/Actions'},
5556 'Result': {'$ref': '#/definitions/ActionResults'}},
5558 'FindActionTagsByPrefix': {'properties': {'Params': {'$ref': '#/definitions/FindTags'},
5559 'Result': {'$ref': '#/definitions/FindTagsResults'}},
5561 'FindActionsByNames': {'properties': {'Params': {'$ref': '#/definitions/FindActionsByNames'},
5562 'Result': {'$ref': '#/definitions/ActionsByNames'}},
5564 'ListAll': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5565 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
5567 'ListCompleted': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5568 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
5570 'ListPending': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5571 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
5573 'ListRunning': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5574 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
5576 'Run': {'properties': {'Params': {'$ref': '#/definitions/RunParams'},
5577 'Result': {'$ref': '#/definitions/ActionResults'}},
5579 'RunOnAllMachines': {'properties': {'Params': {'$ref': '#/definitions/RunParams'},
5580 'Result': {'$ref': '#/definitions/ActionResults'}},
5582 'ServicesCharmActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5583 'Result': {'$ref': '#/definitions/ServicesCharmActionsResults'}},
5588 @ReturnMapping(ActionResults
)
5589 async def Actions(self
, entities
):
5591 entities : typing.Sequence[~Entity]
5592 Returns -> typing.Sequence[~ActionResult]
5594 # map input types to rpc msg
5596 msg
= dict(Type
='Action', Request
='Actions', Version
=1, Params
=params
)
5597 params
['Entities'] = entities
5598 reply
= await self
.rpc(msg
)
5603 @ReturnMapping(ActionResults
)
5604 async def Cancel(self
, entities
):
5606 entities : typing.Sequence[~Entity]
5607 Returns -> typing.Sequence[~ActionResult]
5609 # map input types to rpc msg
5611 msg
= dict(Type
='Action', Request
='Cancel', Version
=1, Params
=params
)
5612 params
['Entities'] = entities
5613 reply
= await self
.rpc(msg
)
5618 @ReturnMapping(ActionResults
)
5619 async def Enqueue(self
, actions
):
5621 actions : typing.Sequence[~Action]
5622 Returns -> typing.Sequence[~ActionResult]
5624 # map input types to rpc msg
5626 msg
= dict(Type
='Action', Request
='Enqueue', Version
=1, Params
=params
)
5627 params
['actions'] = actions
5628 reply
= await self
.rpc(msg
)
5633 @ReturnMapping(FindTagsResults
)
5634 async def FindActionTagsByPrefix(self
, prefixes
):
5636 prefixes : typing.Sequence[str]
5637 Returns -> typing.Sequence[~Entity]
5639 # map input types to rpc msg
5641 msg
= dict(Type
='Action', Request
='FindActionTagsByPrefix', Version
=1, Params
=params
)
5642 params
['prefixes'] = prefixes
5643 reply
= await self
.rpc(msg
)
5648 @ReturnMapping(ActionsByNames
)
5649 async def FindActionsByNames(self
, names
):
5651 names : typing.Sequence[str]
5652 Returns -> typing.Sequence[~ActionsByName]
5654 # map input types to rpc msg
5656 msg
= dict(Type
='Action', Request
='FindActionsByNames', Version
=1, Params
=params
)
5657 params
['names'] = names
5658 reply
= await self
.rpc(msg
)
5663 @ReturnMapping(ActionsByReceivers
)
5664 async def ListAll(self
, entities
):
5666 entities : typing.Sequence[~Entity]
5667 Returns -> typing.Sequence[~ActionsByReceiver]
5669 # map input types to rpc msg
5671 msg
= dict(Type
='Action', Request
='ListAll', Version
=1, Params
=params
)
5672 params
['Entities'] = entities
5673 reply
= await self
.rpc(msg
)
5678 @ReturnMapping(ActionsByReceivers
)
5679 async def ListCompleted(self
, entities
):
5681 entities : typing.Sequence[~Entity]
5682 Returns -> typing.Sequence[~ActionsByReceiver]
5684 # map input types to rpc msg
5686 msg
= dict(Type
='Action', Request
='ListCompleted', Version
=1, Params
=params
)
5687 params
['Entities'] = entities
5688 reply
= await self
.rpc(msg
)
5693 @ReturnMapping(ActionsByReceivers
)
5694 async def ListPending(self
, entities
):
5696 entities : typing.Sequence[~Entity]
5697 Returns -> typing.Sequence[~ActionsByReceiver]
5699 # map input types to rpc msg
5701 msg
= dict(Type
='Action', Request
='ListPending', Version
=1, Params
=params
)
5702 params
['Entities'] = entities
5703 reply
= await self
.rpc(msg
)
5708 @ReturnMapping(ActionsByReceivers
)
5709 async def ListRunning(self
, entities
):
5711 entities : typing.Sequence[~Entity]
5712 Returns -> typing.Sequence[~ActionsByReceiver]
5714 # map input types to rpc msg
5716 msg
= dict(Type
='Action', Request
='ListRunning', Version
=1, Params
=params
)
5717 params
['Entities'] = entities
5718 reply
= await self
.rpc(msg
)
5723 @ReturnMapping(ActionResults
)
5724 async def Run(self
, commands
, machines
, services
, timeout
, units
):
5727 machines : typing.Sequence[str]
5728 services : typing.Sequence[str]
5730 units : typing.Sequence[str]
5731 Returns -> typing.Sequence[~ActionResult]
5733 # map input types to rpc msg
5735 msg
= dict(Type
='Action', Request
='Run', Version
=1, Params
=params
)
5736 params
['Commands'] = commands
5737 params
['Machines'] = machines
5738 params
['Services'] = services
5739 params
['Timeout'] = timeout
5740 params
['Units'] = units
5741 reply
= await self
.rpc(msg
)
5746 @ReturnMapping(ActionResults
)
5747 async def RunOnAllMachines(self
, commands
, machines
, services
, timeout
, units
):
5750 machines : typing.Sequence[str]
5751 services : typing.Sequence[str]
5753 units : typing.Sequence[str]
5754 Returns -> typing.Sequence[~ActionResult]
5756 # map input types to rpc msg
5758 msg
= dict(Type
='Action', Request
='RunOnAllMachines', Version
=1, Params
=params
)
5759 params
['Commands'] = commands
5760 params
['Machines'] = machines
5761 params
['Services'] = services
5762 params
['Timeout'] = timeout
5763 params
['Units'] = units
5764 reply
= await self
.rpc(msg
)
5769 @ReturnMapping(ServicesCharmActionsResults
)
5770 async def ServicesCharmActions(self
, entities
):
5772 entities : typing.Sequence[~Entity]
5773 Returns -> typing.Sequence[~ServiceCharmActionsResult]
5775 # map input types to rpc msg
5777 msg
= dict(Type
='Action', Request
='ServicesCharmActions', Version
=1, Params
=params
)
5778 params
['Entities'] = entities
5779 reply
= await self
.rpc(msg
)
5783 class Addresser(Type
):
5786 schema
= {'definitions': {'BoolResult': {'additionalProperties': False,
5787 'properties': {'Error': {'$ref': '#/definitions/Error'},
5788 'Result': {'type': 'boolean'}},
5789 'required': ['Error', 'Result'],
5791 'EntitiesWatchResult': {'additionalProperties': False,
5792 'properties': {'Changes': {'items': {'type': 'string'},
5794 'EntityWatcherId': {'type': 'string'},
5795 'Error': {'$ref': '#/definitions/Error'}},
5796 'required': ['EntityWatcherId',
5800 'Error': {'additionalProperties': False,
5801 'properties': {'Code': {'type': 'string'},
5802 'Info': {'$ref': '#/definitions/ErrorInfo'},
5803 'Message': {'type': 'string'}},
5804 'required': ['Message', 'Code'],
5806 'ErrorInfo': {'additionalProperties': False,
5807 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
5808 'MacaroonPath': {'type': 'string'}},
5810 'ErrorResult': {'additionalProperties': False,
5811 'properties': {'Error': {'$ref': '#/definitions/Error'}},
5812 'required': ['Error'],
5814 'Macaroon': {'additionalProperties': False,
5815 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
5817 'data': {'items': {'type': 'integer'},
5819 'id': {'$ref': '#/definitions/packet'},
5820 'location': {'$ref': '#/definitions/packet'},
5821 'sig': {'items': {'type': 'integer'},
5823 'required': ['data',
5829 'caveat': {'additionalProperties': False,
5830 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
5831 'location': {'$ref': '#/definitions/packet'},
5832 'verificationId': {'$ref': '#/definitions/packet'}},
5833 'required': ['location',
5837 'packet': {'additionalProperties': False,
5838 'properties': {'headerLen': {'type': 'integer'},
5839 'start': {'type': 'integer'},
5840 'totalLen': {'type': 'integer'}},
5841 'required': ['start', 'totalLen', 'headerLen'],
5843 'properties': {'CanDeallocateAddresses': {'properties': {'Result': {'$ref': '#/definitions/BoolResult'}},
5845 'CleanupIPAddresses': {'properties': {'Result': {'$ref': '#/definitions/ErrorResult'}},
5847 'WatchIPAddresses': {'properties': {'Result': {'$ref': '#/definitions/EntitiesWatchResult'}},
5852 @ReturnMapping(BoolResult
)
5853 async def CanDeallocateAddresses(self
):
5856 Returns -> typing.Union[_ForwardRef('Error'), bool]
5858 # map input types to rpc msg
5860 msg
= dict(Type
='Addresser', Request
='CanDeallocateAddresses', Version
=2, Params
=params
)
5862 reply
= await self
.rpc(msg
)
5867 @ReturnMapping(ErrorResult
)
5868 async def CleanupIPAddresses(self
):
5873 # map input types to rpc msg
5875 msg
= dict(Type
='Addresser', Request
='CleanupIPAddresses', Version
=2, Params
=params
)
5877 reply
= await self
.rpc(msg
)
5882 @ReturnMapping(EntitiesWatchResult
)
5883 async def WatchIPAddresses(self
):
5886 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
5888 # map input types to rpc msg
5890 msg
= dict(Type
='Addresser', Request
='WatchIPAddresses', Version
=2, Params
=params
)
5892 reply
= await self
.rpc(msg
)
5899 schema
= {'definitions': {'AgentGetEntitiesResult': {'additionalProperties': False,
5900 'properties': {'ContainerType': {'type': 'string'},
5901 'Error': {'$ref': '#/definitions/Error'},
5902 'Jobs': {'items': {'type': 'string'},
5904 'Life': {'type': 'string'}},
5905 'required': ['Life',
5910 'AgentGetEntitiesResults': {'additionalProperties': False,
5911 'properties': {'Entities': {'items': {'$ref': '#/definitions/AgentGetEntitiesResult'},
5913 'required': ['Entities'],
5915 'Entities': {'additionalProperties': False,
5916 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
5918 'required': ['Entities'],
5920 'Entity': {'additionalProperties': False,
5921 'properties': {'Tag': {'type': 'string'}},
5922 'required': ['Tag'],
5924 'EntityPassword': {'additionalProperties': False,
5925 'properties': {'Password': {'type': 'string'},
5926 'Tag': {'type': 'string'}},
5927 'required': ['Tag', 'Password'],
5929 'EntityPasswords': {'additionalProperties': False,
5930 'properties': {'Changes': {'items': {'$ref': '#/definitions/EntityPassword'},
5932 'required': ['Changes'],
5934 'Error': {'additionalProperties': False,
5935 'properties': {'Code': {'type': 'string'},
5936 'Info': {'$ref': '#/definitions/ErrorInfo'},
5937 'Message': {'type': 'string'}},
5938 'required': ['Message', 'Code'],
5940 'ErrorInfo': {'additionalProperties': False,
5941 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
5942 'MacaroonPath': {'type': 'string'}},
5944 'ErrorResult': {'additionalProperties': False,
5945 'properties': {'Error': {'$ref': '#/definitions/Error'}},
5946 'required': ['Error'],
5948 'ErrorResults': {'additionalProperties': False,
5949 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
5951 'required': ['Results'],
5953 'IsMasterResult': {'additionalProperties': False,
5954 'properties': {'Master': {'type': 'boolean'}},
5955 'required': ['Master'],
5957 'Macaroon': {'additionalProperties': False,
5958 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
5960 'data': {'items': {'type': 'integer'},
5962 'id': {'$ref': '#/definitions/packet'},
5963 'location': {'$ref': '#/definitions/packet'},
5964 'sig': {'items': {'type': 'integer'},
5966 'required': ['data',
5972 'ModelConfigResult': {'additionalProperties': False,
5973 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
5976 'required': ['Config'],
5978 'NotifyWatchResult': {'additionalProperties': False,
5979 'properties': {'Error': {'$ref': '#/definitions/Error'},
5980 'NotifyWatcherId': {'type': 'string'}},
5981 'required': ['NotifyWatcherId', 'Error'],
5983 'StateServingInfo': {'additionalProperties': False,
5984 'properties': {'APIPort': {'type': 'integer'},
5985 'CAPrivateKey': {'type': 'string'},
5986 'Cert': {'type': 'string'},
5987 'PrivateKey': {'type': 'string'},
5988 'SharedSecret': {'type': 'string'},
5989 'StatePort': {'type': 'integer'},
5990 'SystemIdentity': {'type': 'string'}},
5991 'required': ['APIPort',
5999 'caveat': {'additionalProperties': False,
6000 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
6001 'location': {'$ref': '#/definitions/packet'},
6002 'verificationId': {'$ref': '#/definitions/packet'}},
6003 'required': ['location',
6007 'packet': {'additionalProperties': False,
6008 'properties': {'headerLen': {'type': 'integer'},
6009 'start': {'type': 'integer'},
6010 'totalLen': {'type': 'integer'}},
6011 'required': ['start', 'totalLen', 'headerLen'],
6013 'properties': {'ClearReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6014 'Result': {'$ref': '#/definitions/ErrorResults'}},
6016 'GetEntities': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6017 'Result': {'$ref': '#/definitions/AgentGetEntitiesResults'}},
6019 'IsMaster': {'properties': {'Result': {'$ref': '#/definitions/IsMasterResult'}},
6021 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
6023 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
6024 'Result': {'$ref': '#/definitions/ErrorResults'}},
6026 'StateServingInfo': {'properties': {'Result': {'$ref': '#/definitions/StateServingInfo'}},
6028 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
6033 @ReturnMapping(ErrorResults
)
6034 async def ClearReboot(self
, entities
):
6036 entities : typing.Sequence[~Entity]
6037 Returns -> typing.Sequence[~ErrorResult]
6039 # map input types to rpc msg
6041 msg
= dict(Type
='Agent', Request
='ClearReboot', Version
=2, Params
=params
)
6042 params
['Entities'] = entities
6043 reply
= await self
.rpc(msg
)
6048 @ReturnMapping(AgentGetEntitiesResults
)
6049 async def GetEntities(self
, entities
):
6051 entities : typing.Sequence[~Entity]
6052 Returns -> typing.Sequence[~AgentGetEntitiesResult]
6054 # map input types to rpc msg
6056 msg
= dict(Type
='Agent', Request
='GetEntities', Version
=2, Params
=params
)
6057 params
['Entities'] = entities
6058 reply
= await self
.rpc(msg
)
6063 @ReturnMapping(IsMasterResult
)
6064 async def IsMaster(self
):
6069 # map input types to rpc msg
6071 msg
= dict(Type
='Agent', Request
='IsMaster', Version
=2, Params
=params
)
6073 reply
= await self
.rpc(msg
)
6078 @ReturnMapping(ModelConfigResult
)
6079 async def ModelConfig(self
):
6082 Returns -> typing.Mapping[str, typing.Any]
6084 # map input types to rpc msg
6086 msg
= dict(Type
='Agent', Request
='ModelConfig', Version
=2, Params
=params
)
6088 reply
= await self
.rpc(msg
)
6093 @ReturnMapping(ErrorResults
)
6094 async def SetPasswords(self
, changes
):
6096 changes : typing.Sequence[~EntityPassword]
6097 Returns -> typing.Sequence[~ErrorResult]
6099 # map input types to rpc msg
6101 msg
= dict(Type
='Agent', Request
='SetPasswords', Version
=2, Params
=params
)
6102 params
['Changes'] = changes
6103 reply
= await self
.rpc(msg
)
6108 @ReturnMapping(StateServingInfo
)
6109 async def StateServingInfo(self
):
6112 Returns -> typing.Union[int, str]
6114 # map input types to rpc msg
6116 msg
= dict(Type
='Agent', Request
='StateServingInfo', Version
=2, Params
=params
)
6118 reply
= await self
.rpc(msg
)
6123 @ReturnMapping(NotifyWatchResult
)
6124 async def WatchForModelConfigChanges(self
):
6127 Returns -> typing.Union[_ForwardRef('Error'), str]
6129 # map input types to rpc msg
6131 msg
= dict(Type
='Agent', Request
='WatchForModelConfigChanges', Version
=2, Params
=params
)
6133 reply
= await self
.rpc(msg
)
6137 class AgentTools(Type
):
6140 schema
= {'properties': {'UpdateToolsAvailable': {'type': 'object'}}, 'type': 'object'}
6143 @ReturnMapping(None)
6144 async def UpdateToolsAvailable(self
):
6149 # map input types to rpc msg
6151 msg
= dict(Type
='AgentTools', Request
='UpdateToolsAvailable', Version
=1, Params
=params
)
6153 reply
= await self
.rpc(msg
)
6157 class AllModelWatcher(Type
):
6158 name
= 'AllModelWatcher'
6160 schema
= {'definitions': {'AllWatcherNextResults': {'additionalProperties': False,
6161 'properties': {'Deltas': {'items': {'$ref': '#/definitions/Delta'},
6163 'required': ['Deltas'],
6165 'Delta': {'additionalProperties': False,
6166 'properties': {'Entity': {'additionalProperties': True,
6168 'Removed': {'type': 'boolean'}},
6169 'required': ['Removed', 'Entity'],
6171 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherNextResults'}},
6173 'Stop': {'type': 'object'}},
6177 @ReturnMapping(AllWatcherNextResults
)
6178 async def Next(self
):
6181 Returns -> typing.Sequence[~Delta]
6183 # map input types to rpc msg
6185 msg
= dict(Type
='AllModelWatcher', Request
='Next', Version
=2, Params
=params
)
6187 reply
= await self
.rpc(msg
)
6192 @ReturnMapping(None)
6193 async def Stop(self
):
6198 # map input types to rpc msg
6200 msg
= dict(Type
='AllModelWatcher', Request
='Stop', Version
=2, Params
=params
)
6202 reply
= await self
.rpc(msg
)
6206 class AllWatcher(Type
):
6209 schema
= {'definitions': {'AllWatcherNextResults': {'additionalProperties': False,
6210 'properties': {'Deltas': {'items': {'$ref': '#/definitions/Delta'},
6212 'required': ['Deltas'],
6214 'Delta': {'additionalProperties': False,
6215 'properties': {'Entity': {'additionalProperties': True,
6217 'Removed': {'type': 'boolean'}},
6218 'required': ['Removed', 'Entity'],
6220 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherNextResults'}},
6222 'Stop': {'type': 'object'}},
6226 @ReturnMapping(AllWatcherNextResults
)
6227 async def Next(self
):
6230 Returns -> typing.Sequence[~Delta]
6232 # map input types to rpc msg
6234 msg
= dict(Type
='AllWatcher', Request
='Next', Version
=1, Params
=params
)
6236 reply
= await self
.rpc(msg
)
6241 @ReturnMapping(None)
6242 async def Stop(self
):
6247 # map input types to rpc msg
6249 msg
= dict(Type
='AllWatcher', Request
='Stop', Version
=1, Params
=params
)
6251 reply
= await self
.rpc(msg
)
6255 class Annotations(Type
):
6256 name
= 'Annotations'
6258 schema
= {'definitions': {'AnnotationsGetResult': {'additionalProperties': False,
6259 'properties': {'Annotations': {'patternProperties': {'.*': {'type': 'string'}},
6261 'EntityTag': {'type': 'string'},
6262 'Error': {'$ref': '#/definitions/ErrorResult'}},
6263 'required': ['EntityTag',
6267 'AnnotationsGetResults': {'additionalProperties': False,
6268 'properties': {'Results': {'items': {'$ref': '#/definitions/AnnotationsGetResult'},
6270 'required': ['Results'],
6272 'AnnotationsSet': {'additionalProperties': False,
6273 'properties': {'Annotations': {'items': {'$ref': '#/definitions/EntityAnnotations'},
6275 'required': ['Annotations'],
6277 'Entities': {'additionalProperties': False,
6278 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
6280 'required': ['Entities'],
6282 'Entity': {'additionalProperties': False,
6283 'properties': {'Tag': {'type': 'string'}},
6284 'required': ['Tag'],
6286 'EntityAnnotations': {'additionalProperties': False,
6287 'properties': {'Annotations': {'patternProperties': {'.*': {'type': 'string'}},
6289 'EntityTag': {'type': 'string'}},
6290 'required': ['EntityTag', 'Annotations'],
6292 'Error': {'additionalProperties': False,
6293 'properties': {'Code': {'type': 'string'},
6294 'Info': {'$ref': '#/definitions/ErrorInfo'},
6295 'Message': {'type': 'string'}},
6296 'required': ['Message', 'Code'],
6298 'ErrorInfo': {'additionalProperties': False,
6299 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
6300 'MacaroonPath': {'type': 'string'}},
6302 'ErrorResult': {'additionalProperties': False,
6303 'properties': {'Error': {'$ref': '#/definitions/Error'}},
6304 'required': ['Error'],
6306 'ErrorResults': {'additionalProperties': False,
6307 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
6309 'required': ['Results'],
6311 'Macaroon': {'additionalProperties': False,
6312 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
6314 'data': {'items': {'type': 'integer'},
6316 'id': {'$ref': '#/definitions/packet'},
6317 'location': {'$ref': '#/definitions/packet'},
6318 'sig': {'items': {'type': 'integer'},
6320 'required': ['data',
6326 'caveat': {'additionalProperties': False,
6327 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
6328 'location': {'$ref': '#/definitions/packet'},
6329 'verificationId': {'$ref': '#/definitions/packet'}},
6330 'required': ['location',
6334 'packet': {'additionalProperties': False,
6335 'properties': {'headerLen': {'type': 'integer'},
6336 'start': {'type': 'integer'},
6337 'totalLen': {'type': 'integer'}},
6338 'required': ['start', 'totalLen', 'headerLen'],
6340 'properties': {'Get': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6341 'Result': {'$ref': '#/definitions/AnnotationsGetResults'}},
6343 'Set': {'properties': {'Params': {'$ref': '#/definitions/AnnotationsSet'},
6344 'Result': {'$ref': '#/definitions/ErrorResults'}},
6349 @ReturnMapping(AnnotationsGetResults
)
6350 async def Get(self
, entities
):
6352 entities : typing.Sequence[~Entity]
6353 Returns -> typing.Sequence[~AnnotationsGetResult]
6355 # map input types to rpc msg
6357 msg
= dict(Type
='Annotations', Request
='Get', Version
=2, Params
=params
)
6358 params
['Entities'] = entities
6359 reply
= await self
.rpc(msg
)
6364 @ReturnMapping(ErrorResults
)
6365 async def Set(self
, annotations
):
6367 annotations : typing.Sequence[~EntityAnnotations]
6368 Returns -> typing.Sequence[~ErrorResult]
6370 # map input types to rpc msg
6372 msg
= dict(Type
='Annotations', Request
='Set', Version
=2, Params
=params
)
6373 params
['Annotations'] = annotations
6374 reply
= await self
.rpc(msg
)
6378 class Backups(Type
):
6381 schema
= {'definitions': {'BackupsCreateArgs': {'additionalProperties': False,
6382 'properties': {'Notes': {'type': 'string'}},
6383 'required': ['Notes'],
6385 'BackupsInfoArgs': {'additionalProperties': False,
6386 'properties': {'ID': {'type': 'string'}},
6389 'BackupsListArgs': {'additionalProperties': False,
6391 'BackupsListResult': {'additionalProperties': False,
6392 'properties': {'List': {'items': {'$ref': '#/definitions/BackupsMetadataResult'},
6394 'required': ['List'],
6396 'BackupsMetadataResult': {'additionalProperties': False,
6397 'properties': {'CACert': {'type': 'string'},
6398 'CAPrivateKey': {'type': 'string'},
6399 'Checksum': {'type': 'string'},
6400 'ChecksumFormat': {'type': 'string'},
6401 'Finished': {'format': 'date-time',
6403 'Hostname': {'type': 'string'},
6404 'ID': {'type': 'string'},
6405 'Machine': {'type': 'string'},
6406 'Model': {'type': 'string'},
6407 'Notes': {'type': 'string'},
6408 'Size': {'type': 'integer'},
6409 'Started': {'format': 'date-time',
6411 'Stored': {'format': 'date-time',
6413 'Version': {'$ref': '#/definitions/Number'}},
6429 'BackupsRemoveArgs': {'additionalProperties': False,
6430 'properties': {'ID': {'type': 'string'}},
6433 'Number': {'additionalProperties': False,
6434 'properties': {'Build': {'type': 'integer'},
6435 'Major': {'type': 'integer'},
6436 'Minor': {'type': 'integer'},
6437 'Patch': {'type': 'integer'},
6438 'Tag': {'type': 'string'}},
6439 'required': ['Major',
6445 'RestoreArgs': {'additionalProperties': False,
6446 'properties': {'BackupId': {'type': 'string'}},
6447 'required': ['BackupId'],
6449 'properties': {'Create': {'properties': {'Params': {'$ref': '#/definitions/BackupsCreateArgs'},
6450 'Result': {'$ref': '#/definitions/BackupsMetadataResult'}},
6452 'FinishRestore': {'type': 'object'},
6453 'Info': {'properties': {'Params': {'$ref': '#/definitions/BackupsInfoArgs'},
6454 'Result': {'$ref': '#/definitions/BackupsMetadataResult'}},
6456 'List': {'properties': {'Params': {'$ref': '#/definitions/BackupsListArgs'},
6457 'Result': {'$ref': '#/definitions/BackupsListResult'}},
6459 'PrepareRestore': {'type': 'object'},
6460 'Remove': {'properties': {'Params': {'$ref': '#/definitions/BackupsRemoveArgs'}},
6462 'Restore': {'properties': {'Params': {'$ref': '#/definitions/RestoreArgs'}},
6467 @ReturnMapping(BackupsMetadataResult
)
6468 async def Create(self
, notes
):
6471 Returns -> typing.Union[str, int, _ForwardRef('Number')]
6473 # map input types to rpc msg
6475 msg
= dict(Type
='Backups', Request
='Create', Version
=1, Params
=params
)
6476 params
['Notes'] = notes
6477 reply
= await self
.rpc(msg
)
6482 @ReturnMapping(None)
6483 async def FinishRestore(self
):
6488 # map input types to rpc msg
6490 msg
= dict(Type
='Backups', Request
='FinishRestore', Version
=1, Params
=params
)
6492 reply
= await self
.rpc(msg
)
6497 @ReturnMapping(BackupsMetadataResult
)
6498 async def Info(self
, id_
):
6501 Returns -> typing.Union[str, int, _ForwardRef('Number')]
6503 # map input types to rpc msg
6505 msg
= dict(Type
='Backups', Request
='Info', Version
=1, Params
=params
)
6507 reply
= await self
.rpc(msg
)
6512 @ReturnMapping(BackupsListResult
)
6513 async def List(self
):
6516 Returns -> typing.Sequence[~BackupsMetadataResult]
6518 # map input types to rpc msg
6520 msg
= dict(Type
='Backups', Request
='List', Version
=1, Params
=params
)
6522 reply
= await self
.rpc(msg
)
6527 @ReturnMapping(None)
6528 async def PrepareRestore(self
):
6533 # map input types to rpc msg
6535 msg
= dict(Type
='Backups', Request
='PrepareRestore', Version
=1, Params
=params
)
6537 reply
= await self
.rpc(msg
)
6542 @ReturnMapping(None)
6543 async def Remove(self
, id_
):
6548 # map input types to rpc msg
6550 msg
= dict(Type
='Backups', Request
='Remove', Version
=1, Params
=params
)
6552 reply
= await self
.rpc(msg
)
6557 @ReturnMapping(None)
6558 async def Restore(self
, backupid
):
6563 # map input types to rpc msg
6565 msg
= dict(Type
='Backups', Request
='Restore', Version
=1, Params
=params
)
6566 params
['BackupId'] = backupid
6567 reply
= await self
.rpc(msg
)
6574 schema
= {'definitions': {'Block': {'additionalProperties': False,
6575 'properties': {'id': {'type': 'string'},
6576 'message': {'type': 'string'},
6577 'tag': {'type': 'string'},
6578 'type': {'type': 'string'}},
6579 'required': ['id', 'tag', 'type'],
6581 'BlockResult': {'additionalProperties': False,
6582 'properties': {'error': {'$ref': '#/definitions/Error'},
6583 'result': {'$ref': '#/definitions/Block'}},
6584 'required': ['result'],
6586 'BlockResults': {'additionalProperties': False,
6587 'properties': {'results': {'items': {'$ref': '#/definitions/BlockResult'},
6590 'BlockSwitchParams': {'additionalProperties': False,
6591 'properties': {'message': {'type': 'string'},
6592 'type': {'type': 'string'}},
6593 'required': ['type'],
6595 'Error': {'additionalProperties': False,
6596 'properties': {'Code': {'type': 'string'},
6597 'Info': {'$ref': '#/definitions/ErrorInfo'},
6598 'Message': {'type': 'string'}},
6599 'required': ['Message', 'Code'],
6601 'ErrorInfo': {'additionalProperties': False,
6602 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
6603 'MacaroonPath': {'type': 'string'}},
6605 'ErrorResult': {'additionalProperties': False,
6606 'properties': {'Error': {'$ref': '#/definitions/Error'}},
6607 'required': ['Error'],
6609 'Macaroon': {'additionalProperties': False,
6610 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
6612 'data': {'items': {'type': 'integer'},
6614 'id': {'$ref': '#/definitions/packet'},
6615 'location': {'$ref': '#/definitions/packet'},
6616 'sig': {'items': {'type': 'integer'},
6618 'required': ['data',
6624 'caveat': {'additionalProperties': False,
6625 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
6626 'location': {'$ref': '#/definitions/packet'},
6627 'verificationId': {'$ref': '#/definitions/packet'}},
6628 'required': ['location',
6632 'packet': {'additionalProperties': False,
6633 'properties': {'headerLen': {'type': 'integer'},
6634 'start': {'type': 'integer'},
6635 'totalLen': {'type': 'integer'}},
6636 'required': ['start', 'totalLen', 'headerLen'],
6638 'properties': {'List': {'properties': {'Result': {'$ref': '#/definitions/BlockResults'}},
6640 'SwitchBlockOff': {'properties': {'Params': {'$ref': '#/definitions/BlockSwitchParams'},
6641 'Result': {'$ref': '#/definitions/ErrorResult'}},
6643 'SwitchBlockOn': {'properties': {'Params': {'$ref': '#/definitions/BlockSwitchParams'},
6644 'Result': {'$ref': '#/definitions/ErrorResult'}},
6649 @ReturnMapping(BlockResults
)
6650 async def List(self
):
6653 Returns -> typing.Sequence[~BlockResult]
6655 # map input types to rpc msg
6657 msg
= dict(Type
='Block', Request
='List', Version
=2, Params
=params
)
6659 reply
= await self
.rpc(msg
)
6664 @ReturnMapping(ErrorResult
)
6665 async def SwitchBlockOff(self
, message
, type_
):
6671 # map input types to rpc msg
6673 msg
= dict(Type
='Block', Request
='SwitchBlockOff', Version
=2, Params
=params
)
6674 params
['message'] = message
6675 params
['type'] = type_
6676 reply
= await self
.rpc(msg
)
6681 @ReturnMapping(ErrorResult
)
6682 async def SwitchBlockOn(self
, message
, type_
):
6688 # map input types to rpc msg
6690 msg
= dict(Type
='Block', Request
='SwitchBlockOn', Version
=2, Params
=params
)
6691 params
['message'] = message
6692 params
['type'] = type_
6693 reply
= await self
.rpc(msg
)
6697 class CharmRevisionUpdater(Type
):
6698 name
= 'CharmRevisionUpdater'
6700 schema
= {'definitions': {'Error': {'additionalProperties': False,
6701 'properties': {'Code': {'type': 'string'},
6702 'Info': {'$ref': '#/definitions/ErrorInfo'},
6703 'Message': {'type': 'string'}},
6704 'required': ['Message', 'Code'],
6706 'ErrorInfo': {'additionalProperties': False,
6707 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
6708 'MacaroonPath': {'type': 'string'}},
6710 'ErrorResult': {'additionalProperties': False,
6711 'properties': {'Error': {'$ref': '#/definitions/Error'}},
6712 'required': ['Error'],
6714 'Macaroon': {'additionalProperties': False,
6715 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
6717 'data': {'items': {'type': 'integer'},
6719 'id': {'$ref': '#/definitions/packet'},
6720 'location': {'$ref': '#/definitions/packet'},
6721 'sig': {'items': {'type': 'integer'},
6723 'required': ['data',
6729 'caveat': {'additionalProperties': False,
6730 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
6731 'location': {'$ref': '#/definitions/packet'},
6732 'verificationId': {'$ref': '#/definitions/packet'}},
6733 'required': ['location',
6737 'packet': {'additionalProperties': False,
6738 'properties': {'headerLen': {'type': 'integer'},
6739 'start': {'type': 'integer'},
6740 'totalLen': {'type': 'integer'}},
6741 'required': ['start', 'totalLen', 'headerLen'],
6743 'properties': {'UpdateLatestRevisions': {'properties': {'Result': {'$ref': '#/definitions/ErrorResult'}},
6748 @ReturnMapping(ErrorResult
)
6749 async def UpdateLatestRevisions(self
):
6754 # map input types to rpc msg
6756 msg
= dict(Type
='CharmRevisionUpdater', Request
='UpdateLatestRevisions', Version
=1, Params
=params
)
6758 reply
= await self
.rpc(msg
)
6765 schema
= {'definitions': {'CharmInfo': {'additionalProperties': False,
6766 'properties': {'CharmURL': {'type': 'string'}},
6767 'required': ['CharmURL'],
6769 'CharmsList': {'additionalProperties': False,
6770 'properties': {'Names': {'items': {'type': 'string'},
6772 'required': ['Names'],
6774 'CharmsListResult': {'additionalProperties': False,
6775 'properties': {'CharmURLs': {'items': {'type': 'string'},
6777 'required': ['CharmURLs'],
6779 'IsMeteredResult': {'additionalProperties': False,
6780 'properties': {'Metered': {'type': 'boolean'}},
6781 'required': ['Metered'],
6783 'properties': {'CharmInfo': {'properties': {'Params': {'$ref': '#/definitions/CharmInfo'},
6784 'Result': {'$ref': '#/definitions/CharmInfo'}},
6786 'IsMetered': {'properties': {'Params': {'$ref': '#/definitions/CharmInfo'},
6787 'Result': {'$ref': '#/definitions/IsMeteredResult'}},
6789 'List': {'properties': {'Params': {'$ref': '#/definitions/CharmsList'},
6790 'Result': {'$ref': '#/definitions/CharmsListResult'}},
6795 @ReturnMapping(CharmInfo
)
6796 async def CharmInfo(self
, charmurl
):
6801 # map input types to rpc msg
6803 msg
= dict(Type
='Charms', Request
='CharmInfo', Version
=2, Params
=params
)
6804 params
['CharmURL'] = charmurl
6805 reply
= await self
.rpc(msg
)
6810 @ReturnMapping(IsMeteredResult
)
6811 async def IsMetered(self
, charmurl
):
6816 # map input types to rpc msg
6818 msg
= dict(Type
='Charms', Request
='IsMetered', Version
=2, Params
=params
)
6819 params
['CharmURL'] = charmurl
6820 reply
= await self
.rpc(msg
)
6825 @ReturnMapping(CharmsListResult
)
6826 async def List(self
, names
):
6828 names : typing.Sequence[str]
6829 Returns -> typing.Sequence[str]
6831 # map input types to rpc msg
6833 msg
= dict(Type
='Charms', Request
='List', Version
=2, Params
=params
)
6834 params
['Names'] = names
6835 reply
= await self
.rpc(msg
)
6839 class Cleaner(Type
):
6842 schema
= {'definitions': {'Error': {'additionalProperties': False,
6843 'properties': {'Code': {'type': 'string'},
6844 'Info': {'$ref': '#/definitions/ErrorInfo'},
6845 'Message': {'type': 'string'}},
6846 'required': ['Message', 'Code'],
6848 'ErrorInfo': {'additionalProperties': False,
6849 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
6850 'MacaroonPath': {'type': 'string'}},
6852 'Macaroon': {'additionalProperties': False,
6853 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
6855 'data': {'items': {'type': 'integer'},
6857 'id': {'$ref': '#/definitions/packet'},
6858 'location': {'$ref': '#/definitions/packet'},
6859 'sig': {'items': {'type': 'integer'},
6861 'required': ['data',
6867 'NotifyWatchResult': {'additionalProperties': False,
6868 'properties': {'Error': {'$ref': '#/definitions/Error'},
6869 'NotifyWatcherId': {'type': 'string'}},
6870 'required': ['NotifyWatcherId', 'Error'],
6872 'caveat': {'additionalProperties': False,
6873 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
6874 'location': {'$ref': '#/definitions/packet'},
6875 'verificationId': {'$ref': '#/definitions/packet'}},
6876 'required': ['location',
6880 'packet': {'additionalProperties': False,
6881 'properties': {'headerLen': {'type': 'integer'},
6882 'start': {'type': 'integer'},
6883 'totalLen': {'type': 'integer'}},
6884 'required': ['start', 'totalLen', 'headerLen'],
6886 'properties': {'Cleanup': {'type': 'object'},
6887 'WatchCleanups': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
6892 @ReturnMapping(None)
6893 async def Cleanup(self
):
6898 # map input types to rpc msg
6900 msg
= dict(Type
='Cleaner', Request
='Cleanup', Version
=2, Params
=params
)
6902 reply
= await self
.rpc(msg
)
6907 @ReturnMapping(NotifyWatchResult
)
6908 async def WatchCleanups(self
):
6911 Returns -> typing.Union[_ForwardRef('Error'), str]
6913 # map input types to rpc msg
6915 msg
= dict(Type
='Cleaner', Request
='WatchCleanups', Version
=2, Params
=params
)
6917 reply
= await self
.rpc(msg
)
6924 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
6925 'properties': {'Servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
6928 'required': ['Servers'],
6930 'AddCharm': {'additionalProperties': False,
6931 'properties': {'Channel': {'type': 'string'},
6932 'URL': {'type': 'string'}},
6933 'required': ['URL', 'Channel'],
6935 'AddCharmWithAuthorization': {'additionalProperties': False,
6936 'properties': {'Channel': {'type': 'string'},
6937 'CharmStoreMacaroon': {'$ref': '#/definitions/Macaroon'},
6938 'URL': {'type': 'string'}},
6941 'CharmStoreMacaroon'],
6943 'AddMachineParams': {'additionalProperties': False,
6944 'properties': {'Addrs': {'items': {'$ref': '#/definitions/Address'},
6946 'Constraints': {'$ref': '#/definitions/Value'},
6947 'ContainerType': {'type': 'string'},
6948 'Disks': {'items': {'$ref': '#/definitions/Constraints'},
6950 'HardwareCharacteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
6951 'InstanceId': {'type': 'string'},
6952 'Jobs': {'items': {'type': 'string'},
6954 'Nonce': {'type': 'string'},
6955 'ParentId': {'type': 'string'},
6956 'Placement': {'$ref': '#/definitions/Placement'},
6957 'Series': {'type': 'string'}},
6958 'required': ['Series',
6967 'HardwareCharacteristics',
6970 'AddMachines': {'additionalProperties': False,
6971 'properties': {'MachineParams': {'items': {'$ref': '#/definitions/AddMachineParams'},
6973 'required': ['MachineParams'],
6975 'AddMachinesResult': {'additionalProperties': False,
6976 'properties': {'Error': {'$ref': '#/definitions/Error'},
6977 'Machine': {'type': 'string'}},
6978 'required': ['Machine', 'Error'],
6980 'AddMachinesResults': {'additionalProperties': False,
6981 'properties': {'Machines': {'items': {'$ref': '#/definitions/AddMachinesResult'},
6983 'required': ['Machines'],
6985 'Address': {'additionalProperties': False,
6986 'properties': {'Scope': {'type': 'string'},
6987 'SpaceName': {'type': 'string'},
6988 'Type': {'type': 'string'},
6989 'Value': {'type': 'string'}},
6990 'required': ['Value', 'Type', 'Scope'],
6992 'AgentVersionResult': {'additionalProperties': False,
6993 'properties': {'Version': {'$ref': '#/definitions/Number'}},
6994 'required': ['Version'],
6996 'AllWatcherId': {'additionalProperties': False,
6997 'properties': {'AllWatcherId': {'type': 'string'}},
6998 'required': ['AllWatcherId'],
7000 'Binary': {'additionalProperties': False,
7001 'properties': {'Arch': {'type': 'string'},
7002 'Number': {'$ref': '#/definitions/Number'},
7003 'Series': {'type': 'string'}},
7004 'required': ['Number', 'Series', 'Arch'],
7006 'BundleChangesChange': {'additionalProperties': False,
7007 'properties': {'args': {'items': {'additionalProperties': True,
7010 'id': {'type': 'string'},
7011 'method': {'type': 'string'},
7012 'requires': {'items': {'type': 'string'},
7019 'CharmInfo': {'additionalProperties': False,
7020 'properties': {'CharmURL': {'type': 'string'}},
7021 'required': ['CharmURL'],
7023 'Constraints': {'additionalProperties': False,
7024 'properties': {'Count': {'type': 'integer'},
7025 'Pool': {'type': 'string'},
7026 'Size': {'type': 'integer'}},
7027 'required': ['Pool', 'Size', 'Count'],
7029 'DestroyMachines': {'additionalProperties': False,
7030 'properties': {'Force': {'type': 'boolean'},
7031 'MachineNames': {'items': {'type': 'string'},
7033 'required': ['MachineNames', 'Force'],
7035 'DetailedStatus': {'additionalProperties': False,
7036 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
7039 'Err': {'additionalProperties': True,
7041 'Info': {'type': 'string'},
7042 'Kind': {'type': 'string'},
7043 'Life': {'type': 'string'},
7044 'Since': {'format': 'date-time',
7046 'Status': {'type': 'string'},
7047 'Version': {'type': 'string'}},
7048 'required': ['Status',
7057 'EndpointStatus': {'additionalProperties': False,
7058 'properties': {'Name': {'type': 'string'},
7059 'Role': {'type': 'string'},
7060 'ServiceName': {'type': 'string'},
7061 'Subordinate': {'type': 'boolean'}},
7062 'required': ['ServiceName',
7067 'Entities': {'additionalProperties': False,
7068 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
7070 'required': ['Entities'],
7072 'Entity': {'additionalProperties': False,
7073 'properties': {'Tag': {'type': 'string'}},
7074 'required': ['Tag'],
7076 'EntityStatus': {'additionalProperties': False,
7077 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
7080 'Info': {'type': 'string'},
7081 'Since': {'format': 'date-time',
7083 'Status': {'type': 'string'}},
7084 'required': ['Status',
7089 'Error': {'additionalProperties': False,
7090 'properties': {'Code': {'type': 'string'},
7091 'Info': {'$ref': '#/definitions/ErrorInfo'},
7092 'Message': {'type': 'string'}},
7093 'required': ['Message', 'Code'],
7095 'ErrorInfo': {'additionalProperties': False,
7096 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
7097 'MacaroonPath': {'type': 'string'}},
7099 'ErrorResult': {'additionalProperties': False,
7100 'properties': {'Error': {'$ref': '#/definitions/Error'}},
7101 'required': ['Error'],
7103 'ErrorResults': {'additionalProperties': False,
7104 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
7106 'required': ['Results'],
7108 'FindToolsParams': {'additionalProperties': False,
7109 'properties': {'Arch': {'type': 'string'},
7110 'MajorVersion': {'type': 'integer'},
7111 'MinorVersion': {'type': 'integer'},
7112 'Number': {'$ref': '#/definitions/Number'},
7113 'Series': {'type': 'string'}},
7114 'required': ['Number',
7120 'FindToolsResult': {'additionalProperties': False,
7121 'properties': {'Error': {'$ref': '#/definitions/Error'},
7122 'List': {'items': {'$ref': '#/definitions/Tools'},
7124 'required': ['List', 'Error'],
7126 'FullStatus': {'additionalProperties': False,
7127 'properties': {'AvailableVersion': {'type': 'string'},
7128 'Machines': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}},
7130 'ModelName': {'type': 'string'},
7131 'Relations': {'items': {'$ref': '#/definitions/RelationStatus'},
7133 'Services': {'patternProperties': {'.*': {'$ref': '#/definitions/ServiceStatus'}},
7135 'required': ['ModelName',
7141 'GetBundleChangesParams': {'additionalProperties': False,
7142 'properties': {'yaml': {'type': 'string'}},
7143 'required': ['yaml'],
7145 'GetBundleChangesResults': {'additionalProperties': False,
7146 'properties': {'changes': {'items': {'$ref': '#/definitions/BundleChangesChange'},
7148 'errors': {'items': {'type': 'string'},
7151 'GetConstraintsResults': {'additionalProperties': False,
7152 'properties': {'Constraints': {'$ref': '#/definitions/Value'}},
7153 'required': ['Constraints'],
7155 'HardwareCharacteristics': {'additionalProperties': False,
7156 'properties': {'Arch': {'type': 'string'},
7157 'AvailabilityZone': {'type': 'string'},
7158 'CpuCores': {'type': 'integer'},
7159 'CpuPower': {'type': 'integer'},
7160 'Mem': {'type': 'integer'},
7161 'RootDisk': {'type': 'integer'},
7162 'Tags': {'items': {'type': 'string'},
7165 'HostPort': {'additionalProperties': False,
7166 'properties': {'Address': {'$ref': '#/definitions/Address'},
7167 'Port': {'type': 'integer'}},
7168 'required': ['Address', 'Port'],
7170 'Macaroon': {'additionalProperties': False,
7171 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
7173 'data': {'items': {'type': 'integer'},
7175 'id': {'$ref': '#/definitions/packet'},
7176 'location': {'$ref': '#/definitions/packet'},
7177 'sig': {'items': {'type': 'integer'},
7179 'required': ['data',
7185 'MachineStatus': {'additionalProperties': False,
7186 'properties': {'AgentStatus': {'$ref': '#/definitions/DetailedStatus'},
7187 'Containers': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}},
7189 'DNSName': {'type': 'string'},
7190 'Hardware': {'type': 'string'},
7191 'HasVote': {'type': 'boolean'},
7192 'Id': {'type': 'string'},
7193 'InstanceId': {'type': 'string'},
7194 'InstanceStatus': {'$ref': '#/definitions/DetailedStatus'},
7195 'Jobs': {'items': {'type': 'string'},
7197 'Series': {'type': 'string'},
7198 'WantsVote': {'type': 'boolean'}},
7199 'required': ['AgentStatus',
7211 'MeterStatus': {'additionalProperties': False,
7212 'properties': {'Color': {'type': 'string'},
7213 'Message': {'type': 'string'}},
7214 'required': ['Color', 'Message'],
7216 'ModelConfigResults': {'additionalProperties': False,
7217 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
7220 'required': ['Config'],
7222 'ModelInfo': {'additionalProperties': False,
7223 'properties': {'DefaultSeries': {'type': 'string'},
7224 'Life': {'type': 'string'},
7225 'Name': {'type': 'string'},
7226 'OwnerTag': {'type': 'string'},
7227 'ProviderType': {'type': 'string'},
7228 'ServerUUID': {'type': 'string'},
7229 'Status': {'$ref': '#/definitions/EntityStatus'},
7230 'UUID': {'type': 'string'},
7231 'Users': {'items': {'$ref': '#/definitions/ModelUserInfo'},
7233 'required': ['Name',
7243 'ModelSet': {'additionalProperties': False,
7244 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
7247 'required': ['Config'],
7249 'ModelUnset': {'additionalProperties': False,
7250 'properties': {'Keys': {'items': {'type': 'string'},
7252 'required': ['Keys'],
7254 'ModelUserInfo': {'additionalProperties': False,
7255 'properties': {'access': {'type': 'string'},
7256 'displayname': {'type': 'string'},
7257 'lastconnection': {'format': 'date-time',
7259 'user': {'type': 'string'}},
7260 'required': ['user',
7265 'ModelUserInfoResult': {'additionalProperties': False,
7266 'properties': {'error': {'$ref': '#/definitions/Error'},
7267 'result': {'$ref': '#/definitions/ModelUserInfo'}},
7269 'ModelUserInfoResults': {'additionalProperties': False,
7270 'properties': {'results': {'items': {'$ref': '#/definitions/ModelUserInfoResult'},
7272 'required': ['results'],
7274 'Number': {'additionalProperties': False,
7275 'properties': {'Build': {'type': 'integer'},
7276 'Major': {'type': 'integer'},
7277 'Minor': {'type': 'integer'},
7278 'Patch': {'type': 'integer'},
7279 'Tag': {'type': 'string'}},
7280 'required': ['Major',
7286 'Placement': {'additionalProperties': False,
7287 'properties': {'Directive': {'type': 'string'},
7288 'Scope': {'type': 'string'}},
7289 'required': ['Scope', 'Directive'],
7291 'PrivateAddress': {'additionalProperties': False,
7292 'properties': {'Target': {'type': 'string'}},
7293 'required': ['Target'],
7295 'PrivateAddressResults': {'additionalProperties': False,
7296 'properties': {'PrivateAddress': {'type': 'string'}},
7297 'required': ['PrivateAddress'],
7299 'ProvisioningScriptParams': {'additionalProperties': False,
7300 'properties': {'DataDir': {'type': 'string'},
7301 'DisablePackageCommands': {'type': 'boolean'},
7302 'MachineId': {'type': 'string'},
7303 'Nonce': {'type': 'string'}},
7304 'required': ['MachineId',
7307 'DisablePackageCommands'],
7309 'ProvisioningScriptResult': {'additionalProperties': False,
7310 'properties': {'Script': {'type': 'string'}},
7311 'required': ['Script'],
7313 'PublicAddress': {'additionalProperties': False,
7314 'properties': {'Target': {'type': 'string'}},
7315 'required': ['Target'],
7317 'PublicAddressResults': {'additionalProperties': False,
7318 'properties': {'PublicAddress': {'type': 'string'}},
7319 'required': ['PublicAddress'],
7321 'RelationStatus': {'additionalProperties': False,
7322 'properties': {'Endpoints': {'items': {'$ref': '#/definitions/EndpointStatus'},
7324 'Id': {'type': 'integer'},
7325 'Interface': {'type': 'string'},
7326 'Key': {'type': 'string'},
7327 'Scope': {'type': 'string'}},
7334 'ResolveCharmResult': {'additionalProperties': False,
7335 'properties': {'Error': {'type': 'string'},
7336 'URL': {'$ref': '#/definitions/URL'}},
7338 'ResolveCharmResults': {'additionalProperties': False,
7339 'properties': {'URLs': {'items': {'$ref': '#/definitions/ResolveCharmResult'},
7341 'required': ['URLs'],
7343 'ResolveCharms': {'additionalProperties': False,
7344 'properties': {'References': {'items': {'$ref': '#/definitions/URL'},
7346 'required': ['References'],
7348 'Resolved': {'additionalProperties': False,
7349 'properties': {'Retry': {'type': 'boolean'},
7350 'UnitName': {'type': 'string'}},
7351 'required': ['UnitName', 'Retry'],
7353 'ServiceStatus': {'additionalProperties': False,
7354 'properties': {'CanUpgradeTo': {'type': 'string'},
7355 'Charm': {'type': 'string'},
7356 'Err': {'additionalProperties': True,
7358 'Exposed': {'type': 'boolean'},
7359 'Life': {'type': 'string'},
7360 'MeterStatuses': {'patternProperties': {'.*': {'$ref': '#/definitions/MeterStatus'}},
7362 'Relations': {'patternProperties': {'.*': {'items': {'type': 'string'},
7365 'Status': {'$ref': '#/definitions/DetailedStatus'},
7366 'SubordinateTo': {'items': {'type': 'string'},
7368 'Units': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitStatus'}},
7381 'SetConstraints': {'additionalProperties': False,
7382 'properties': {'Constraints': {'$ref': '#/definitions/Value'},
7383 'ServiceName': {'type': 'string'}},
7384 'required': ['ServiceName', 'Constraints'],
7386 'SetModelAgentVersion': {'additionalProperties': False,
7387 'properties': {'Version': {'$ref': '#/definitions/Number'}},
7388 'required': ['Version'],
7390 'StatusHistoryArgs': {'additionalProperties': False,
7391 'properties': {'Kind': {'type': 'string'},
7392 'Name': {'type': 'string'},
7393 'Size': {'type': 'integer'}},
7394 'required': ['Kind', 'Size', 'Name'],
7396 'StatusHistoryResults': {'additionalProperties': False,
7397 'properties': {'Statuses': {'items': {'$ref': '#/definitions/DetailedStatus'},
7399 'required': ['Statuses'],
7401 'StatusParams': {'additionalProperties': False,
7402 'properties': {'Patterns': {'items': {'type': 'string'},
7404 'required': ['Patterns'],
7406 'Tools': {'additionalProperties': False,
7407 'properties': {'sha256': {'type': 'string'},
7408 'size': {'type': 'integer'},
7409 'url': {'type': 'string'},
7410 'version': {'$ref': '#/definitions/Binary'}},
7411 'required': ['version', 'url', 'size'],
7413 'URL': {'additionalProperties': False,
7414 'properties': {'Channel': {'type': 'string'},
7415 'Name': {'type': 'string'},
7416 'Revision': {'type': 'integer'},
7417 'Schema': {'type': 'string'},
7418 'Series': {'type': 'string'},
7419 'User': {'type': 'string'}},
7420 'required': ['Schema',
7427 'UnitStatus': {'additionalProperties': False,
7428 'properties': {'AgentStatus': {'$ref': '#/definitions/DetailedStatus'},
7429 'Charm': {'type': 'string'},
7430 'Machine': {'type': 'string'},
7431 'OpenedPorts': {'items': {'type': 'string'},
7433 'PublicAddress': {'type': 'string'},
7434 'Subordinates': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitStatus'}},
7436 'WorkloadStatus': {'$ref': '#/definitions/DetailedStatus'}},
7437 'required': ['AgentStatus',
7445 'Value': {'additionalProperties': False,
7446 'properties': {'arch': {'type': 'string'},
7447 'container': {'type': 'string'},
7448 'cpu-cores': {'type': 'integer'},
7449 'cpu-power': {'type': 'integer'},
7450 'instance-type': {'type': 'string'},
7451 'mem': {'type': 'integer'},
7452 'root-disk': {'type': 'integer'},
7453 'spaces': {'items': {'type': 'string'},
7455 'tags': {'items': {'type': 'string'},
7457 'virt-type': {'type': 'string'}},
7459 'caveat': {'additionalProperties': False,
7460 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
7461 'location': {'$ref': '#/definitions/packet'},
7462 'verificationId': {'$ref': '#/definitions/packet'}},
7463 'required': ['location',
7467 'packet': {'additionalProperties': False,
7468 'properties': {'headerLen': {'type': 'integer'},
7469 'start': {'type': 'integer'},
7470 'totalLen': {'type': 'integer'}},
7471 'required': ['start', 'totalLen', 'headerLen'],
7473 'properties': {'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
7475 'AbortCurrentUpgrade': {'type': 'object'},
7476 'AddCharm': {'properties': {'Params': {'$ref': '#/definitions/AddCharm'}},
7478 'AddCharmWithAuthorization': {'properties': {'Params': {'$ref': '#/definitions/AddCharmWithAuthorization'}},
7480 'AddMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
7481 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
7483 'AddMachinesV2': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
7484 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
7486 'AgentVersion': {'properties': {'Result': {'$ref': '#/definitions/AgentVersionResult'}},
7488 'CharmInfo': {'properties': {'Params': {'$ref': '#/definitions/CharmInfo'},
7489 'Result': {'$ref': '#/definitions/CharmInfo'}},
7491 'DestroyMachines': {'properties': {'Params': {'$ref': '#/definitions/DestroyMachines'}},
7493 'DestroyModel': {'type': 'object'},
7494 'FindTools': {'properties': {'Params': {'$ref': '#/definitions/FindToolsParams'},
7495 'Result': {'$ref': '#/definitions/FindToolsResult'}},
7497 'FullStatus': {'properties': {'Params': {'$ref': '#/definitions/StatusParams'},
7498 'Result': {'$ref': '#/definitions/FullStatus'}},
7500 'GetBundleChanges': {'properties': {'Params': {'$ref': '#/definitions/GetBundleChangesParams'},
7501 'Result': {'$ref': '#/definitions/GetBundleChangesResults'}},
7503 'GetModelConstraints': {'properties': {'Result': {'$ref': '#/definitions/GetConstraintsResults'}},
7505 'InjectMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
7506 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
7508 'ModelGet': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResults'}},
7510 'ModelInfo': {'properties': {'Result': {'$ref': '#/definitions/ModelInfo'}},
7512 'ModelSet': {'properties': {'Params': {'$ref': '#/definitions/ModelSet'}},
7514 'ModelUnset': {'properties': {'Params': {'$ref': '#/definitions/ModelUnset'}},
7516 'ModelUserInfo': {'properties': {'Result': {'$ref': '#/definitions/ModelUserInfoResults'}},
7518 'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/PrivateAddress'},
7519 'Result': {'$ref': '#/definitions/PrivateAddressResults'}},
7521 'ProvisioningScript': {'properties': {'Params': {'$ref': '#/definitions/ProvisioningScriptParams'},
7522 'Result': {'$ref': '#/definitions/ProvisioningScriptResult'}},
7524 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/PublicAddress'},
7525 'Result': {'$ref': '#/definitions/PublicAddressResults'}},
7527 'ResolveCharms': {'properties': {'Params': {'$ref': '#/definitions/ResolveCharms'},
7528 'Result': {'$ref': '#/definitions/ResolveCharmResults'}},
7530 'Resolved': {'properties': {'Params': {'$ref': '#/definitions/Resolved'}},
7532 'RetryProvisioning': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
7533 'Result': {'$ref': '#/definitions/ErrorResults'}},
7535 'SetModelAgentVersion': {'properties': {'Params': {'$ref': '#/definitions/SetModelAgentVersion'}},
7537 'SetModelConstraints': {'properties': {'Params': {'$ref': '#/definitions/SetConstraints'}},
7539 'StatusHistory': {'properties': {'Params': {'$ref': '#/definitions/StatusHistoryArgs'},
7540 'Result': {'$ref': '#/definitions/StatusHistoryResults'}},
7542 'WatchAll': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherId'}},
7547 @ReturnMapping(APIHostPortsResult
)
7548 async def APIHostPorts(self
):
7551 Returns -> typing.Sequence[~HostPort]
7553 # map input types to rpc msg
7555 msg
= dict(Type
='Client', Request
='APIHostPorts', Version
=1, Params
=params
)
7557 reply
= await self
.rpc(msg
)
7562 @ReturnMapping(None)
7563 async def AbortCurrentUpgrade(self
):
7568 # map input types to rpc msg
7570 msg
= dict(Type
='Client', Request
='AbortCurrentUpgrade', Version
=1, Params
=params
)
7572 reply
= await self
.rpc(msg
)
7577 @ReturnMapping(None)
7578 async def AddCharm(self
, channel
, url
):
7584 # map input types to rpc msg
7586 msg
= dict(Type
='Client', Request
='AddCharm', Version
=1, Params
=params
)
7587 params
['Channel'] = channel
7589 reply
= await self
.rpc(msg
)
7594 @ReturnMapping(None)
7595 async def AddCharmWithAuthorization(self
, channel
, charmstoremacaroon
, url
):
7598 charmstoremacaroon : Macaroon
7602 # map input types to rpc msg
7604 msg
= dict(Type
='Client', Request
='AddCharmWithAuthorization', Version
=1, Params
=params
)
7605 params
['Channel'] = channel
7606 params
['CharmStoreMacaroon'] = charmstoremacaroon
7608 reply
= await self
.rpc(msg
)
7613 @ReturnMapping(AddMachinesResults
)
7614 async def AddMachines(self
, machineparams
):
7616 machineparams : typing.Sequence[~AddMachineParams]
7617 Returns -> typing.Sequence[~AddMachinesResult]
7619 # map input types to rpc msg
7621 msg
= dict(Type
='Client', Request
='AddMachines', Version
=1, Params
=params
)
7622 params
['MachineParams'] = machineparams
7623 reply
= await self
.rpc(msg
)
7628 @ReturnMapping(AddMachinesResults
)
7629 async def AddMachinesV2(self
, machineparams
):
7631 machineparams : typing.Sequence[~AddMachineParams]
7632 Returns -> typing.Sequence[~AddMachinesResult]
7634 # map input types to rpc msg
7636 msg
= dict(Type
='Client', Request
='AddMachinesV2', Version
=1, Params
=params
)
7637 params
['MachineParams'] = machineparams
7638 reply
= await self
.rpc(msg
)
7643 @ReturnMapping(AgentVersionResult
)
7644 async def AgentVersion(self
):
7649 # map input types to rpc msg
7651 msg
= dict(Type
='Client', Request
='AgentVersion', Version
=1, Params
=params
)
7653 reply
= await self
.rpc(msg
)
7658 @ReturnMapping(CharmInfo
)
7659 async def CharmInfo(self
, charmurl
):
7664 # map input types to rpc msg
7666 msg
= dict(Type
='Client', Request
='CharmInfo', Version
=1, Params
=params
)
7667 params
['CharmURL'] = charmurl
7668 reply
= await self
.rpc(msg
)
7673 @ReturnMapping(None)
7674 async def DestroyMachines(self
, force
, machinenames
):
7677 machinenames : typing.Sequence[str]
7680 # map input types to rpc msg
7682 msg
= dict(Type
='Client', Request
='DestroyMachines', Version
=1, Params
=params
)
7683 params
['Force'] = force
7684 params
['MachineNames'] = machinenames
7685 reply
= await self
.rpc(msg
)
7690 @ReturnMapping(None)
7691 async def DestroyModel(self
):
7696 # map input types to rpc msg
7698 msg
= dict(Type
='Client', Request
='DestroyModel', Version
=1, Params
=params
)
7700 reply
= await self
.rpc(msg
)
7705 @ReturnMapping(FindToolsResult
)
7706 async def FindTools(self
, arch
, majorversion
, minorversion
, number
, series
):
7713 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[~Tools]]
7715 # map input types to rpc msg
7717 msg
= dict(Type
='Client', Request
='FindTools', Version
=1, Params
=params
)
7718 params
['Arch'] = arch
7719 params
['MajorVersion'] = majorversion
7720 params
['MinorVersion'] = minorversion
7721 params
['Number'] = number
7722 params
['Series'] = series
7723 reply
= await self
.rpc(msg
)
7728 @ReturnMapping(FullStatus
)
7729 async def FullStatus(self
, patterns
):
7731 patterns : typing.Sequence[str]
7732 Returns -> typing.Union[typing.Sequence[~RelationStatus], typing.Mapping[str, ~ServiceStatus]]
7734 # map input types to rpc msg
7736 msg
= dict(Type
='Client', Request
='FullStatus', Version
=1, Params
=params
)
7737 params
['Patterns'] = patterns
7738 reply
= await self
.rpc(msg
)
7743 @ReturnMapping(GetBundleChangesResults
)
7744 async def GetBundleChanges(self
, yaml
):
7747 Returns -> typing.Sequence[~BundleChangesChange]
7749 # map input types to rpc msg
7751 msg
= dict(Type
='Client', Request
='GetBundleChanges', Version
=1, Params
=params
)
7752 params
['yaml'] = yaml
7753 reply
= await self
.rpc(msg
)
7758 @ReturnMapping(GetConstraintsResults
)
7759 async def GetModelConstraints(self
):
7764 # map input types to rpc msg
7766 msg
= dict(Type
='Client', Request
='GetModelConstraints', Version
=1, Params
=params
)
7768 reply
= await self
.rpc(msg
)
7773 @ReturnMapping(AddMachinesResults
)
7774 async def InjectMachines(self
, machineparams
):
7776 machineparams : typing.Sequence[~AddMachineParams]
7777 Returns -> typing.Sequence[~AddMachinesResult]
7779 # map input types to rpc msg
7781 msg
= dict(Type
='Client', Request
='InjectMachines', Version
=1, Params
=params
)
7782 params
['MachineParams'] = machineparams
7783 reply
= await self
.rpc(msg
)
7788 @ReturnMapping(ModelConfigResults
)
7789 async def ModelGet(self
):
7792 Returns -> typing.Mapping[str, typing.Any]
7794 # map input types to rpc msg
7796 msg
= dict(Type
='Client', Request
='ModelGet', Version
=1, Params
=params
)
7798 reply
= await self
.rpc(msg
)
7803 @ReturnMapping(ModelInfo
)
7804 async def ModelInfo(self
):
7807 Returns -> typing.Union[_ForwardRef('EntityStatus'), typing.Sequence[~ModelUserInfo]]
7809 # map input types to rpc msg
7811 msg
= dict(Type
='Client', Request
='ModelInfo', Version
=1, Params
=params
)
7813 reply
= await self
.rpc(msg
)
7818 @ReturnMapping(None)
7819 async def ModelSet(self
, config
):
7821 config : typing.Mapping[str, typing.Any]
7824 # map input types to rpc msg
7826 msg
= dict(Type
='Client', Request
='ModelSet', Version
=1, Params
=params
)
7827 params
['Config'] = config
7828 reply
= await self
.rpc(msg
)
7833 @ReturnMapping(None)
7834 async def ModelUnset(self
, keys
):
7836 keys : typing.Sequence[str]
7839 # map input types to rpc msg
7841 msg
= dict(Type
='Client', Request
='ModelUnset', Version
=1, Params
=params
)
7842 params
['Keys'] = keys
7843 reply
= await self
.rpc(msg
)
7848 @ReturnMapping(ModelUserInfoResults
)
7849 async def ModelUserInfo(self
):
7852 Returns -> typing.Sequence[~ModelUserInfoResult]
7854 # map input types to rpc msg
7856 msg
= dict(Type
='Client', Request
='ModelUserInfo', Version
=1, Params
=params
)
7858 reply
= await self
.rpc(msg
)
7863 @ReturnMapping(PrivateAddressResults
)
7864 async def PrivateAddress(self
, target
):
7869 # map input types to rpc msg
7871 msg
= dict(Type
='Client', Request
='PrivateAddress', Version
=1, Params
=params
)
7872 params
['Target'] = target
7873 reply
= await self
.rpc(msg
)
7878 @ReturnMapping(ProvisioningScriptResult
)
7879 async def ProvisioningScript(self
, datadir
, disablepackagecommands
, machineid
, nonce
):
7882 disablepackagecommands : bool
7887 # map input types to rpc msg
7889 msg
= dict(Type
='Client', Request
='ProvisioningScript', Version
=1, Params
=params
)
7890 params
['DataDir'] = datadir
7891 params
['DisablePackageCommands'] = disablepackagecommands
7892 params
['MachineId'] = machineid
7893 params
['Nonce'] = nonce
7894 reply
= await self
.rpc(msg
)
7899 @ReturnMapping(PublicAddressResults
)
7900 async def PublicAddress(self
, target
):
7905 # map input types to rpc msg
7907 msg
= dict(Type
='Client', Request
='PublicAddress', Version
=1, Params
=params
)
7908 params
['Target'] = target
7909 reply
= await self
.rpc(msg
)
7914 @ReturnMapping(ResolveCharmResults
)
7915 async def ResolveCharms(self
, references
):
7917 references : typing.Sequence[~URL]
7918 Returns -> typing.Sequence[~ResolveCharmResult]
7920 # map input types to rpc msg
7922 msg
= dict(Type
='Client', Request
='ResolveCharms', Version
=1, Params
=params
)
7923 params
['References'] = references
7924 reply
= await self
.rpc(msg
)
7929 @ReturnMapping(None)
7930 async def Resolved(self
, retry
, unitname
):
7936 # map input types to rpc msg
7938 msg
= dict(Type
='Client', Request
='Resolved', Version
=1, Params
=params
)
7939 params
['Retry'] = retry
7940 params
['UnitName'] = unitname
7941 reply
= await self
.rpc(msg
)
7946 @ReturnMapping(ErrorResults
)
7947 async def RetryProvisioning(self
, entities
):
7949 entities : typing.Sequence[~Entity]
7950 Returns -> typing.Sequence[~ErrorResult]
7952 # map input types to rpc msg
7954 msg
= dict(Type
='Client', Request
='RetryProvisioning', Version
=1, Params
=params
)
7955 params
['Entities'] = entities
7956 reply
= await self
.rpc(msg
)
7961 @ReturnMapping(None)
7962 async def SetModelAgentVersion(self
, build
, major
, minor
, patch
, tag
):
7971 # map input types to rpc msg
7973 msg
= dict(Type
='Client', Request
='SetModelAgentVersion', Version
=1, Params
=params
)
7974 params
['Build'] = build
7975 params
['Major'] = major
7976 params
['Minor'] = minor
7977 params
['Patch'] = patch
7979 reply
= await self
.rpc(msg
)
7984 @ReturnMapping(None)
7985 async def SetModelConstraints(self
, constraints
, servicename
):
7991 # map input types to rpc msg
7993 msg
= dict(Type
='Client', Request
='SetModelConstraints', Version
=1, Params
=params
)
7994 params
['Constraints'] = constraints
7995 params
['ServiceName'] = servicename
7996 reply
= await self
.rpc(msg
)
8001 @ReturnMapping(StatusHistoryResults
)
8002 async def StatusHistory(self
, kind
, name
, size
):
8007 Returns -> typing.Sequence[~DetailedStatus]
8009 # map input types to rpc msg
8011 msg
= dict(Type
='Client', Request
='StatusHistory', Version
=1, Params
=params
)
8012 params
['Kind'] = kind
8013 params
['Name'] = name
8014 params
['Size'] = size
8015 reply
= await self
.rpc(msg
)
8020 @ReturnMapping(AllWatcherId
)
8021 async def WatchAll(self
):
8026 # map input types to rpc msg
8028 msg
= dict(Type
='Client', Request
='WatchAll', Version
=1, Params
=params
)
8030 reply
= await self
.rpc(msg
)
8034 class Controller(Type
):
8037 schema
= {'definitions': {'AllWatcherId': {'additionalProperties': False,
8038 'properties': {'AllWatcherId': {'type': 'string'}},
8039 'required': ['AllWatcherId'],
8041 'DestroyControllerArgs': {'additionalProperties': False,
8042 'properties': {'destroy-models': {'type': 'boolean'}},
8043 'required': ['destroy-models'],
8045 'Entities': {'additionalProperties': False,
8046 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
8048 'required': ['Entities'],
8050 'Entity': {'additionalProperties': False,
8051 'properties': {'Tag': {'type': 'string'}},
8052 'required': ['Tag'],
8054 'Error': {'additionalProperties': False,
8055 'properties': {'Code': {'type': 'string'},
8056 'Info': {'$ref': '#/definitions/ErrorInfo'},
8057 'Message': {'type': 'string'}},
8058 'required': ['Message', 'Code'],
8060 'ErrorInfo': {'additionalProperties': False,
8061 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
8062 'MacaroonPath': {'type': 'string'}},
8064 'InitiateModelMigrationArgs': {'additionalProperties': False,
8065 'properties': {'specs': {'items': {'$ref': '#/definitions/ModelMigrationSpec'},
8067 'required': ['specs'],
8069 'InitiateModelMigrationResult': {'additionalProperties': False,
8070 'properties': {'error': {'$ref': '#/definitions/Error'},
8071 'id': {'type': 'string'},
8072 'model-tag': {'type': 'string'}},
8073 'required': ['model-tag',
8077 'InitiateModelMigrationResults': {'additionalProperties': False,
8078 'properties': {'results': {'items': {'$ref': '#/definitions/InitiateModelMigrationResult'},
8080 'required': ['results'],
8082 'Macaroon': {'additionalProperties': False,
8083 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
8085 'data': {'items': {'type': 'integer'},
8087 'id': {'$ref': '#/definitions/packet'},
8088 'location': {'$ref': '#/definitions/packet'},
8089 'sig': {'items': {'type': 'integer'},
8091 'required': ['data',
8097 'Model': {'additionalProperties': False,
8098 'properties': {'Name': {'type': 'string'},
8099 'OwnerTag': {'type': 'string'},
8100 'UUID': {'type': 'string'}},
8101 'required': ['Name', 'UUID', 'OwnerTag'],
8103 'ModelBlockInfo': {'additionalProperties': False,
8104 'properties': {'blocks': {'items': {'type': 'string'},
8106 'model-uuid': {'type': 'string'},
8107 'name': {'type': 'string'},
8108 'owner-tag': {'type': 'string'}},
8109 'required': ['name',
8114 'ModelBlockInfoList': {'additionalProperties': False,
8115 'properties': {'models': {'items': {'$ref': '#/definitions/ModelBlockInfo'},
8118 'ModelConfigResults': {'additionalProperties': False,
8119 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
8122 'required': ['Config'],
8124 'ModelMigrationSpec': {'additionalProperties': False,
8125 'properties': {'model-tag': {'type': 'string'},
8126 'target-info': {'$ref': '#/definitions/ModelMigrationTargetInfo'}},
8127 'required': ['model-tag',
8130 'ModelMigrationTargetInfo': {'additionalProperties': False,
8131 'properties': {'addrs': {'items': {'type': 'string'},
8133 'auth-tag': {'type': 'string'},
8134 'ca-cert': {'type': 'string'},
8135 'controller-tag': {'type': 'string'},
8136 'password': {'type': 'string'}},
8137 'required': ['controller-tag',
8143 'ModelStatus': {'additionalProperties': False,
8144 'properties': {'hosted-machine-count': {'type': 'integer'},
8145 'life': {'type': 'string'},
8146 'model-tag': {'type': 'string'},
8147 'owner-tag': {'type': 'string'},
8148 'service-count': {'type': 'integer'}},
8149 'required': ['model-tag',
8151 'hosted-machine-count',
8155 'ModelStatusResults': {'additionalProperties': False,
8156 'properties': {'models': {'items': {'$ref': '#/definitions/ModelStatus'},
8158 'required': ['models'],
8160 'RemoveBlocksArgs': {'additionalProperties': False,
8161 'properties': {'all': {'type': 'boolean'}},
8162 'required': ['all'],
8164 'UserModel': {'additionalProperties': False,
8165 'properties': {'LastConnection': {'format': 'date-time',
8167 'Model': {'$ref': '#/definitions/Model'}},
8168 'required': ['Model', 'LastConnection'],
8170 'UserModelList': {'additionalProperties': False,
8171 'properties': {'UserModels': {'items': {'$ref': '#/definitions/UserModel'},
8173 'required': ['UserModels'],
8175 'caveat': {'additionalProperties': False,
8176 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
8177 'location': {'$ref': '#/definitions/packet'},
8178 'verificationId': {'$ref': '#/definitions/packet'}},
8179 'required': ['location',
8183 'packet': {'additionalProperties': False,
8184 'properties': {'headerLen': {'type': 'integer'},
8185 'start': {'type': 'integer'},
8186 'totalLen': {'type': 'integer'}},
8187 'required': ['start', 'totalLen', 'headerLen'],
8189 'properties': {'AllModels': {'properties': {'Result': {'$ref': '#/definitions/UserModelList'}},
8191 'DestroyController': {'properties': {'Params': {'$ref': '#/definitions/DestroyControllerArgs'}},
8193 'InitiateModelMigration': {'properties': {'Params': {'$ref': '#/definitions/InitiateModelMigrationArgs'},
8194 'Result': {'$ref': '#/definitions/InitiateModelMigrationResults'}},
8196 'ListBlockedModels': {'properties': {'Result': {'$ref': '#/definitions/ModelBlockInfoList'}},
8198 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResults'}},
8200 'ModelStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
8201 'Result': {'$ref': '#/definitions/ModelStatusResults'}},
8203 'RemoveBlocks': {'properties': {'Params': {'$ref': '#/definitions/RemoveBlocksArgs'}},
8205 'WatchAllModels': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherId'}},
8210 @ReturnMapping(UserModelList
)
8211 async def AllModels(self
):
8214 Returns -> typing.Sequence[~UserModel]
8216 # map input types to rpc msg
8218 msg
= dict(Type
='Controller', Request
='AllModels', Version
=2, Params
=params
)
8220 reply
= await self
.rpc(msg
)
8225 @ReturnMapping(None)
8226 async def DestroyController(self
, destroy_models
):
8228 destroy_models : bool
8231 # map input types to rpc msg
8233 msg
= dict(Type
='Controller', Request
='DestroyController', Version
=2, Params
=params
)
8234 params
['destroy-models'] = destroy_models
8235 reply
= await self
.rpc(msg
)
8240 @ReturnMapping(InitiateModelMigrationResults
)
8241 async def InitiateModelMigration(self
, specs
):
8243 specs : typing.Sequence[~ModelMigrationSpec]
8244 Returns -> typing.Sequence[~InitiateModelMigrationResult]
8246 # map input types to rpc msg
8248 msg
= dict(Type
='Controller', Request
='InitiateModelMigration', Version
=2, Params
=params
)
8249 params
['specs'] = specs
8250 reply
= await self
.rpc(msg
)
8255 @ReturnMapping(ModelBlockInfoList
)
8256 async def ListBlockedModels(self
):
8259 Returns -> typing.Sequence[~ModelBlockInfo]
8261 # map input types to rpc msg
8263 msg
= dict(Type
='Controller', Request
='ListBlockedModels', Version
=2, Params
=params
)
8265 reply
= await self
.rpc(msg
)
8270 @ReturnMapping(ModelConfigResults
)
8271 async def ModelConfig(self
):
8274 Returns -> typing.Mapping[str, typing.Any]
8276 # map input types to rpc msg
8278 msg
= dict(Type
='Controller', Request
='ModelConfig', Version
=2, Params
=params
)
8280 reply
= await self
.rpc(msg
)
8285 @ReturnMapping(ModelStatusResults
)
8286 async def ModelStatus(self
, entities
):
8288 entities : typing.Sequence[~Entity]
8289 Returns -> typing.Sequence[~ModelStatus]
8291 # map input types to rpc msg
8293 msg
= dict(Type
='Controller', Request
='ModelStatus', Version
=2, Params
=params
)
8294 params
['Entities'] = entities
8295 reply
= await self
.rpc(msg
)
8300 @ReturnMapping(None)
8301 async def RemoveBlocks(self
, all_
):
8306 # map input types to rpc msg
8308 msg
= dict(Type
='Controller', Request
='RemoveBlocks', Version
=2, Params
=params
)
8309 params
['all'] = all_
8310 reply
= await self
.rpc(msg
)
8315 @ReturnMapping(AllWatcherId
)
8316 async def WatchAllModels(self
):
8321 # map input types to rpc msg
8323 msg
= dict(Type
='Controller', Request
='WatchAllModels', Version
=2, Params
=params
)
8325 reply
= await self
.rpc(msg
)
8329 class Deployer(Type
):
8332 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
8333 'properties': {'Servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
8336 'required': ['Servers'],
8338 'Address': {'additionalProperties': False,
8339 'properties': {'Scope': {'type': 'string'},
8340 'SpaceName': {'type': 'string'},
8341 'Type': {'type': 'string'},
8342 'Value': {'type': 'string'}},
8343 'required': ['Value', 'Type', 'Scope'],
8345 'BytesResult': {'additionalProperties': False,
8346 'properties': {'Result': {'items': {'type': 'integer'},
8348 'required': ['Result'],
8350 'DeployerConnectionValues': {'additionalProperties': False,
8351 'properties': {'APIAddresses': {'items': {'type': 'string'},
8353 'StateAddresses': {'items': {'type': 'string'},
8355 'required': ['StateAddresses',
8358 'Entities': {'additionalProperties': False,
8359 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
8361 'required': ['Entities'],
8363 'Entity': {'additionalProperties': False,
8364 'properties': {'Tag': {'type': 'string'}},
8365 'required': ['Tag'],
8367 'EntityPassword': {'additionalProperties': False,
8368 'properties': {'Password': {'type': 'string'},
8369 'Tag': {'type': 'string'}},
8370 'required': ['Tag', 'Password'],
8372 'EntityPasswords': {'additionalProperties': False,
8373 'properties': {'Changes': {'items': {'$ref': '#/definitions/EntityPassword'},
8375 'required': ['Changes'],
8377 'Error': {'additionalProperties': False,
8378 'properties': {'Code': {'type': 'string'},
8379 'Info': {'$ref': '#/definitions/ErrorInfo'},
8380 'Message': {'type': 'string'}},
8381 'required': ['Message', 'Code'],
8383 'ErrorInfo': {'additionalProperties': False,
8384 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
8385 'MacaroonPath': {'type': 'string'}},
8387 'ErrorResult': {'additionalProperties': False,
8388 'properties': {'Error': {'$ref': '#/definitions/Error'}},
8389 'required': ['Error'],
8391 'ErrorResults': {'additionalProperties': False,
8392 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
8394 'required': ['Results'],
8396 'HostPort': {'additionalProperties': False,
8397 'properties': {'Address': {'$ref': '#/definitions/Address'},
8398 'Port': {'type': 'integer'}},
8399 'required': ['Address', 'Port'],
8401 'LifeResult': {'additionalProperties': False,
8402 'properties': {'Error': {'$ref': '#/definitions/Error'},
8403 'Life': {'type': 'string'}},
8404 'required': ['Life', 'Error'],
8406 'LifeResults': {'additionalProperties': False,
8407 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
8409 'required': ['Results'],
8411 'Macaroon': {'additionalProperties': False,
8412 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
8414 'data': {'items': {'type': 'integer'},
8416 'id': {'$ref': '#/definitions/packet'},
8417 'location': {'$ref': '#/definitions/packet'},
8418 'sig': {'items': {'type': 'integer'},
8420 'required': ['data',
8426 'NotifyWatchResult': {'additionalProperties': False,
8427 'properties': {'Error': {'$ref': '#/definitions/Error'},
8428 'NotifyWatcherId': {'type': 'string'}},
8429 'required': ['NotifyWatcherId', 'Error'],
8431 'StringResult': {'additionalProperties': False,
8432 'properties': {'Error': {'$ref': '#/definitions/Error'},
8433 'Result': {'type': 'string'}},
8434 'required': ['Error', 'Result'],
8436 'StringsResult': {'additionalProperties': False,
8437 'properties': {'Error': {'$ref': '#/definitions/Error'},
8438 'Result': {'items': {'type': 'string'},
8440 'required': ['Error', 'Result'],
8442 'StringsWatchResult': {'additionalProperties': False,
8443 'properties': {'Changes': {'items': {'type': 'string'},
8445 'Error': {'$ref': '#/definitions/Error'},
8446 'StringsWatcherId': {'type': 'string'}},
8447 'required': ['StringsWatcherId',
8451 'StringsWatchResults': {'additionalProperties': False,
8452 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
8454 'required': ['Results'],
8456 'caveat': {'additionalProperties': False,
8457 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
8458 'location': {'$ref': '#/definitions/packet'},
8459 'verificationId': {'$ref': '#/definitions/packet'}},
8460 'required': ['location',
8464 'packet': {'additionalProperties': False,
8465 'properties': {'headerLen': {'type': 'integer'},
8466 'start': {'type': 'integer'},
8467 'totalLen': {'type': 'integer'}},
8468 'required': ['start', 'totalLen', 'headerLen'],
8470 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
8472 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
8474 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
8476 'ConnectionInfo': {'properties': {'Result': {'$ref': '#/definitions/DeployerConnectionValues'}},
8478 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
8479 'Result': {'$ref': '#/definitions/LifeResults'}},
8481 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
8483 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
8484 'Result': {'$ref': '#/definitions/ErrorResults'}},
8486 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
8487 'Result': {'$ref': '#/definitions/ErrorResults'}},
8489 'StateAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
8491 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
8493 'WatchUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
8494 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
8499 @ReturnMapping(StringsResult
)
8500 async def APIAddresses(self
):
8503 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
8505 # map input types to rpc msg
8507 msg
= dict(Type
='Deployer', Request
='APIAddresses', Version
=1, Params
=params
)
8509 reply
= await self
.rpc(msg
)
8514 @ReturnMapping(APIHostPortsResult
)
8515 async def APIHostPorts(self
):
8518 Returns -> typing.Sequence[~HostPort]
8520 # map input types to rpc msg
8522 msg
= dict(Type
='Deployer', Request
='APIHostPorts', Version
=1, Params
=params
)
8524 reply
= await self
.rpc(msg
)
8529 @ReturnMapping(BytesResult
)
8530 async def CACert(self
):
8533 Returns -> typing.Sequence[int]
8535 # map input types to rpc msg
8537 msg
= dict(Type
='Deployer', Request
='CACert', Version
=1, Params
=params
)
8539 reply
= await self
.rpc(msg
)
8544 @ReturnMapping(DeployerConnectionValues
)
8545 async def ConnectionInfo(self
):
8548 Returns -> typing.Sequence[str]
8550 # map input types to rpc msg
8552 msg
= dict(Type
='Deployer', Request
='ConnectionInfo', Version
=1, Params
=params
)
8554 reply
= await self
.rpc(msg
)
8559 @ReturnMapping(LifeResults
)
8560 async def Life(self
, entities
):
8562 entities : typing.Sequence[~Entity]
8563 Returns -> typing.Sequence[~LifeResult]
8565 # map input types to rpc msg
8567 msg
= dict(Type
='Deployer', Request
='Life', Version
=1, Params
=params
)
8568 params
['Entities'] = entities
8569 reply
= await self
.rpc(msg
)
8574 @ReturnMapping(StringResult
)
8575 async def ModelUUID(self
):
8578 Returns -> typing.Union[_ForwardRef('Error'), str]
8580 # map input types to rpc msg
8582 msg
= dict(Type
='Deployer', Request
='ModelUUID', Version
=1, Params
=params
)
8584 reply
= await self
.rpc(msg
)
8589 @ReturnMapping(ErrorResults
)
8590 async def Remove(self
, entities
):
8592 entities : typing.Sequence[~Entity]
8593 Returns -> typing.Sequence[~ErrorResult]
8595 # map input types to rpc msg
8597 msg
= dict(Type
='Deployer', Request
='Remove', Version
=1, Params
=params
)
8598 params
['Entities'] = entities
8599 reply
= await self
.rpc(msg
)
8604 @ReturnMapping(ErrorResults
)
8605 async def SetPasswords(self
, changes
):
8607 changes : typing.Sequence[~EntityPassword]
8608 Returns -> typing.Sequence[~ErrorResult]
8610 # map input types to rpc msg
8612 msg
= dict(Type
='Deployer', Request
='SetPasswords', Version
=1, Params
=params
)
8613 params
['Changes'] = changes
8614 reply
= await self
.rpc(msg
)
8619 @ReturnMapping(StringsResult
)
8620 async def StateAddresses(self
):
8623 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
8625 # map input types to rpc msg
8627 msg
= dict(Type
='Deployer', Request
='StateAddresses', Version
=1, Params
=params
)
8629 reply
= await self
.rpc(msg
)
8634 @ReturnMapping(NotifyWatchResult
)
8635 async def WatchAPIHostPorts(self
):
8638 Returns -> typing.Union[_ForwardRef('Error'), str]
8640 # map input types to rpc msg
8642 msg
= dict(Type
='Deployer', Request
='WatchAPIHostPorts', Version
=1, Params
=params
)
8644 reply
= await self
.rpc(msg
)
8649 @ReturnMapping(StringsWatchResults
)
8650 async def WatchUnits(self
, entities
):
8652 entities : typing.Sequence[~Entity]
8653 Returns -> typing.Sequence[~StringsWatchResult]
8655 # map input types to rpc msg
8657 msg
= dict(Type
='Deployer', Request
='WatchUnits', Version
=1, Params
=params
)
8658 params
['Entities'] = entities
8659 reply
= await self
.rpc(msg
)
8663 class DiscoverSpaces(Type
):
8664 name
= 'DiscoverSpaces'
8666 schema
= {'definitions': {'AddSubnetParams': {'additionalProperties': False,
8667 'properties': {'SpaceTag': {'type': 'string'},
8668 'SubnetProviderId': {'type': 'string'},
8669 'SubnetTag': {'type': 'string'},
8670 'Zones': {'items': {'type': 'string'},
8672 'required': ['SpaceTag'],
8674 'AddSubnetsParams': {'additionalProperties': False,
8675 'properties': {'Subnets': {'items': {'$ref': '#/definitions/AddSubnetParams'},
8677 'required': ['Subnets'],
8679 'CreateSpaceParams': {'additionalProperties': False,
8680 'properties': {'ProviderId': {'type': 'string'},
8681 'Public': {'type': 'boolean'},
8682 'SpaceTag': {'type': 'string'},
8683 'SubnetTags': {'items': {'type': 'string'},
8685 'required': ['SubnetTags',
8689 'CreateSpacesParams': {'additionalProperties': False,
8690 'properties': {'Spaces': {'items': {'$ref': '#/definitions/CreateSpaceParams'},
8692 'required': ['Spaces'],
8694 'DiscoverSpacesResults': {'additionalProperties': False,
8695 'properties': {'Results': {'items': {'$ref': '#/definitions/ProviderSpace'},
8697 'required': ['Results'],
8699 'Error': {'additionalProperties': False,
8700 'properties': {'Code': {'type': 'string'},
8701 'Info': {'$ref': '#/definitions/ErrorInfo'},
8702 'Message': {'type': 'string'}},
8703 'required': ['Message', 'Code'],
8705 'ErrorInfo': {'additionalProperties': False,
8706 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
8707 'MacaroonPath': {'type': 'string'}},
8709 'ErrorResult': {'additionalProperties': False,
8710 'properties': {'Error': {'$ref': '#/definitions/Error'}},
8711 'required': ['Error'],
8713 'ErrorResults': {'additionalProperties': False,
8714 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
8716 'required': ['Results'],
8718 'ListSubnetsResults': {'additionalProperties': False,
8719 'properties': {'Results': {'items': {'$ref': '#/definitions/Subnet'},
8721 'required': ['Results'],
8723 'Macaroon': {'additionalProperties': False,
8724 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
8726 'data': {'items': {'type': 'integer'},
8728 'id': {'$ref': '#/definitions/packet'},
8729 'location': {'$ref': '#/definitions/packet'},
8730 'sig': {'items': {'type': 'integer'},
8732 'required': ['data',
8738 'ModelConfigResult': {'additionalProperties': False,
8739 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
8742 'required': ['Config'],
8744 'ProviderSpace': {'additionalProperties': False,
8745 'properties': {'Error': {'$ref': '#/definitions/Error'},
8746 'Name': {'type': 'string'},
8747 'ProviderId': {'type': 'string'},
8748 'Subnets': {'items': {'$ref': '#/definitions/Subnet'},
8750 'required': ['Name',
8754 'Subnet': {'additionalProperties': False,
8755 'properties': {'CIDR': {'type': 'string'},
8756 'Life': {'type': 'string'},
8757 'ProviderId': {'type': 'string'},
8758 'SpaceTag': {'type': 'string'},
8759 'StaticRangeHighIP': {'items': {'type': 'integer'},
8761 'StaticRangeLowIP': {'items': {'type': 'integer'},
8763 'Status': {'type': 'string'},
8764 'VLANTag': {'type': 'integer'},
8765 'Zones': {'items': {'type': 'string'},
8767 'required': ['CIDR',
8773 'SubnetsFilters': {'additionalProperties': False,
8774 'properties': {'SpaceTag': {'type': 'string'},
8775 'Zone': {'type': 'string'}},
8777 'caveat': {'additionalProperties': False,
8778 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
8779 'location': {'$ref': '#/definitions/packet'},
8780 'verificationId': {'$ref': '#/definitions/packet'}},
8781 'required': ['location',
8785 'packet': {'additionalProperties': False,
8786 'properties': {'headerLen': {'type': 'integer'},
8787 'start': {'type': 'integer'},
8788 'totalLen': {'type': 'integer'}},
8789 'required': ['start', 'totalLen', 'headerLen'],
8791 'properties': {'AddSubnets': {'properties': {'Params': {'$ref': '#/definitions/AddSubnetsParams'},
8792 'Result': {'$ref': '#/definitions/ErrorResults'}},
8794 'CreateSpaces': {'properties': {'Params': {'$ref': '#/definitions/CreateSpacesParams'},
8795 'Result': {'$ref': '#/definitions/ErrorResults'}},
8797 'ListSpaces': {'properties': {'Result': {'$ref': '#/definitions/DiscoverSpacesResults'}},
8799 'ListSubnets': {'properties': {'Params': {'$ref': '#/definitions/SubnetsFilters'},
8800 'Result': {'$ref': '#/definitions/ListSubnetsResults'}},
8802 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
8807 @ReturnMapping(ErrorResults
)
8808 async def AddSubnets(self
, subnets
):
8810 subnets : typing.Sequence[~AddSubnetParams]
8811 Returns -> typing.Sequence[~ErrorResult]
8813 # map input types to rpc msg
8815 msg
= dict(Type
='DiscoverSpaces', Request
='AddSubnets', Version
=2, Params
=params
)
8816 params
['Subnets'] = subnets
8817 reply
= await self
.rpc(msg
)
8822 @ReturnMapping(ErrorResults
)
8823 async def CreateSpaces(self
, spaces
):
8825 spaces : typing.Sequence[~CreateSpaceParams]
8826 Returns -> typing.Sequence[~ErrorResult]
8828 # map input types to rpc msg
8830 msg
= dict(Type
='DiscoverSpaces', Request
='CreateSpaces', Version
=2, Params
=params
)
8831 params
['Spaces'] = spaces
8832 reply
= await self
.rpc(msg
)
8837 @ReturnMapping(DiscoverSpacesResults
)
8838 async def ListSpaces(self
):
8841 Returns -> typing.Sequence[~ProviderSpace]
8843 # map input types to rpc msg
8845 msg
= dict(Type
='DiscoverSpaces', Request
='ListSpaces', Version
=2, Params
=params
)
8847 reply
= await self
.rpc(msg
)
8852 @ReturnMapping(ListSubnetsResults
)
8853 async def ListSubnets(self
, spacetag
, zone
):
8857 Returns -> typing.Sequence[~Subnet]
8859 # map input types to rpc msg
8861 msg
= dict(Type
='DiscoverSpaces', Request
='ListSubnets', Version
=2, Params
=params
)
8862 params
['SpaceTag'] = spacetag
8863 params
['Zone'] = zone
8864 reply
= await self
.rpc(msg
)
8869 @ReturnMapping(ModelConfigResult
)
8870 async def ModelConfig(self
):
8873 Returns -> typing.Mapping[str, typing.Any]
8875 # map input types to rpc msg
8877 msg
= dict(Type
='DiscoverSpaces', Request
='ModelConfig', Version
=2, Params
=params
)
8879 reply
= await self
.rpc(msg
)
8883 class DiskManager(Type
):
8884 name
= 'DiskManager'
8886 schema
= {'definitions': {'BlockDevice': {'additionalProperties': False,
8887 'properties': {'BusAddress': {'type': 'string'},
8888 'DeviceLinks': {'items': {'type': 'string'},
8890 'DeviceName': {'type': 'string'},
8891 'FilesystemType': {'type': 'string'},
8892 'HardwareId': {'type': 'string'},
8893 'InUse': {'type': 'boolean'},
8894 'Label': {'type': 'string'},
8895 'MountPoint': {'type': 'string'},
8896 'Size': {'type': 'integer'},
8897 'UUID': {'type': 'string'}},
8898 'required': ['DeviceName',
8909 'Error': {'additionalProperties': False,
8910 'properties': {'Code': {'type': 'string'},
8911 'Info': {'$ref': '#/definitions/ErrorInfo'},
8912 'Message': {'type': 'string'}},
8913 'required': ['Message', 'Code'],
8915 'ErrorInfo': {'additionalProperties': False,
8916 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
8917 'MacaroonPath': {'type': 'string'}},
8919 'ErrorResult': {'additionalProperties': False,
8920 'properties': {'Error': {'$ref': '#/definitions/Error'}},
8921 'required': ['Error'],
8923 'ErrorResults': {'additionalProperties': False,
8924 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
8926 'required': ['Results'],
8928 'Macaroon': {'additionalProperties': False,
8929 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
8931 'data': {'items': {'type': 'integer'},
8933 'id': {'$ref': '#/definitions/packet'},
8934 'location': {'$ref': '#/definitions/packet'},
8935 'sig': {'items': {'type': 'integer'},
8937 'required': ['data',
8943 'MachineBlockDevices': {'additionalProperties': False,
8944 'properties': {'blockdevices': {'items': {'$ref': '#/definitions/BlockDevice'},
8946 'machine': {'type': 'string'}},
8947 'required': ['machine'],
8949 'SetMachineBlockDevices': {'additionalProperties': False,
8950 'properties': {'machineblockdevices': {'items': {'$ref': '#/definitions/MachineBlockDevices'},
8952 'required': ['machineblockdevices'],
8954 'caveat': {'additionalProperties': False,
8955 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
8956 'location': {'$ref': '#/definitions/packet'},
8957 'verificationId': {'$ref': '#/definitions/packet'}},
8958 'required': ['location',
8962 'packet': {'additionalProperties': False,
8963 'properties': {'headerLen': {'type': 'integer'},
8964 'start': {'type': 'integer'},
8965 'totalLen': {'type': 'integer'}},
8966 'required': ['start', 'totalLen', 'headerLen'],
8968 'properties': {'SetMachineBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/SetMachineBlockDevices'},
8969 'Result': {'$ref': '#/definitions/ErrorResults'}},
8974 @ReturnMapping(ErrorResults
)
8975 async def SetMachineBlockDevices(self
, machineblockdevices
):
8977 machineblockdevices : typing.Sequence[~MachineBlockDevices]
8978 Returns -> typing.Sequence[~ErrorResult]
8980 # map input types to rpc msg
8982 msg
= dict(Type
='DiskManager', Request
='SetMachineBlockDevices', Version
=2, Params
=params
)
8983 params
['machineblockdevices'] = machineblockdevices
8984 reply
= await self
.rpc(msg
)
8988 class EntityWatcher(Type
):
8989 name
= 'EntityWatcher'
8991 schema
= {'definitions': {'EntitiesWatchResult': {'additionalProperties': False,
8992 'properties': {'Changes': {'items': {'type': 'string'},
8994 'EntityWatcherId': {'type': 'string'},
8995 'Error': {'$ref': '#/definitions/Error'}},
8996 'required': ['EntityWatcherId',
9000 'Error': {'additionalProperties': False,
9001 'properties': {'Code': {'type': 'string'},
9002 'Info': {'$ref': '#/definitions/ErrorInfo'},
9003 'Message': {'type': 'string'}},
9004 'required': ['Message', 'Code'],
9006 'ErrorInfo': {'additionalProperties': False,
9007 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
9008 'MacaroonPath': {'type': 'string'}},
9010 'Macaroon': {'additionalProperties': False,
9011 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
9013 'data': {'items': {'type': 'integer'},
9015 'id': {'$ref': '#/definitions/packet'},
9016 'location': {'$ref': '#/definitions/packet'},
9017 'sig': {'items': {'type': 'integer'},
9019 'required': ['data',
9025 'caveat': {'additionalProperties': False,
9026 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
9027 'location': {'$ref': '#/definitions/packet'},
9028 'verificationId': {'$ref': '#/definitions/packet'}},
9029 'required': ['location',
9033 'packet': {'additionalProperties': False,
9034 'properties': {'headerLen': {'type': 'integer'},
9035 'start': {'type': 'integer'},
9036 'totalLen': {'type': 'integer'}},
9037 'required': ['start', 'totalLen', 'headerLen'],
9039 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/EntitiesWatchResult'}},
9041 'Stop': {'type': 'object'}},
9045 @ReturnMapping(EntitiesWatchResult
)
9046 async def Next(self
):
9049 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
9051 # map input types to rpc msg
9053 msg
= dict(Type
='EntityWatcher', Request
='Next', Version
=2, Params
=params
)
9055 reply
= await self
.rpc(msg
)
9060 @ReturnMapping(None)
9061 async def Stop(self
):
9066 # map input types to rpc msg
9068 msg
= dict(Type
='EntityWatcher', Request
='Stop', Version
=2, Params
=params
)
9070 reply
= await self
.rpc(msg
)
9074 class FilesystemAttachmentsWatcher(Type
):
9075 name
= 'FilesystemAttachmentsWatcher'
9077 schema
= {'definitions': {'Error': {'additionalProperties': False,
9078 'properties': {'Code': {'type': 'string'},
9079 'Info': {'$ref': '#/definitions/ErrorInfo'},
9080 'Message': {'type': 'string'}},
9081 'required': ['Message', 'Code'],
9083 'ErrorInfo': {'additionalProperties': False,
9084 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
9085 'MacaroonPath': {'type': 'string'}},
9087 'Macaroon': {'additionalProperties': False,
9088 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
9090 'data': {'items': {'type': 'integer'},
9092 'id': {'$ref': '#/definitions/packet'},
9093 'location': {'$ref': '#/definitions/packet'},
9094 'sig': {'items': {'type': 'integer'},
9096 'required': ['data',
9102 'MachineStorageId': {'additionalProperties': False,
9103 'properties': {'attachmenttag': {'type': 'string'},
9104 'machinetag': {'type': 'string'}},
9105 'required': ['machinetag',
9108 'MachineStorageIdsWatchResult': {'additionalProperties': False,
9109 'properties': {'Changes': {'items': {'$ref': '#/definitions/MachineStorageId'},
9111 'Error': {'$ref': '#/definitions/Error'},
9112 'MachineStorageIdsWatcherId': {'type': 'string'}},
9113 'required': ['MachineStorageIdsWatcherId',
9117 'caveat': {'additionalProperties': False,
9118 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
9119 'location': {'$ref': '#/definitions/packet'},
9120 'verificationId': {'$ref': '#/definitions/packet'}},
9121 'required': ['location',
9125 'packet': {'additionalProperties': False,
9126 'properties': {'headerLen': {'type': 'integer'},
9127 'start': {'type': 'integer'},
9128 'totalLen': {'type': 'integer'}},
9129 'required': ['start', 'totalLen', 'headerLen'],
9131 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResult'}},
9133 'Stop': {'type': 'object'}},
9137 @ReturnMapping(MachineStorageIdsWatchResult
)
9138 async def Next(self
):
9141 Returns -> typing.Union[typing.Sequence[~MachineStorageId], _ForwardRef('Error')]
9143 # map input types to rpc msg
9145 msg
= dict(Type
='FilesystemAttachmentsWatcher', Request
='Next', Version
=2, Params
=params
)
9147 reply
= await self
.rpc(msg
)
9152 @ReturnMapping(None)
9153 async def Stop(self
):
9158 # map input types to rpc msg
9160 msg
= dict(Type
='FilesystemAttachmentsWatcher', Request
='Stop', Version
=2, Params
=params
)
9162 reply
= await self
.rpc(msg
)
9166 class Firewaller(Type
):
9169 schema
= {'definitions': {'BoolResult': {'additionalProperties': False,
9170 'properties': {'Error': {'$ref': '#/definitions/Error'},
9171 'Result': {'type': 'boolean'}},
9172 'required': ['Error', 'Result'],
9174 'BoolResults': {'additionalProperties': False,
9175 'properties': {'Results': {'items': {'$ref': '#/definitions/BoolResult'},
9177 'required': ['Results'],
9179 'Entities': {'additionalProperties': False,
9180 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
9182 'required': ['Entities'],
9184 'Entity': {'additionalProperties': False,
9185 'properties': {'Tag': {'type': 'string'}},
9186 'required': ['Tag'],
9188 'Error': {'additionalProperties': False,
9189 'properties': {'Code': {'type': 'string'},
9190 'Info': {'$ref': '#/definitions/ErrorInfo'},
9191 'Message': {'type': 'string'}},
9192 'required': ['Message', 'Code'],
9194 'ErrorInfo': {'additionalProperties': False,
9195 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
9196 'MacaroonPath': {'type': 'string'}},
9198 'LifeResult': {'additionalProperties': False,
9199 'properties': {'Error': {'$ref': '#/definitions/Error'},
9200 'Life': {'type': 'string'}},
9201 'required': ['Life', 'Error'],
9203 'LifeResults': {'additionalProperties': False,
9204 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
9206 'required': ['Results'],
9208 'Macaroon': {'additionalProperties': False,
9209 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
9211 'data': {'items': {'type': 'integer'},
9213 'id': {'$ref': '#/definitions/packet'},
9214 'location': {'$ref': '#/definitions/packet'},
9215 'sig': {'items': {'type': 'integer'},
9217 'required': ['data',
9223 'MachinePortRange': {'additionalProperties': False,
9224 'properties': {'PortRange': {'$ref': '#/definitions/PortRange'},
9225 'RelationTag': {'type': 'string'},
9226 'UnitTag': {'type': 'string'}},
9227 'required': ['UnitTag',
9231 'MachinePorts': {'additionalProperties': False,
9232 'properties': {'MachineTag': {'type': 'string'},
9233 'SubnetTag': {'type': 'string'}},
9234 'required': ['MachineTag', 'SubnetTag'],
9236 'MachinePortsParams': {'additionalProperties': False,
9237 'properties': {'Params': {'items': {'$ref': '#/definitions/MachinePorts'},
9239 'required': ['Params'],
9241 'MachinePortsResult': {'additionalProperties': False,
9242 'properties': {'Error': {'$ref': '#/definitions/Error'},
9243 'Ports': {'items': {'$ref': '#/definitions/MachinePortRange'},
9245 'required': ['Error', 'Ports'],
9247 'MachinePortsResults': {'additionalProperties': False,
9248 'properties': {'Results': {'items': {'$ref': '#/definitions/MachinePortsResult'},
9250 'required': ['Results'],
9252 'ModelConfigResult': {'additionalProperties': False,
9253 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
9256 'required': ['Config'],
9258 'NotifyWatchResult': {'additionalProperties': False,
9259 'properties': {'Error': {'$ref': '#/definitions/Error'},
9260 'NotifyWatcherId': {'type': 'string'}},
9261 'required': ['NotifyWatcherId', 'Error'],
9263 'NotifyWatchResults': {'additionalProperties': False,
9264 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
9266 'required': ['Results'],
9268 'PortRange': {'additionalProperties': False,
9269 'properties': {'FromPort': {'type': 'integer'},
9270 'Protocol': {'type': 'string'},
9271 'ToPort': {'type': 'integer'}},
9272 'required': ['FromPort', 'ToPort', 'Protocol'],
9274 'StringResult': {'additionalProperties': False,
9275 'properties': {'Error': {'$ref': '#/definitions/Error'},
9276 'Result': {'type': 'string'}},
9277 'required': ['Error', 'Result'],
9279 'StringResults': {'additionalProperties': False,
9280 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'},
9282 'required': ['Results'],
9284 'StringsResult': {'additionalProperties': False,
9285 'properties': {'Error': {'$ref': '#/definitions/Error'},
9286 'Result': {'items': {'type': 'string'},
9288 'required': ['Error', 'Result'],
9290 'StringsResults': {'additionalProperties': False,
9291 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsResult'},
9293 'required': ['Results'],
9295 'StringsWatchResult': {'additionalProperties': False,
9296 'properties': {'Changes': {'items': {'type': 'string'},
9298 'Error': {'$ref': '#/definitions/Error'},
9299 'StringsWatcherId': {'type': 'string'}},
9300 'required': ['StringsWatcherId',
9304 'StringsWatchResults': {'additionalProperties': False,
9305 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
9307 'required': ['Results'],
9309 'caveat': {'additionalProperties': False,
9310 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
9311 'location': {'$ref': '#/definitions/packet'},
9312 'verificationId': {'$ref': '#/definitions/packet'}},
9313 'required': ['location',
9317 'packet': {'additionalProperties': False,
9318 'properties': {'headerLen': {'type': 'integer'},
9319 'start': {'type': 'integer'},
9320 'totalLen': {'type': 'integer'}},
9321 'required': ['start', 'totalLen', 'headerLen'],
9323 'properties': {'GetAssignedMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9324 'Result': {'$ref': '#/definitions/StringResults'}},
9326 'GetExposed': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9327 'Result': {'$ref': '#/definitions/BoolResults'}},
9329 'GetMachineActiveSubnets': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9330 'Result': {'$ref': '#/definitions/StringsResults'}},
9332 'GetMachinePorts': {'properties': {'Params': {'$ref': '#/definitions/MachinePortsParams'},
9333 'Result': {'$ref': '#/definitions/MachinePortsResults'}},
9335 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9336 'Result': {'$ref': '#/definitions/StringResults'}},
9338 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9339 'Result': {'$ref': '#/definitions/LifeResults'}},
9341 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
9343 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9344 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
9346 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
9348 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
9350 'WatchOpenedPorts': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9351 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
9353 'WatchUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9354 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
9359 @ReturnMapping(StringResults
)
9360 async def GetAssignedMachine(self
, entities
):
9362 entities : typing.Sequence[~Entity]
9363 Returns -> typing.Sequence[~StringResult]
9365 # map input types to rpc msg
9367 msg
= dict(Type
='Firewaller', Request
='GetAssignedMachine', Version
=2, Params
=params
)
9368 params
['Entities'] = entities
9369 reply
= await self
.rpc(msg
)
9374 @ReturnMapping(BoolResults
)
9375 async def GetExposed(self
, entities
):
9377 entities : typing.Sequence[~Entity]
9378 Returns -> typing.Sequence[~BoolResult]
9380 # map input types to rpc msg
9382 msg
= dict(Type
='Firewaller', Request
='GetExposed', Version
=2, Params
=params
)
9383 params
['Entities'] = entities
9384 reply
= await self
.rpc(msg
)
9389 @ReturnMapping(StringsResults
)
9390 async def GetMachineActiveSubnets(self
, entities
):
9392 entities : typing.Sequence[~Entity]
9393 Returns -> typing.Sequence[~StringsResult]
9395 # map input types to rpc msg
9397 msg
= dict(Type
='Firewaller', Request
='GetMachineActiveSubnets', Version
=2, Params
=params
)
9398 params
['Entities'] = entities
9399 reply
= await self
.rpc(msg
)
9404 @ReturnMapping(MachinePortsResults
)
9405 async def GetMachinePorts(self
, params
):
9407 params : typing.Sequence[~MachinePorts]
9408 Returns -> typing.Sequence[~MachinePortsResult]
9410 # map input types to rpc msg
9412 msg
= dict(Type
='Firewaller', Request
='GetMachinePorts', Version
=2, Params
=params
)
9413 params
['Params'] = params
9414 reply
= await self
.rpc(msg
)
9419 @ReturnMapping(StringResults
)
9420 async def InstanceId(self
, entities
):
9422 entities : typing.Sequence[~Entity]
9423 Returns -> typing.Sequence[~StringResult]
9425 # map input types to rpc msg
9427 msg
= dict(Type
='Firewaller', Request
='InstanceId', Version
=2, Params
=params
)
9428 params
['Entities'] = entities
9429 reply
= await self
.rpc(msg
)
9434 @ReturnMapping(LifeResults
)
9435 async def Life(self
, entities
):
9437 entities : typing.Sequence[~Entity]
9438 Returns -> typing.Sequence[~LifeResult]
9440 # map input types to rpc msg
9442 msg
= dict(Type
='Firewaller', Request
='Life', Version
=2, Params
=params
)
9443 params
['Entities'] = entities
9444 reply
= await self
.rpc(msg
)
9449 @ReturnMapping(ModelConfigResult
)
9450 async def ModelConfig(self
):
9453 Returns -> typing.Mapping[str, typing.Any]
9455 # map input types to rpc msg
9457 msg
= dict(Type
='Firewaller', Request
='ModelConfig', Version
=2, Params
=params
)
9459 reply
= await self
.rpc(msg
)
9464 @ReturnMapping(NotifyWatchResults
)
9465 async def Watch(self
, entities
):
9467 entities : typing.Sequence[~Entity]
9468 Returns -> typing.Sequence[~NotifyWatchResult]
9470 # map input types to rpc msg
9472 msg
= dict(Type
='Firewaller', Request
='Watch', Version
=2, Params
=params
)
9473 params
['Entities'] = entities
9474 reply
= await self
.rpc(msg
)
9479 @ReturnMapping(NotifyWatchResult
)
9480 async def WatchForModelConfigChanges(self
):
9483 Returns -> typing.Union[_ForwardRef('Error'), str]
9485 # map input types to rpc msg
9487 msg
= dict(Type
='Firewaller', Request
='WatchForModelConfigChanges', Version
=2, Params
=params
)
9489 reply
= await self
.rpc(msg
)
9494 @ReturnMapping(StringsWatchResult
)
9495 async def WatchModelMachines(self
):
9498 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
9500 # map input types to rpc msg
9502 msg
= dict(Type
='Firewaller', Request
='WatchModelMachines', Version
=2, Params
=params
)
9504 reply
= await self
.rpc(msg
)
9509 @ReturnMapping(StringsWatchResults
)
9510 async def WatchOpenedPorts(self
, entities
):
9512 entities : typing.Sequence[~Entity]
9513 Returns -> typing.Sequence[~StringsWatchResult]
9515 # map input types to rpc msg
9517 msg
= dict(Type
='Firewaller', Request
='WatchOpenedPorts', Version
=2, Params
=params
)
9518 params
['Entities'] = entities
9519 reply
= await self
.rpc(msg
)
9524 @ReturnMapping(StringsWatchResults
)
9525 async def WatchUnits(self
, entities
):
9527 entities : typing.Sequence[~Entity]
9528 Returns -> typing.Sequence[~StringsWatchResult]
9530 # map input types to rpc msg
9532 msg
= dict(Type
='Firewaller', Request
='WatchUnits', Version
=2, Params
=params
)
9533 params
['Entities'] = entities
9534 reply
= await self
.rpc(msg
)
9538 class HighAvailability(Type
):
9539 name
= 'HighAvailability'
9541 schema
= {'definitions': {'Address': {'additionalProperties': False,
9542 'properties': {'Scope': {'type': 'string'},
9543 'SpaceName': {'type': 'string'},
9544 'SpaceProviderId': {'type': 'string'},
9545 'Type': {'type': 'string'},
9546 'Value': {'type': 'string'}},
9547 'required': ['Value',
9553 'ControllersChangeResult': {'additionalProperties': False,
9554 'properties': {'Error': {'$ref': '#/definitions/Error'},
9555 'Result': {'$ref': '#/definitions/ControllersChanges'}},
9556 'required': ['Result', 'Error'],
9558 'ControllersChangeResults': {'additionalProperties': False,
9559 'properties': {'Results': {'items': {'$ref': '#/definitions/ControllersChangeResult'},
9561 'required': ['Results'],
9563 'ControllersChanges': {'additionalProperties': False,
9564 'properties': {'added': {'items': {'type': 'string'},
9566 'converted': {'items': {'type': 'string'},
9568 'demoted': {'items': {'type': 'string'},
9570 'maintained': {'items': {'type': 'string'},
9572 'promoted': {'items': {'type': 'string'},
9574 'removed': {'items': {'type': 'string'},
9577 'ControllersSpec': {'additionalProperties': False,
9578 'properties': {'ModelTag': {'type': 'string'},
9579 'constraints': {'$ref': '#/definitions/Value'},
9580 'num-controllers': {'type': 'integer'},
9581 'placement': {'items': {'type': 'string'},
9583 'series': {'type': 'string'}},
9584 'required': ['ModelTag',
9587 'ControllersSpecs': {'additionalProperties': False,
9588 'properties': {'Specs': {'items': {'$ref': '#/definitions/ControllersSpec'},
9590 'required': ['Specs'],
9592 'Error': {'additionalProperties': False,
9593 'properties': {'Code': {'type': 'string'},
9594 'Info': {'$ref': '#/definitions/ErrorInfo'},
9595 'Message': {'type': 'string'}},
9596 'required': ['Message', 'Code'],
9598 'ErrorInfo': {'additionalProperties': False,
9599 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
9600 'MacaroonPath': {'type': 'string'}},
9602 'HAMember': {'additionalProperties': False,
9603 'properties': {'PublicAddress': {'$ref': '#/definitions/Address'},
9604 'Series': {'type': 'string'},
9605 'Tag': {'type': 'string'}},
9606 'required': ['Tag', 'PublicAddress', 'Series'],
9608 'Macaroon': {'additionalProperties': False,
9609 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
9611 'data': {'items': {'type': 'integer'},
9613 'id': {'$ref': '#/definitions/packet'},
9614 'location': {'$ref': '#/definitions/packet'},
9615 'sig': {'items': {'type': 'integer'},
9617 'required': ['data',
9623 'Member': {'additionalProperties': False,
9624 'properties': {'Address': {'type': 'string'},
9625 'Arbiter': {'type': 'boolean'},
9626 'BuildIndexes': {'type': 'boolean'},
9627 'Hidden': {'type': 'boolean'},
9628 'Id': {'type': 'integer'},
9629 'Priority': {'type': 'number'},
9630 'SlaveDelay': {'type': 'integer'},
9631 'Tags': {'patternProperties': {'.*': {'type': 'string'}},
9633 'Votes': {'type': 'integer'}},
9644 'MongoUpgradeResults': {'additionalProperties': False,
9645 'properties': {'Master': {'$ref': '#/definitions/HAMember'},
9646 'Members': {'items': {'$ref': '#/definitions/HAMember'},
9648 'RsMembers': {'items': {'$ref': '#/definitions/Member'},
9650 'required': ['RsMembers',
9654 'ResumeReplicationParams': {'additionalProperties': False,
9655 'properties': {'Members': {'items': {'$ref': '#/definitions/Member'},
9657 'required': ['Members'],
9659 'UpgradeMongoParams': {'additionalProperties': False,
9660 'properties': {'Target': {'$ref': '#/definitions/Version'}},
9661 'required': ['Target'],
9663 'Value': {'additionalProperties': False,
9664 'properties': {'arch': {'type': 'string'},
9665 'container': {'type': 'string'},
9666 'cpu-cores': {'type': 'integer'},
9667 'cpu-power': {'type': 'integer'},
9668 'instance-type': {'type': 'string'},
9669 'mem': {'type': 'integer'},
9670 'root-disk': {'type': 'integer'},
9671 'spaces': {'items': {'type': 'string'},
9673 'tags': {'items': {'type': 'string'},
9675 'virt-type': {'type': 'string'}},
9677 'Version': {'additionalProperties': False,
9678 'properties': {'Major': {'type': 'integer'},
9679 'Minor': {'type': 'integer'},
9680 'Patch': {'type': 'string'},
9681 'StorageEngine': {'type': 'string'}},
9682 'required': ['Major',
9687 'caveat': {'additionalProperties': False,
9688 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
9689 'location': {'$ref': '#/definitions/packet'},
9690 'verificationId': {'$ref': '#/definitions/packet'}},
9691 'required': ['location',
9695 'packet': {'additionalProperties': False,
9696 'properties': {'headerLen': {'type': 'integer'},
9697 'start': {'type': 'integer'},
9698 'totalLen': {'type': 'integer'}},
9699 'required': ['start', 'totalLen', 'headerLen'],
9701 'properties': {'EnableHA': {'properties': {'Params': {'$ref': '#/definitions/ControllersSpecs'},
9702 'Result': {'$ref': '#/definitions/ControllersChangeResults'}},
9704 'ResumeHAReplicationAfterUpgrade': {'properties': {'Params': {'$ref': '#/definitions/ResumeReplicationParams'}},
9706 'StopHAReplicationForUpgrade': {'properties': {'Params': {'$ref': '#/definitions/UpgradeMongoParams'},
9707 'Result': {'$ref': '#/definitions/MongoUpgradeResults'}},
9712 @ReturnMapping(ControllersChangeResults
)
9713 async def EnableHA(self
, specs
):
9715 specs : typing.Sequence[~ControllersSpec]
9716 Returns -> typing.Sequence[~ControllersChangeResult]
9718 # map input types to rpc msg
9720 msg
= dict(Type
='HighAvailability', Request
='EnableHA', Version
=2, Params
=params
)
9721 params
['Specs'] = specs
9722 reply
= await self
.rpc(msg
)
9727 @ReturnMapping(None)
9728 async def ResumeHAReplicationAfterUpgrade(self
, members
):
9730 members : typing.Sequence[~Member]
9733 # map input types to rpc msg
9735 msg
= dict(Type
='HighAvailability', Request
='ResumeHAReplicationAfterUpgrade', Version
=2, Params
=params
)
9736 params
['Members'] = members
9737 reply
= await self
.rpc(msg
)
9742 @ReturnMapping(MongoUpgradeResults
)
9743 async def StopHAReplicationForUpgrade(self
, major
, minor
, patch
, storageengine
):
9749 Returns -> typing.Union[_ForwardRef('HAMember'), typing.Sequence[~Member]]
9751 # map input types to rpc msg
9753 msg
= dict(Type
='HighAvailability', Request
='StopHAReplicationForUpgrade', Version
=2, Params
=params
)
9754 params
['Major'] = major
9755 params
['Minor'] = minor
9756 params
['Patch'] = patch
9757 params
['StorageEngine'] = storageengine
9758 reply
= await self
.rpc(msg
)
9762 class HostKeyReporter(Type
):
9763 name
= 'HostKeyReporter'
9765 schema
= {'definitions': {'Error': {'additionalProperties': False,
9766 'properties': {'Code': {'type': 'string'},
9767 'Info': {'$ref': '#/definitions/ErrorInfo'},
9768 'Message': {'type': 'string'}},
9769 'required': ['Message', 'Code'],
9771 'ErrorInfo': {'additionalProperties': False,
9772 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
9773 'MacaroonPath': {'type': 'string'}},
9775 'ErrorResult': {'additionalProperties': False,
9776 'properties': {'Error': {'$ref': '#/definitions/Error'}},
9777 'required': ['Error'],
9779 'ErrorResults': {'additionalProperties': False,
9780 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
9782 'required': ['Results'],
9784 'Macaroon': {'additionalProperties': False,
9785 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
9787 'data': {'items': {'type': 'integer'},
9789 'id': {'$ref': '#/definitions/packet'},
9790 'location': {'$ref': '#/definitions/packet'},
9791 'sig': {'items': {'type': 'integer'},
9793 'required': ['data',
9799 'SSHHostKeySet': {'additionalProperties': False,
9800 'properties': {'entity-keys': {'items': {'$ref': '#/definitions/SSHHostKeys'},
9802 'required': ['entity-keys'],
9804 'SSHHostKeys': {'additionalProperties': False,
9805 'properties': {'public-keys': {'items': {'type': 'string'},
9807 'tag': {'type': 'string'}},
9808 'required': ['tag', 'public-keys'],
9810 'caveat': {'additionalProperties': False,
9811 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
9812 'location': {'$ref': '#/definitions/packet'},
9813 'verificationId': {'$ref': '#/definitions/packet'}},
9814 'required': ['location',
9818 'packet': {'additionalProperties': False,
9819 'properties': {'headerLen': {'type': 'integer'},
9820 'start': {'type': 'integer'},
9821 'totalLen': {'type': 'integer'}},
9822 'required': ['start', 'totalLen', 'headerLen'],
9824 'properties': {'ReportKeys': {'properties': {'Params': {'$ref': '#/definitions/SSHHostKeySet'},
9825 'Result': {'$ref': '#/definitions/ErrorResults'}},
9830 @ReturnMapping(ErrorResults
)
9831 async def ReportKeys(self
, entity_keys
):
9833 entity_keys : typing.Sequence[~SSHHostKeys]
9834 Returns -> typing.Sequence[~ErrorResult]
9836 # map input types to rpc msg
9838 msg
= dict(Type
='HostKeyReporter', Request
='ReportKeys', Version
=1, Params
=params
)
9839 params
['entity-keys'] = entity_keys
9840 reply
= await self
.rpc(msg
)
9844 class ImageManager(Type
):
9845 name
= 'ImageManager'
9847 schema
= {'definitions': {'Error': {'additionalProperties': False,
9848 'properties': {'Code': {'type': 'string'},
9849 'Info': {'$ref': '#/definitions/ErrorInfo'},
9850 'Message': {'type': 'string'}},
9851 'required': ['Message', 'Code'],
9853 'ErrorInfo': {'additionalProperties': False,
9854 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
9855 'MacaroonPath': {'type': 'string'}},
9857 'ErrorResult': {'additionalProperties': False,
9858 'properties': {'Error': {'$ref': '#/definitions/Error'}},
9859 'required': ['Error'],
9861 'ErrorResults': {'additionalProperties': False,
9862 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
9864 'required': ['Results'],
9866 'ImageFilterParams': {'additionalProperties': False,
9867 'properties': {'images': {'items': {'$ref': '#/definitions/ImageSpec'},
9869 'required': ['images'],
9871 'ImageMetadata': {'additionalProperties': False,
9872 'properties': {'arch': {'type': 'string'},
9873 'created': {'format': 'date-time',
9875 'kind': {'type': 'string'},
9876 'series': {'type': 'string'},
9877 'url': {'type': 'string'}},
9878 'required': ['kind',
9884 'ImageSpec': {'additionalProperties': False,
9885 'properties': {'arch': {'type': 'string'},
9886 'kind': {'type': 'string'},
9887 'series': {'type': 'string'}},
9888 'required': ['kind', 'arch', 'series'],
9890 'ListImageResult': {'additionalProperties': False,
9891 'properties': {'result': {'items': {'$ref': '#/definitions/ImageMetadata'},
9893 'required': ['result'],
9895 'Macaroon': {'additionalProperties': False,
9896 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
9898 'data': {'items': {'type': 'integer'},
9900 'id': {'$ref': '#/definitions/packet'},
9901 'location': {'$ref': '#/definitions/packet'},
9902 'sig': {'items': {'type': 'integer'},
9904 'required': ['data',
9910 'caveat': {'additionalProperties': False,
9911 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
9912 'location': {'$ref': '#/definitions/packet'},
9913 'verificationId': {'$ref': '#/definitions/packet'}},
9914 'required': ['location',
9918 'packet': {'additionalProperties': False,
9919 'properties': {'headerLen': {'type': 'integer'},
9920 'start': {'type': 'integer'},
9921 'totalLen': {'type': 'integer'}},
9922 'required': ['start', 'totalLen', 'headerLen'],
9924 'properties': {'DeleteImages': {'properties': {'Params': {'$ref': '#/definitions/ImageFilterParams'},
9925 'Result': {'$ref': '#/definitions/ErrorResults'}},
9927 'ListImages': {'properties': {'Params': {'$ref': '#/definitions/ImageFilterParams'},
9928 'Result': {'$ref': '#/definitions/ListImageResult'}},
9933 @ReturnMapping(ErrorResults
)
9934 async def DeleteImages(self
, images
):
9936 images : typing.Sequence[~ImageSpec]
9937 Returns -> typing.Sequence[~ErrorResult]
9939 # map input types to rpc msg
9941 msg
= dict(Type
='ImageManager', Request
='DeleteImages', Version
=2, Params
=params
)
9942 params
['images'] = images
9943 reply
= await self
.rpc(msg
)
9948 @ReturnMapping(ListImageResult
)
9949 async def ListImages(self
, images
):
9951 images : typing.Sequence[~ImageSpec]
9952 Returns -> typing.Sequence[~ImageMetadata]
9954 # map input types to rpc msg
9956 msg
= dict(Type
='ImageManager', Request
='ListImages', Version
=2, Params
=params
)
9957 params
['images'] = images
9958 reply
= await self
.rpc(msg
)
9962 class ImageMetadata(Type
):
9963 name
= 'ImageMetadata'
9965 schema
= {'definitions': {'CloudImageMetadata': {'additionalProperties': False,
9966 'properties': {'arch': {'type': 'string'},
9967 'image_id': {'type': 'string'},
9968 'priority': {'type': 'integer'},
9969 'region': {'type': 'string'},
9970 'root_storage_size': {'type': 'integer'},
9971 'root_storage_type': {'type': 'string'},
9972 'series': {'type': 'string'},
9973 'source': {'type': 'string'},
9974 'stream': {'type': 'string'},
9975 'version': {'type': 'string'},
9976 'virt_type': {'type': 'string'}},
9977 'required': ['image_id',
9985 'CloudImageMetadataList': {'additionalProperties': False,
9986 'properties': {'metadata': {'items': {'$ref': '#/definitions/CloudImageMetadata'},
9989 'Error': {'additionalProperties': False,
9990 'properties': {'Code': {'type': 'string'},
9991 'Info': {'$ref': '#/definitions/ErrorInfo'},
9992 'Message': {'type': 'string'}},
9993 'required': ['Message', 'Code'],
9995 'ErrorInfo': {'additionalProperties': False,
9996 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
9997 'MacaroonPath': {'type': 'string'}},
9999 'ErrorResult': {'additionalProperties': False,
10000 'properties': {'Error': {'$ref': '#/definitions/Error'}},
10001 'required': ['Error'],
10003 'ErrorResults': {'additionalProperties': False,
10004 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
10006 'required': ['Results'],
10008 'ImageMetadataFilter': {'additionalProperties': False,
10009 'properties': {'arches': {'items': {'type': 'string'},
10011 'region': {'type': 'string'},
10012 'root-storage-type': {'type': 'string'},
10013 'series': {'items': {'type': 'string'},
10015 'stream': {'type': 'string'},
10016 'virt_type': {'type': 'string'}},
10018 'ListCloudImageMetadataResult': {'additionalProperties': False,
10019 'properties': {'result': {'items': {'$ref': '#/definitions/CloudImageMetadata'},
10021 'required': ['result'],
10023 'Macaroon': {'additionalProperties': False,
10024 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
10026 'data': {'items': {'type': 'integer'},
10028 'id': {'$ref': '#/definitions/packet'},
10029 'location': {'$ref': '#/definitions/packet'},
10030 'sig': {'items': {'type': 'integer'},
10032 'required': ['data',
10038 'MetadataImageIds': {'additionalProperties': False,
10039 'properties': {'image_ids': {'items': {'type': 'string'},
10041 'required': ['image_ids'],
10043 'MetadataSaveParams': {'additionalProperties': False,
10044 'properties': {'metadata': {'items': {'$ref': '#/definitions/CloudImageMetadataList'},
10047 'caveat': {'additionalProperties': False,
10048 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
10049 'location': {'$ref': '#/definitions/packet'},
10050 'verificationId': {'$ref': '#/definitions/packet'}},
10051 'required': ['location',
10055 'packet': {'additionalProperties': False,
10056 'properties': {'headerLen': {'type': 'integer'},
10057 'start': {'type': 'integer'},
10058 'totalLen': {'type': 'integer'}},
10059 'required': ['start', 'totalLen', 'headerLen'],
10060 'type': 'object'}},
10061 'properties': {'Delete': {'properties': {'Params': {'$ref': '#/definitions/MetadataImageIds'},
10062 'Result': {'$ref': '#/definitions/ErrorResults'}},
10064 'List': {'properties': {'Params': {'$ref': '#/definitions/ImageMetadataFilter'},
10065 'Result': {'$ref': '#/definitions/ListCloudImageMetadataResult'}},
10067 'Save': {'properties': {'Params': {'$ref': '#/definitions/MetadataSaveParams'},
10068 'Result': {'$ref': '#/definitions/ErrorResults'}},
10070 'UpdateFromPublishedImages': {'type': 'object'}},
10074 @ReturnMapping(ErrorResults
)
10075 async def Delete(self
, image_ids
):
10077 image_ids : typing.Sequence[str]
10078 Returns -> typing.Sequence[~ErrorResult]
10080 # map input types to rpc msg
10082 msg
= dict(Type
='ImageMetadata', Request
='Delete', Version
=2, Params
=params
)
10083 params
['image_ids'] = image_ids
10084 reply
= await self
.rpc(msg
)
10089 @ReturnMapping(ListCloudImageMetadataResult
)
10090 async def List(self
, arches
, region
, root_storage_type
, series
, stream
, virt_type
):
10092 arches : typing.Sequence[str]
10094 root_storage_type : str
10095 series : typing.Sequence[str]
10098 Returns -> typing.Sequence[~CloudImageMetadata]
10100 # map input types to rpc msg
10102 msg
= dict(Type
='ImageMetadata', Request
='List', Version
=2, Params
=params
)
10103 params
['arches'] = arches
10104 params
['region'] = region
10105 params
['root-storage-type'] = root_storage_type
10106 params
['series'] = series
10107 params
['stream'] = stream
10108 params
['virt_type'] = virt_type
10109 reply
= await self
.rpc(msg
)
10114 @ReturnMapping(ErrorResults
)
10115 async def Save(self
, metadata
):
10117 metadata : typing.Sequence[~CloudImageMetadataList]
10118 Returns -> typing.Sequence[~ErrorResult]
10120 # map input types to rpc msg
10122 msg
= dict(Type
='ImageMetadata', Request
='Save', Version
=2, Params
=params
)
10123 params
['metadata'] = metadata
10124 reply
= await self
.rpc(msg
)
10129 @ReturnMapping(None)
10130 async def UpdateFromPublishedImages(self
):
10135 # map input types to rpc msg
10137 msg
= dict(Type
='ImageMetadata', Request
='UpdateFromPublishedImages', Version
=2, Params
=params
)
10139 reply
= await self
.rpc(msg
)
10143 class InstancePoller(Type
):
10144 name
= 'InstancePoller'
10146 schema
= {'definitions': {'Address': {'additionalProperties': False,
10147 'properties': {'Scope': {'type': 'string'},
10148 'SpaceName': {'type': 'string'},
10149 'Type': {'type': 'string'},
10150 'Value': {'type': 'string'}},
10151 'required': ['Value', 'Type', 'Scope'],
10153 'BoolResult': {'additionalProperties': False,
10154 'properties': {'Error': {'$ref': '#/definitions/Error'},
10155 'Result': {'type': 'boolean'}},
10156 'required': ['Error', 'Result'],
10158 'BoolResults': {'additionalProperties': False,
10159 'properties': {'Results': {'items': {'$ref': '#/definitions/BoolResult'},
10161 'required': ['Results'],
10163 'Entities': {'additionalProperties': False,
10164 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
10166 'required': ['Entities'],
10168 'Entity': {'additionalProperties': False,
10169 'properties': {'Tag': {'type': 'string'}},
10170 'required': ['Tag'],
10172 'EntityStatusArgs': {'additionalProperties': False,
10173 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
10174 'type': 'object'}},
10176 'Info': {'type': 'string'},
10177 'Status': {'type': 'string'},
10178 'Tag': {'type': 'string'}},
10179 'required': ['Tag',
10184 'Error': {'additionalProperties': False,
10185 'properties': {'Code': {'type': 'string'},
10186 'Info': {'$ref': '#/definitions/ErrorInfo'},
10187 'Message': {'type': 'string'}},
10188 'required': ['Message', 'Code'],
10190 'ErrorInfo': {'additionalProperties': False,
10191 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
10192 'MacaroonPath': {'type': 'string'}},
10194 'ErrorResult': {'additionalProperties': False,
10195 'properties': {'Error': {'$ref': '#/definitions/Error'}},
10196 'required': ['Error'],
10198 'ErrorResults': {'additionalProperties': False,
10199 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
10201 'required': ['Results'],
10203 'LifeResult': {'additionalProperties': False,
10204 'properties': {'Error': {'$ref': '#/definitions/Error'},
10205 'Life': {'type': 'string'}},
10206 'required': ['Life', 'Error'],
10208 'LifeResults': {'additionalProperties': False,
10209 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
10211 'required': ['Results'],
10213 'Macaroon': {'additionalProperties': False,
10214 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
10216 'data': {'items': {'type': 'integer'},
10218 'id': {'$ref': '#/definitions/packet'},
10219 'location': {'$ref': '#/definitions/packet'},
10220 'sig': {'items': {'type': 'integer'},
10222 'required': ['data',
10228 'MachineAddresses': {'additionalProperties': False,
10229 'properties': {'Addresses': {'items': {'$ref': '#/definitions/Address'},
10231 'Tag': {'type': 'string'}},
10232 'required': ['Tag', 'Addresses'],
10234 'MachineAddressesResult': {'additionalProperties': False,
10235 'properties': {'Addresses': {'items': {'$ref': '#/definitions/Address'},
10237 'Error': {'$ref': '#/definitions/Error'}},
10238 'required': ['Error', 'Addresses'],
10240 'MachineAddressesResults': {'additionalProperties': False,
10241 'properties': {'Results': {'items': {'$ref': '#/definitions/MachineAddressesResult'},
10243 'required': ['Results'],
10245 'ModelConfigResult': {'additionalProperties': False,
10246 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
10247 'type': 'object'}},
10248 'type': 'object'}},
10249 'required': ['Config'],
10251 'NotifyWatchResult': {'additionalProperties': False,
10252 'properties': {'Error': {'$ref': '#/definitions/Error'},
10253 'NotifyWatcherId': {'type': 'string'}},
10254 'required': ['NotifyWatcherId', 'Error'],
10256 'SetMachinesAddresses': {'additionalProperties': False,
10257 'properties': {'MachineAddresses': {'items': {'$ref': '#/definitions/MachineAddresses'},
10259 'required': ['MachineAddresses'],
10261 'SetStatus': {'additionalProperties': False,
10262 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
10264 'required': ['Entities'],
10266 'StatusResult': {'additionalProperties': False,
10267 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
10268 'type': 'object'}},
10270 'Error': {'$ref': '#/definitions/Error'},
10271 'Id': {'type': 'string'},
10272 'Info': {'type': 'string'},
10273 'Life': {'type': 'string'},
10274 'Since': {'format': 'date-time',
10276 'Status': {'type': 'string'}},
10277 'required': ['Error',
10285 'StatusResults': {'additionalProperties': False,
10286 'properties': {'Results': {'items': {'$ref': '#/definitions/StatusResult'},
10288 'required': ['Results'],
10290 'StringResult': {'additionalProperties': False,
10291 'properties': {'Error': {'$ref': '#/definitions/Error'},
10292 'Result': {'type': 'string'}},
10293 'required': ['Error', 'Result'],
10295 'StringResults': {'additionalProperties': False,
10296 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'},
10298 'required': ['Results'],
10300 'StringsWatchResult': {'additionalProperties': False,
10301 'properties': {'Changes': {'items': {'type': 'string'},
10303 'Error': {'$ref': '#/definitions/Error'},
10304 'StringsWatcherId': {'type': 'string'}},
10305 'required': ['StringsWatcherId',
10309 'caveat': {'additionalProperties': False,
10310 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
10311 'location': {'$ref': '#/definitions/packet'},
10312 'verificationId': {'$ref': '#/definitions/packet'}},
10313 'required': ['location',
10317 'packet': {'additionalProperties': False,
10318 'properties': {'headerLen': {'type': 'integer'},
10319 'start': {'type': 'integer'},
10320 'totalLen': {'type': 'integer'}},
10321 'required': ['start', 'totalLen', 'headerLen'],
10322 'type': 'object'}},
10323 'properties': {'AreManuallyProvisioned': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10324 'Result': {'$ref': '#/definitions/BoolResults'}},
10326 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10327 'Result': {'$ref': '#/definitions/StringResults'}},
10329 'InstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10330 'Result': {'$ref': '#/definitions/StatusResults'}},
10332 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10333 'Result': {'$ref': '#/definitions/LifeResults'}},
10335 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
10337 'ProviderAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10338 'Result': {'$ref': '#/definitions/MachineAddressesResults'}},
10340 'SetInstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
10341 'Result': {'$ref': '#/definitions/ErrorResults'}},
10343 'SetProviderAddresses': {'properties': {'Params': {'$ref': '#/definitions/SetMachinesAddresses'},
10344 'Result': {'$ref': '#/definitions/ErrorResults'}},
10346 'Status': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10347 'Result': {'$ref': '#/definitions/StatusResults'}},
10349 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
10351 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
10352 'type': 'object'}},
10356 @ReturnMapping(BoolResults
)
10357 async def AreManuallyProvisioned(self
, entities
):
10359 entities : typing.Sequence[~Entity]
10360 Returns -> typing.Sequence[~BoolResult]
10362 # map input types to rpc msg
10364 msg
= dict(Type
='InstancePoller', Request
='AreManuallyProvisioned', Version
=2, Params
=params
)
10365 params
['Entities'] = entities
10366 reply
= await self
.rpc(msg
)
10371 @ReturnMapping(StringResults
)
10372 async def InstanceId(self
, entities
):
10374 entities : typing.Sequence[~Entity]
10375 Returns -> typing.Sequence[~StringResult]
10377 # map input types to rpc msg
10379 msg
= dict(Type
='InstancePoller', Request
='InstanceId', Version
=2, Params
=params
)
10380 params
['Entities'] = entities
10381 reply
= await self
.rpc(msg
)
10386 @ReturnMapping(StatusResults
)
10387 async def InstanceStatus(self
, entities
):
10389 entities : typing.Sequence[~Entity]
10390 Returns -> typing.Sequence[~StatusResult]
10392 # map input types to rpc msg
10394 msg
= dict(Type
='InstancePoller', Request
='InstanceStatus', Version
=2, Params
=params
)
10395 params
['Entities'] = entities
10396 reply
= await self
.rpc(msg
)
10401 @ReturnMapping(LifeResults
)
10402 async def Life(self
, entities
):
10404 entities : typing.Sequence[~Entity]
10405 Returns -> typing.Sequence[~LifeResult]
10407 # map input types to rpc msg
10409 msg
= dict(Type
='InstancePoller', Request
='Life', Version
=2, Params
=params
)
10410 params
['Entities'] = entities
10411 reply
= await self
.rpc(msg
)
10416 @ReturnMapping(ModelConfigResult
)
10417 async def ModelConfig(self
):
10420 Returns -> typing.Mapping[str, typing.Any]
10422 # map input types to rpc msg
10424 msg
= dict(Type
='InstancePoller', Request
='ModelConfig', Version
=2, Params
=params
)
10426 reply
= await self
.rpc(msg
)
10431 @ReturnMapping(MachineAddressesResults
)
10432 async def ProviderAddresses(self
, entities
):
10434 entities : typing.Sequence[~Entity]
10435 Returns -> typing.Sequence[~MachineAddressesResult]
10437 # map input types to rpc msg
10439 msg
= dict(Type
='InstancePoller', Request
='ProviderAddresses', Version
=2, Params
=params
)
10440 params
['Entities'] = entities
10441 reply
= await self
.rpc(msg
)
10446 @ReturnMapping(ErrorResults
)
10447 async def SetInstanceStatus(self
, entities
):
10449 entities : typing.Sequence[~EntityStatusArgs]
10450 Returns -> typing.Sequence[~ErrorResult]
10452 # map input types to rpc msg
10454 msg
= dict(Type
='InstancePoller', Request
='SetInstanceStatus', Version
=2, Params
=params
)
10455 params
['Entities'] = entities
10456 reply
= await self
.rpc(msg
)
10461 @ReturnMapping(ErrorResults
)
10462 async def SetProviderAddresses(self
, machineaddresses
):
10464 machineaddresses : typing.Sequence[~MachineAddresses]
10465 Returns -> typing.Sequence[~ErrorResult]
10467 # map input types to rpc msg
10469 msg
= dict(Type
='InstancePoller', Request
='SetProviderAddresses', Version
=2, Params
=params
)
10470 params
['MachineAddresses'] = machineaddresses
10471 reply
= await self
.rpc(msg
)
10476 @ReturnMapping(StatusResults
)
10477 async def Status(self
, entities
):
10479 entities : typing.Sequence[~Entity]
10480 Returns -> typing.Sequence[~StatusResult]
10482 # map input types to rpc msg
10484 msg
= dict(Type
='InstancePoller', Request
='Status', Version
=2, Params
=params
)
10485 params
['Entities'] = entities
10486 reply
= await self
.rpc(msg
)
10491 @ReturnMapping(NotifyWatchResult
)
10492 async def WatchForModelConfigChanges(self
):
10495 Returns -> typing.Union[_ForwardRef('Error'), str]
10497 # map input types to rpc msg
10499 msg
= dict(Type
='InstancePoller', Request
='WatchForModelConfigChanges', Version
=2, Params
=params
)
10501 reply
= await self
.rpc(msg
)
10506 @ReturnMapping(StringsWatchResult
)
10507 async def WatchModelMachines(self
):
10510 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
10512 # map input types to rpc msg
10514 msg
= dict(Type
='InstancePoller', Request
='WatchModelMachines', Version
=2, Params
=params
)
10516 reply
= await self
.rpc(msg
)
10520 class KeyManager(Type
):
10521 name
= 'KeyManager'
10523 schema
= {'definitions': {'Entities': {'additionalProperties': False,
10524 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
10526 'required': ['Entities'],
10528 'Entity': {'additionalProperties': False,
10529 'properties': {'Tag': {'type': 'string'}},
10530 'required': ['Tag'],
10532 'Error': {'additionalProperties': False,
10533 'properties': {'Code': {'type': 'string'},
10534 'Info': {'$ref': '#/definitions/ErrorInfo'},
10535 'Message': {'type': 'string'}},
10536 'required': ['Message', 'Code'],
10538 'ErrorInfo': {'additionalProperties': False,
10539 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
10540 'MacaroonPath': {'type': 'string'}},
10542 'ErrorResult': {'additionalProperties': False,
10543 'properties': {'Error': {'$ref': '#/definitions/Error'}},
10544 'required': ['Error'],
10546 'ErrorResults': {'additionalProperties': False,
10547 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
10549 'required': ['Results'],
10551 'ListSSHKeys': {'additionalProperties': False,
10552 'properties': {'Entities': {'$ref': '#/definitions/Entities'},
10553 'Mode': {'type': 'boolean'}},
10554 'required': ['Entities', 'Mode'],
10556 'Macaroon': {'additionalProperties': False,
10557 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
10559 'data': {'items': {'type': 'integer'},
10561 'id': {'$ref': '#/definitions/packet'},
10562 'location': {'$ref': '#/definitions/packet'},
10563 'sig': {'items': {'type': 'integer'},
10565 'required': ['data',
10571 'ModifyUserSSHKeys': {'additionalProperties': False,
10572 'properties': {'Keys': {'items': {'type': 'string'},
10574 'User': {'type': 'string'}},
10575 'required': ['User', 'Keys'],
10577 'StringsResult': {'additionalProperties': False,
10578 'properties': {'Error': {'$ref': '#/definitions/Error'},
10579 'Result': {'items': {'type': 'string'},
10581 'required': ['Error', 'Result'],
10583 'StringsResults': {'additionalProperties': False,
10584 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsResult'},
10586 'required': ['Results'],
10588 'caveat': {'additionalProperties': False,
10589 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
10590 'location': {'$ref': '#/definitions/packet'},
10591 'verificationId': {'$ref': '#/definitions/packet'}},
10592 'required': ['location',
10596 'packet': {'additionalProperties': False,
10597 'properties': {'headerLen': {'type': 'integer'},
10598 'start': {'type': 'integer'},
10599 'totalLen': {'type': 'integer'}},
10600 'required': ['start', 'totalLen', 'headerLen'],
10601 'type': 'object'}},
10602 'properties': {'AddKeys': {'properties': {'Params': {'$ref': '#/definitions/ModifyUserSSHKeys'},
10603 'Result': {'$ref': '#/definitions/ErrorResults'}},
10605 'DeleteKeys': {'properties': {'Params': {'$ref': '#/definitions/ModifyUserSSHKeys'},
10606 'Result': {'$ref': '#/definitions/ErrorResults'}},
10608 'ImportKeys': {'properties': {'Params': {'$ref': '#/definitions/ModifyUserSSHKeys'},
10609 'Result': {'$ref': '#/definitions/ErrorResults'}},
10611 'ListKeys': {'properties': {'Params': {'$ref': '#/definitions/ListSSHKeys'},
10612 'Result': {'$ref': '#/definitions/StringsResults'}},
10613 'type': 'object'}},
10617 @ReturnMapping(ErrorResults
)
10618 async def AddKeys(self
, keys
, user
):
10620 keys : typing.Sequence[str]
10622 Returns -> typing.Sequence[~ErrorResult]
10624 # map input types to rpc msg
10626 msg
= dict(Type
='KeyManager', Request
='AddKeys', Version
=1, Params
=params
)
10627 params
['Keys'] = keys
10628 params
['User'] = user
10629 reply
= await self
.rpc(msg
)
10634 @ReturnMapping(ErrorResults
)
10635 async def DeleteKeys(self
, keys
, user
):
10637 keys : typing.Sequence[str]
10639 Returns -> typing.Sequence[~ErrorResult]
10641 # map input types to rpc msg
10643 msg
= dict(Type
='KeyManager', Request
='DeleteKeys', Version
=1, Params
=params
)
10644 params
['Keys'] = keys
10645 params
['User'] = user
10646 reply
= await self
.rpc(msg
)
10651 @ReturnMapping(ErrorResults
)
10652 async def ImportKeys(self
, keys
, user
):
10654 keys : typing.Sequence[str]
10656 Returns -> typing.Sequence[~ErrorResult]
10658 # map input types to rpc msg
10660 msg
= dict(Type
='KeyManager', Request
='ImportKeys', Version
=1, Params
=params
)
10661 params
['Keys'] = keys
10662 params
['User'] = user
10663 reply
= await self
.rpc(msg
)
10668 @ReturnMapping(StringsResults
)
10669 async def ListKeys(self
, entities
, mode
):
10671 entities : Entities
10673 Returns -> typing.Sequence[~StringsResult]
10675 # map input types to rpc msg
10677 msg
= dict(Type
='KeyManager', Request
='ListKeys', Version
=1, Params
=params
)
10678 params
['Entities'] = entities
10679 params
['Mode'] = mode
10680 reply
= await self
.rpc(msg
)
10684 class KeyUpdater(Type
):
10685 name
= 'KeyUpdater'
10687 schema
= {'definitions': {'Entities': {'additionalProperties': False,
10688 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
10690 'required': ['Entities'],
10692 'Entity': {'additionalProperties': False,
10693 'properties': {'Tag': {'type': 'string'}},
10694 'required': ['Tag'],
10696 'Error': {'additionalProperties': False,
10697 'properties': {'Code': {'type': 'string'},
10698 'Info': {'$ref': '#/definitions/ErrorInfo'},
10699 'Message': {'type': 'string'}},
10700 'required': ['Message', 'Code'],
10702 'ErrorInfo': {'additionalProperties': False,
10703 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
10704 'MacaroonPath': {'type': 'string'}},
10706 'Macaroon': {'additionalProperties': False,
10707 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
10709 'data': {'items': {'type': 'integer'},
10711 'id': {'$ref': '#/definitions/packet'},
10712 'location': {'$ref': '#/definitions/packet'},
10713 'sig': {'items': {'type': 'integer'},
10715 'required': ['data',
10721 'NotifyWatchResult': {'additionalProperties': False,
10722 'properties': {'Error': {'$ref': '#/definitions/Error'},
10723 'NotifyWatcherId': {'type': 'string'}},
10724 'required': ['NotifyWatcherId', 'Error'],
10726 'NotifyWatchResults': {'additionalProperties': False,
10727 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
10729 'required': ['Results'],
10731 'StringsResult': {'additionalProperties': False,
10732 'properties': {'Error': {'$ref': '#/definitions/Error'},
10733 'Result': {'items': {'type': 'string'},
10735 'required': ['Error', 'Result'],
10737 'StringsResults': {'additionalProperties': False,
10738 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsResult'},
10740 'required': ['Results'],
10742 'caveat': {'additionalProperties': False,
10743 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
10744 'location': {'$ref': '#/definitions/packet'},
10745 'verificationId': {'$ref': '#/definitions/packet'}},
10746 'required': ['location',
10750 'packet': {'additionalProperties': False,
10751 'properties': {'headerLen': {'type': 'integer'},
10752 'start': {'type': 'integer'},
10753 'totalLen': {'type': 'integer'}},
10754 'required': ['start', 'totalLen', 'headerLen'],
10755 'type': 'object'}},
10756 'properties': {'AuthorisedKeys': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10757 'Result': {'$ref': '#/definitions/StringsResults'}},
10759 'WatchAuthorisedKeys': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10760 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
10761 'type': 'object'}},
10765 @ReturnMapping(StringsResults
)
10766 async def AuthorisedKeys(self
, entities
):
10768 entities : typing.Sequence[~Entity]
10769 Returns -> typing.Sequence[~StringsResult]
10771 # map input types to rpc msg
10773 msg
= dict(Type
='KeyUpdater', Request
='AuthorisedKeys', Version
=1, Params
=params
)
10774 params
['Entities'] = entities
10775 reply
= await self
.rpc(msg
)
10780 @ReturnMapping(NotifyWatchResults
)
10781 async def WatchAuthorisedKeys(self
, entities
):
10783 entities : typing.Sequence[~Entity]
10784 Returns -> typing.Sequence[~NotifyWatchResult]
10786 # map input types to rpc msg
10788 msg
= dict(Type
='KeyUpdater', Request
='WatchAuthorisedKeys', Version
=1, Params
=params
)
10789 params
['Entities'] = entities
10790 reply
= await self
.rpc(msg
)
10794 class LeadershipService(Type
):
10795 name
= 'LeadershipService'
10797 schema
= {'definitions': {'ClaimLeadershipBulkParams': {'additionalProperties': False,
10798 'properties': {'Params': {'items': {'$ref': '#/definitions/ClaimLeadershipParams'},
10800 'required': ['Params'],
10802 'ClaimLeadershipBulkResults': {'additionalProperties': False,
10803 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
10805 'required': ['Results'],
10807 'ClaimLeadershipParams': {'additionalProperties': False,
10808 'properties': {'DurationSeconds': {'type': 'number'},
10809 'ServiceTag': {'type': 'string'},
10810 'UnitTag': {'type': 'string'}},
10811 'required': ['ServiceTag',
10813 'DurationSeconds'],
10815 'Error': {'additionalProperties': False,
10816 'properties': {'Code': {'type': 'string'},
10817 'Info': {'$ref': '#/definitions/ErrorInfo'},
10818 'Message': {'type': 'string'}},
10819 'required': ['Message', 'Code'],
10821 'ErrorInfo': {'additionalProperties': False,
10822 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
10823 'MacaroonPath': {'type': 'string'}},
10825 'ErrorResult': {'additionalProperties': False,
10826 'properties': {'Error': {'$ref': '#/definitions/Error'}},
10827 'required': ['Error'],
10829 'Macaroon': {'additionalProperties': False,
10830 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
10832 'data': {'items': {'type': 'integer'},
10834 'id': {'$ref': '#/definitions/packet'},
10835 'location': {'$ref': '#/definitions/packet'},
10836 'sig': {'items': {'type': 'integer'},
10838 'required': ['data',
10844 'ServiceTag': {'additionalProperties': False,
10845 'properties': {'Name': {'type': 'string'}},
10846 'required': ['Name'],
10848 'caveat': {'additionalProperties': False,
10849 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
10850 'location': {'$ref': '#/definitions/packet'},
10851 'verificationId': {'$ref': '#/definitions/packet'}},
10852 'required': ['location',
10856 'packet': {'additionalProperties': False,
10857 'properties': {'headerLen': {'type': 'integer'},
10858 'start': {'type': 'integer'},
10859 'totalLen': {'type': 'integer'}},
10860 'required': ['start', 'totalLen', 'headerLen'],
10861 'type': 'object'}},
10862 'properties': {'BlockUntilLeadershipReleased': {'properties': {'Params': {'$ref': '#/definitions/ServiceTag'},
10863 'Result': {'$ref': '#/definitions/ErrorResult'}},
10865 'ClaimLeadership': {'properties': {'Params': {'$ref': '#/definitions/ClaimLeadershipBulkParams'},
10866 'Result': {'$ref': '#/definitions/ClaimLeadershipBulkResults'}},
10867 'type': 'object'}},
10871 @ReturnMapping(ErrorResult
)
10872 async def BlockUntilLeadershipReleased(self
, name
):
10877 # map input types to rpc msg
10879 msg
= dict(Type
='LeadershipService', Request
='BlockUntilLeadershipReleased', Version
=2, Params
=params
)
10880 params
['Name'] = name
10881 reply
= await self
.rpc(msg
)
10886 @ReturnMapping(ClaimLeadershipBulkResults
)
10887 async def ClaimLeadership(self
, params
):
10889 params : typing.Sequence[~ClaimLeadershipParams]
10890 Returns -> typing.Sequence[~ErrorResult]
10892 # map input types to rpc msg
10894 msg
= dict(Type
='LeadershipService', Request
='ClaimLeadership', Version
=2, Params
=params
)
10895 params
['Params'] = params
10896 reply
= await self
.rpc(msg
)
10900 class LifeFlag(Type
):
10903 schema
= {'definitions': {'Entities': {'additionalProperties': False,
10904 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
10906 'required': ['Entities'],
10908 'Entity': {'additionalProperties': False,
10909 'properties': {'Tag': {'type': 'string'}},
10910 'required': ['Tag'],
10912 'Error': {'additionalProperties': False,
10913 'properties': {'Code': {'type': 'string'},
10914 'Info': {'$ref': '#/definitions/ErrorInfo'},
10915 'Message': {'type': 'string'}},
10916 'required': ['Message', 'Code'],
10918 'ErrorInfo': {'additionalProperties': False,
10919 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
10920 'MacaroonPath': {'type': 'string'}},
10922 'LifeResult': {'additionalProperties': False,
10923 'properties': {'Error': {'$ref': '#/definitions/Error'},
10924 'Life': {'type': 'string'}},
10925 'required': ['Life', 'Error'],
10927 'LifeResults': {'additionalProperties': False,
10928 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
10930 'required': ['Results'],
10932 'Macaroon': {'additionalProperties': False,
10933 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
10935 'data': {'items': {'type': 'integer'},
10937 'id': {'$ref': '#/definitions/packet'},
10938 'location': {'$ref': '#/definitions/packet'},
10939 'sig': {'items': {'type': 'integer'},
10941 'required': ['data',
10947 'NotifyWatchResult': {'additionalProperties': False,
10948 'properties': {'Error': {'$ref': '#/definitions/Error'},
10949 'NotifyWatcherId': {'type': 'string'}},
10950 'required': ['NotifyWatcherId', 'Error'],
10952 'NotifyWatchResults': {'additionalProperties': False,
10953 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
10955 'required': ['Results'],
10957 'caveat': {'additionalProperties': False,
10958 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
10959 'location': {'$ref': '#/definitions/packet'},
10960 'verificationId': {'$ref': '#/definitions/packet'}},
10961 'required': ['location',
10965 'packet': {'additionalProperties': False,
10966 'properties': {'headerLen': {'type': 'integer'},
10967 'start': {'type': 'integer'},
10968 'totalLen': {'type': 'integer'}},
10969 'required': ['start', 'totalLen', 'headerLen'],
10970 'type': 'object'}},
10971 'properties': {'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10972 'Result': {'$ref': '#/definitions/LifeResults'}},
10974 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10975 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
10976 'type': 'object'}},
10980 @ReturnMapping(LifeResults
)
10981 async def Life(self
, entities
):
10983 entities : typing.Sequence[~Entity]
10984 Returns -> typing.Sequence[~LifeResult]
10986 # map input types to rpc msg
10988 msg
= dict(Type
='LifeFlag', Request
='Life', Version
=1, Params
=params
)
10989 params
['Entities'] = entities
10990 reply
= await self
.rpc(msg
)
10995 @ReturnMapping(NotifyWatchResults
)
10996 async def Watch(self
, entities
):
10998 entities : typing.Sequence[~Entity]
10999 Returns -> typing.Sequence[~NotifyWatchResult]
11001 # map input types to rpc msg
11003 msg
= dict(Type
='LifeFlag', Request
='Watch', Version
=1, Params
=params
)
11004 params
['Entities'] = entities
11005 reply
= await self
.rpc(msg
)
11009 class Logger(Type
):
11012 schema
= {'definitions': {'Entities': {'additionalProperties': False,
11013 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
11015 'required': ['Entities'],
11017 'Entity': {'additionalProperties': False,
11018 'properties': {'Tag': {'type': 'string'}},
11019 'required': ['Tag'],
11021 'Error': {'additionalProperties': False,
11022 'properties': {'Code': {'type': 'string'},
11023 'Info': {'$ref': '#/definitions/ErrorInfo'},
11024 'Message': {'type': 'string'}},
11025 'required': ['Message', 'Code'],
11027 'ErrorInfo': {'additionalProperties': False,
11028 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
11029 'MacaroonPath': {'type': 'string'}},
11031 'Macaroon': {'additionalProperties': False,
11032 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
11034 'data': {'items': {'type': 'integer'},
11036 'id': {'$ref': '#/definitions/packet'},
11037 'location': {'$ref': '#/definitions/packet'},
11038 'sig': {'items': {'type': 'integer'},
11040 'required': ['data',
11046 'NotifyWatchResult': {'additionalProperties': False,
11047 'properties': {'Error': {'$ref': '#/definitions/Error'},
11048 'NotifyWatcherId': {'type': 'string'}},
11049 'required': ['NotifyWatcherId', 'Error'],
11051 'NotifyWatchResults': {'additionalProperties': False,
11052 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
11054 'required': ['Results'],
11056 'StringResult': {'additionalProperties': False,
11057 'properties': {'Error': {'$ref': '#/definitions/Error'},
11058 'Result': {'type': 'string'}},
11059 'required': ['Error', 'Result'],
11061 'StringResults': {'additionalProperties': False,
11062 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'},
11064 'required': ['Results'],
11066 'caveat': {'additionalProperties': False,
11067 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
11068 'location': {'$ref': '#/definitions/packet'},
11069 'verificationId': {'$ref': '#/definitions/packet'}},
11070 'required': ['location',
11074 'packet': {'additionalProperties': False,
11075 'properties': {'headerLen': {'type': 'integer'},
11076 'start': {'type': 'integer'},
11077 'totalLen': {'type': 'integer'}},
11078 'required': ['start', 'totalLen', 'headerLen'],
11079 'type': 'object'}},
11080 'properties': {'LoggingConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11081 'Result': {'$ref': '#/definitions/StringResults'}},
11083 'WatchLoggingConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11084 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
11085 'type': 'object'}},
11089 @ReturnMapping(StringResults
)
11090 async def LoggingConfig(self
, entities
):
11092 entities : typing.Sequence[~Entity]
11093 Returns -> typing.Sequence[~StringResult]
11095 # map input types to rpc msg
11097 msg
= dict(Type
='Logger', Request
='LoggingConfig', Version
=1, Params
=params
)
11098 params
['Entities'] = entities
11099 reply
= await self
.rpc(msg
)
11104 @ReturnMapping(NotifyWatchResults
)
11105 async def WatchLoggingConfig(self
, entities
):
11107 entities : typing.Sequence[~Entity]
11108 Returns -> typing.Sequence[~NotifyWatchResult]
11110 # map input types to rpc msg
11112 msg
= dict(Type
='Logger', Request
='WatchLoggingConfig', Version
=1, Params
=params
)
11113 params
['Entities'] = entities
11114 reply
= await self
.rpc(msg
)
11118 class MachineActions(Type
):
11119 name
= 'MachineActions'
11121 schema
= {'definitions': {'Action': {'additionalProperties': False,
11122 'properties': {'name': {'type': 'string'},
11123 'parameters': {'patternProperties': {'.*': {'additionalProperties': True,
11124 'type': 'object'}},
11126 'receiver': {'type': 'string'},
11127 'tag': {'type': 'string'}},
11128 'required': ['tag', 'receiver', 'name'],
11130 'ActionExecutionResult': {'additionalProperties': False,
11131 'properties': {'actiontag': {'type': 'string'},
11132 'message': {'type': 'string'},
11133 'results': {'patternProperties': {'.*': {'additionalProperties': True,
11134 'type': 'object'}},
11136 'status': {'type': 'string'}},
11137 'required': ['actiontag', 'status'],
11139 'ActionExecutionResults': {'additionalProperties': False,
11140 'properties': {'results': {'items': {'$ref': '#/definitions/ActionExecutionResult'},
11143 'ActionResult': {'additionalProperties': False,
11144 'properties': {'action': {'$ref': '#/definitions/Action'},
11145 'completed': {'format': 'date-time',
11147 'enqueued': {'format': 'date-time',
11149 'error': {'$ref': '#/definitions/Error'},
11150 'message': {'type': 'string'},
11151 'output': {'patternProperties': {'.*': {'additionalProperties': True,
11152 'type': 'object'}},
11154 'started': {'format': 'date-time',
11156 'status': {'type': 'string'}},
11158 'ActionResults': {'additionalProperties': False,
11159 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'},
11162 'ActionsByReceiver': {'additionalProperties': False,
11163 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'},
11165 'error': {'$ref': '#/definitions/Error'},
11166 'receiver': {'type': 'string'}},
11168 'ActionsByReceivers': {'additionalProperties': False,
11169 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByReceiver'},
11172 'Entities': {'additionalProperties': False,
11173 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
11175 'required': ['Entities'],
11177 'Entity': {'additionalProperties': False,
11178 'properties': {'Tag': {'type': 'string'}},
11179 'required': ['Tag'],
11181 'Error': {'additionalProperties': False,
11182 'properties': {'Code': {'type': 'string'},
11183 'Info': {'$ref': '#/definitions/ErrorInfo'},
11184 'Message': {'type': 'string'}},
11185 'required': ['Message', 'Code'],
11187 'ErrorInfo': {'additionalProperties': False,
11188 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
11189 'MacaroonPath': {'type': 'string'}},
11191 'ErrorResult': {'additionalProperties': False,
11192 'properties': {'Error': {'$ref': '#/definitions/Error'}},
11193 'required': ['Error'],
11195 'ErrorResults': {'additionalProperties': False,
11196 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
11198 'required': ['Results'],
11200 'Macaroon': {'additionalProperties': False,
11201 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
11203 'data': {'items': {'type': 'integer'},
11205 'id': {'$ref': '#/definitions/packet'},
11206 'location': {'$ref': '#/definitions/packet'},
11207 'sig': {'items': {'type': 'integer'},
11209 'required': ['data',
11215 'StringsWatchResult': {'additionalProperties': False,
11216 'properties': {'Changes': {'items': {'type': 'string'},
11218 'Error': {'$ref': '#/definitions/Error'},
11219 'StringsWatcherId': {'type': 'string'}},
11220 'required': ['StringsWatcherId',
11224 'StringsWatchResults': {'additionalProperties': False,
11225 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
11227 'required': ['Results'],
11229 'caveat': {'additionalProperties': False,
11230 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
11231 'location': {'$ref': '#/definitions/packet'},
11232 'verificationId': {'$ref': '#/definitions/packet'}},
11233 'required': ['location',
11237 'packet': {'additionalProperties': False,
11238 'properties': {'headerLen': {'type': 'integer'},
11239 'start': {'type': 'integer'},
11240 'totalLen': {'type': 'integer'}},
11241 'required': ['start', 'totalLen', 'headerLen'],
11242 'type': 'object'}},
11243 'properties': {'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11244 'Result': {'$ref': '#/definitions/ActionResults'}},
11246 'BeginActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11247 'Result': {'$ref': '#/definitions/ErrorResults'}},
11249 'FinishActions': {'properties': {'Params': {'$ref': '#/definitions/ActionExecutionResults'},
11250 'Result': {'$ref': '#/definitions/ErrorResults'}},
11252 'RunningActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11253 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
11255 'WatchActionNotifications': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11256 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
11257 'type': 'object'}},
11261 @ReturnMapping(ActionResults
)
11262 async def Actions(self
, entities
):
11264 entities : typing.Sequence[~Entity]
11265 Returns -> typing.Sequence[~ActionResult]
11267 # map input types to rpc msg
11269 msg
= dict(Type
='MachineActions', Request
='Actions', Version
=1, Params
=params
)
11270 params
['Entities'] = entities
11271 reply
= await self
.rpc(msg
)
11276 @ReturnMapping(ErrorResults
)
11277 async def BeginActions(self
, entities
):
11279 entities : typing.Sequence[~Entity]
11280 Returns -> typing.Sequence[~ErrorResult]
11282 # map input types to rpc msg
11284 msg
= dict(Type
='MachineActions', Request
='BeginActions', Version
=1, Params
=params
)
11285 params
['Entities'] = entities
11286 reply
= await self
.rpc(msg
)
11291 @ReturnMapping(ErrorResults
)
11292 async def FinishActions(self
, results
):
11294 results : typing.Sequence[~ActionExecutionResult]
11295 Returns -> typing.Sequence[~ErrorResult]
11297 # map input types to rpc msg
11299 msg
= dict(Type
='MachineActions', Request
='FinishActions', Version
=1, Params
=params
)
11300 params
['results'] = results
11301 reply
= await self
.rpc(msg
)
11306 @ReturnMapping(ActionsByReceivers
)
11307 async def RunningActions(self
, entities
):
11309 entities : typing.Sequence[~Entity]
11310 Returns -> typing.Sequence[~ActionsByReceiver]
11312 # map input types to rpc msg
11314 msg
= dict(Type
='MachineActions', Request
='RunningActions', Version
=1, Params
=params
)
11315 params
['Entities'] = entities
11316 reply
= await self
.rpc(msg
)
11321 @ReturnMapping(StringsWatchResults
)
11322 async def WatchActionNotifications(self
, entities
):
11324 entities : typing.Sequence[~Entity]
11325 Returns -> typing.Sequence[~StringsWatchResult]
11327 # map input types to rpc msg
11329 msg
= dict(Type
='MachineActions', Request
='WatchActionNotifications', Version
=1, Params
=params
)
11330 params
['Entities'] = entities
11331 reply
= await self
.rpc(msg
)
11335 class MachineManager(Type
):
11336 name
= 'MachineManager'
11338 schema
= {'definitions': {'AddMachineParams': {'additionalProperties': False,
11339 'properties': {'Addrs': {'items': {'$ref': '#/definitions/Address'},
11341 'Constraints': {'$ref': '#/definitions/Value'},
11342 'ContainerType': {'type': 'string'},
11343 'Disks': {'items': {'$ref': '#/definitions/Constraints'},
11345 'HardwareCharacteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
11346 'InstanceId': {'type': 'string'},
11347 'Jobs': {'items': {'type': 'string'},
11349 'Nonce': {'type': 'string'},
11350 'ParentId': {'type': 'string'},
11351 'Placement': {'$ref': '#/definitions/Placement'},
11352 'Series': {'type': 'string'}},
11353 'required': ['Series',
11362 'HardwareCharacteristics',
11365 'AddMachines': {'additionalProperties': False,
11366 'properties': {'MachineParams': {'items': {'$ref': '#/definitions/AddMachineParams'},
11368 'required': ['MachineParams'],
11370 'AddMachinesResult': {'additionalProperties': False,
11371 'properties': {'Error': {'$ref': '#/definitions/Error'},
11372 'Machine': {'type': 'string'}},
11373 'required': ['Machine', 'Error'],
11375 'AddMachinesResults': {'additionalProperties': False,
11376 'properties': {'Machines': {'items': {'$ref': '#/definitions/AddMachinesResult'},
11378 'required': ['Machines'],
11380 'Address': {'additionalProperties': False,
11381 'properties': {'Scope': {'type': 'string'},
11382 'SpaceName': {'type': 'string'},
11383 'Type': {'type': 'string'},
11384 'Value': {'type': 'string'}},
11385 'required': ['Value', 'Type', 'Scope'],
11387 'Constraints': {'additionalProperties': False,
11388 'properties': {'Count': {'type': 'integer'},
11389 'Pool': {'type': 'string'},
11390 'Size': {'type': 'integer'}},
11391 'required': ['Pool', 'Size', 'Count'],
11393 'Error': {'additionalProperties': False,
11394 'properties': {'Code': {'type': 'string'},
11395 'Info': {'$ref': '#/definitions/ErrorInfo'},
11396 'Message': {'type': 'string'}},
11397 'required': ['Message', 'Code'],
11399 'ErrorInfo': {'additionalProperties': False,
11400 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
11401 'MacaroonPath': {'type': 'string'}},
11403 'HardwareCharacteristics': {'additionalProperties': False,
11404 'properties': {'Arch': {'type': 'string'},
11405 'AvailabilityZone': {'type': 'string'},
11406 'CpuCores': {'type': 'integer'},
11407 'CpuPower': {'type': 'integer'},
11408 'Mem': {'type': 'integer'},
11409 'RootDisk': {'type': 'integer'},
11410 'Tags': {'items': {'type': 'string'},
11413 'Macaroon': {'additionalProperties': False,
11414 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
11416 'data': {'items': {'type': 'integer'},
11418 'id': {'$ref': '#/definitions/packet'},
11419 'location': {'$ref': '#/definitions/packet'},
11420 'sig': {'items': {'type': 'integer'},
11422 'required': ['data',
11428 'Placement': {'additionalProperties': False,
11429 'properties': {'Directive': {'type': 'string'},
11430 'Scope': {'type': 'string'}},
11431 'required': ['Scope', 'Directive'],
11433 'Value': {'additionalProperties': False,
11434 'properties': {'arch': {'type': 'string'},
11435 'container': {'type': 'string'},
11436 'cpu-cores': {'type': 'integer'},
11437 'cpu-power': {'type': 'integer'},
11438 'instance-type': {'type': 'string'},
11439 'mem': {'type': 'integer'},
11440 'root-disk': {'type': 'integer'},
11441 'spaces': {'items': {'type': 'string'},
11443 'tags': {'items': {'type': 'string'},
11445 'virt-type': {'type': 'string'}},
11447 'caveat': {'additionalProperties': False,
11448 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
11449 'location': {'$ref': '#/definitions/packet'},
11450 'verificationId': {'$ref': '#/definitions/packet'}},
11451 'required': ['location',
11455 'packet': {'additionalProperties': False,
11456 'properties': {'headerLen': {'type': 'integer'},
11457 'start': {'type': 'integer'},
11458 'totalLen': {'type': 'integer'}},
11459 'required': ['start', 'totalLen', 'headerLen'],
11460 'type': 'object'}},
11461 'properties': {'AddMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
11462 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
11463 'type': 'object'}},
11467 @ReturnMapping(AddMachinesResults
)
11468 async def AddMachines(self
, machineparams
):
11470 machineparams : typing.Sequence[~AddMachineParams]
11471 Returns -> typing.Sequence[~AddMachinesResult]
11473 # map input types to rpc msg
11475 msg
= dict(Type
='MachineManager', Request
='AddMachines', Version
=2, Params
=params
)
11476 params
['MachineParams'] = machineparams
11477 reply
= await self
.rpc(msg
)
11481 class Machiner(Type
):
11484 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
11485 'properties': {'Servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
11488 'required': ['Servers'],
11490 'Address': {'additionalProperties': False,
11491 'properties': {'Scope': {'type': 'string'},
11492 'SpaceName': {'type': 'string'},
11493 'Type': {'type': 'string'},
11494 'Value': {'type': 'string'}},
11495 'required': ['Value', 'Type', 'Scope'],
11497 'BytesResult': {'additionalProperties': False,
11498 'properties': {'Result': {'items': {'type': 'integer'},
11500 'required': ['Result'],
11502 'Entities': {'additionalProperties': False,
11503 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
11505 'required': ['Entities'],
11507 'Entity': {'additionalProperties': False,
11508 'properties': {'Tag': {'type': 'string'}},
11509 'required': ['Tag'],
11511 'EntityStatusArgs': {'additionalProperties': False,
11512 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
11513 'type': 'object'}},
11515 'Info': {'type': 'string'},
11516 'Status': {'type': 'string'},
11517 'Tag': {'type': 'string'}},
11518 'required': ['Tag',
11523 'Error': {'additionalProperties': False,
11524 'properties': {'Code': {'type': 'string'},
11525 'Info': {'$ref': '#/definitions/ErrorInfo'},
11526 'Message': {'type': 'string'}},
11527 'required': ['Message', 'Code'],
11529 'ErrorInfo': {'additionalProperties': False,
11530 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
11531 'MacaroonPath': {'type': 'string'}},
11533 'ErrorResult': {'additionalProperties': False,
11534 'properties': {'Error': {'$ref': '#/definitions/Error'}},
11535 'required': ['Error'],
11537 'ErrorResults': {'additionalProperties': False,
11538 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
11540 'required': ['Results'],
11542 'HostPort': {'additionalProperties': False,
11543 'properties': {'Address': {'$ref': '#/definitions/Address'},
11544 'Port': {'type': 'integer'}},
11545 'required': ['Address', 'Port'],
11547 'JobsResult': {'additionalProperties': False,
11548 'properties': {'Error': {'$ref': '#/definitions/Error'},
11549 'Jobs': {'items': {'type': 'string'},
11551 'required': ['Jobs', 'Error'],
11553 'JobsResults': {'additionalProperties': False,
11554 'properties': {'Results': {'items': {'$ref': '#/definitions/JobsResult'},
11556 'required': ['Results'],
11558 'LifeResult': {'additionalProperties': False,
11559 'properties': {'Error': {'$ref': '#/definitions/Error'},
11560 'Life': {'type': 'string'}},
11561 'required': ['Life', 'Error'],
11563 'LifeResults': {'additionalProperties': False,
11564 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
11566 'required': ['Results'],
11568 'Macaroon': {'additionalProperties': False,
11569 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
11571 'data': {'items': {'type': 'integer'},
11573 'id': {'$ref': '#/definitions/packet'},
11574 'location': {'$ref': '#/definitions/packet'},
11575 'sig': {'items': {'type': 'integer'},
11577 'required': ['data',
11583 'MachineAddresses': {'additionalProperties': False,
11584 'properties': {'Addresses': {'items': {'$ref': '#/definitions/Address'},
11586 'Tag': {'type': 'string'}},
11587 'required': ['Tag', 'Addresses'],
11589 'NetworkConfig': {'additionalProperties': False,
11590 'properties': {'Address': {'type': 'string'},
11591 'CIDR': {'type': 'string'},
11592 'ConfigType': {'type': 'string'},
11593 'DNSSearchDomains': {'items': {'type': 'string'},
11595 'DNSServers': {'items': {'type': 'string'},
11597 'DeviceIndex': {'type': 'integer'},
11598 'Disabled': {'type': 'boolean'},
11599 'GatewayAddress': {'type': 'string'},
11600 'InterfaceName': {'type': 'string'},
11601 'InterfaceType': {'type': 'string'},
11602 'MACAddress': {'type': 'string'},
11603 'MTU': {'type': 'integer'},
11604 'NoAutoStart': {'type': 'boolean'},
11605 'ParentInterfaceName': {'type': 'string'},
11606 'ProviderAddressId': {'type': 'string'},
11607 'ProviderId': {'type': 'string'},
11608 'ProviderSpaceId': {'type': 'string'},
11609 'ProviderSubnetId': {'type': 'string'},
11610 'ProviderVLANId': {'type': 'string'},
11611 'VLANTag': {'type': 'integer'}},
11612 'required': ['DeviceIndex',
11617 'ProviderSubnetId',
11619 'ProviderAddressId',
11623 'ParentInterfaceName',
11627 'NotifyWatchResult': {'additionalProperties': False,
11628 'properties': {'Error': {'$ref': '#/definitions/Error'},
11629 'NotifyWatcherId': {'type': 'string'}},
11630 'required': ['NotifyWatcherId', 'Error'],
11632 'NotifyWatchResults': {'additionalProperties': False,
11633 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
11635 'required': ['Results'],
11637 'SetMachineNetworkConfig': {'additionalProperties': False,
11638 'properties': {'Config': {'items': {'$ref': '#/definitions/NetworkConfig'},
11640 'Tag': {'type': 'string'}},
11641 'required': ['Tag', 'Config'],
11643 'SetMachinesAddresses': {'additionalProperties': False,
11644 'properties': {'MachineAddresses': {'items': {'$ref': '#/definitions/MachineAddresses'},
11646 'required': ['MachineAddresses'],
11648 'SetStatus': {'additionalProperties': False,
11649 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
11651 'required': ['Entities'],
11653 'StringResult': {'additionalProperties': False,
11654 'properties': {'Error': {'$ref': '#/definitions/Error'},
11655 'Result': {'type': 'string'}},
11656 'required': ['Error', 'Result'],
11658 'StringsResult': {'additionalProperties': False,
11659 'properties': {'Error': {'$ref': '#/definitions/Error'},
11660 'Result': {'items': {'type': 'string'},
11662 'required': ['Error', 'Result'],
11664 'caveat': {'additionalProperties': False,
11665 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
11666 'location': {'$ref': '#/definitions/packet'},
11667 'verificationId': {'$ref': '#/definitions/packet'}},
11668 'required': ['location',
11672 'packet': {'additionalProperties': False,
11673 'properties': {'headerLen': {'type': 'integer'},
11674 'start': {'type': 'integer'},
11675 'totalLen': {'type': 'integer'}},
11676 'required': ['start', 'totalLen', 'headerLen'],
11677 'type': 'object'}},
11678 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
11680 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
11682 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
11684 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11685 'Result': {'$ref': '#/definitions/ErrorResults'}},
11687 'Jobs': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11688 'Result': {'$ref': '#/definitions/JobsResults'}},
11690 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11691 'Result': {'$ref': '#/definitions/LifeResults'}},
11693 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
11695 'SetMachineAddresses': {'properties': {'Params': {'$ref': '#/definitions/SetMachinesAddresses'},
11696 'Result': {'$ref': '#/definitions/ErrorResults'}},
11698 'SetObservedNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/SetMachineNetworkConfig'}},
11700 'SetProviderNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11701 'Result': {'$ref': '#/definitions/ErrorResults'}},
11703 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
11704 'Result': {'$ref': '#/definitions/ErrorResults'}},
11706 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
11707 'Result': {'$ref': '#/definitions/ErrorResults'}},
11709 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11710 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
11712 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
11713 'type': 'object'}},
11717 @ReturnMapping(StringsResult
)
11718 async def APIAddresses(self
):
11721 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
11723 # map input types to rpc msg
11725 msg
= dict(Type
='Machiner', Request
='APIAddresses', Version
=1, Params
=params
)
11727 reply
= await self
.rpc(msg
)
11732 @ReturnMapping(APIHostPortsResult
)
11733 async def APIHostPorts(self
):
11736 Returns -> typing.Sequence[~HostPort]
11738 # map input types to rpc msg
11740 msg
= dict(Type
='Machiner', Request
='APIHostPorts', Version
=1, Params
=params
)
11742 reply
= await self
.rpc(msg
)
11747 @ReturnMapping(BytesResult
)
11748 async def CACert(self
):
11751 Returns -> typing.Sequence[int]
11753 # map input types to rpc msg
11755 msg
= dict(Type
='Machiner', Request
='CACert', Version
=1, Params
=params
)
11757 reply
= await self
.rpc(msg
)
11762 @ReturnMapping(ErrorResults
)
11763 async def EnsureDead(self
, entities
):
11765 entities : typing.Sequence[~Entity]
11766 Returns -> typing.Sequence[~ErrorResult]
11768 # map input types to rpc msg
11770 msg
= dict(Type
='Machiner', Request
='EnsureDead', Version
=1, Params
=params
)
11771 params
['Entities'] = entities
11772 reply
= await self
.rpc(msg
)
11777 @ReturnMapping(JobsResults
)
11778 async def Jobs(self
, entities
):
11780 entities : typing.Sequence[~Entity]
11781 Returns -> typing.Sequence[~JobsResult]
11783 # map input types to rpc msg
11785 msg
= dict(Type
='Machiner', Request
='Jobs', Version
=1, Params
=params
)
11786 params
['Entities'] = entities
11787 reply
= await self
.rpc(msg
)
11792 @ReturnMapping(LifeResults
)
11793 async def Life(self
, entities
):
11795 entities : typing.Sequence[~Entity]
11796 Returns -> typing.Sequence[~LifeResult]
11798 # map input types to rpc msg
11800 msg
= dict(Type
='Machiner', Request
='Life', Version
=1, Params
=params
)
11801 params
['Entities'] = entities
11802 reply
= await self
.rpc(msg
)
11807 @ReturnMapping(StringResult
)
11808 async def ModelUUID(self
):
11811 Returns -> typing.Union[_ForwardRef('Error'), str]
11813 # map input types to rpc msg
11815 msg
= dict(Type
='Machiner', Request
='ModelUUID', Version
=1, Params
=params
)
11817 reply
= await self
.rpc(msg
)
11822 @ReturnMapping(ErrorResults
)
11823 async def SetMachineAddresses(self
, machineaddresses
):
11825 machineaddresses : typing.Sequence[~MachineAddresses]
11826 Returns -> typing.Sequence[~ErrorResult]
11828 # map input types to rpc msg
11830 msg
= dict(Type
='Machiner', Request
='SetMachineAddresses', Version
=1, Params
=params
)
11831 params
['MachineAddresses'] = machineaddresses
11832 reply
= await self
.rpc(msg
)
11837 @ReturnMapping(None)
11838 async def SetObservedNetworkConfig(self
, config
, tag
):
11840 config : typing.Sequence[~NetworkConfig]
11844 # map input types to rpc msg
11846 msg
= dict(Type
='Machiner', Request
='SetObservedNetworkConfig', Version
=1, Params
=params
)
11847 params
['Config'] = config
11848 params
['Tag'] = tag
11849 reply
= await self
.rpc(msg
)
11854 @ReturnMapping(ErrorResults
)
11855 async def SetProviderNetworkConfig(self
, entities
):
11857 entities : typing.Sequence[~Entity]
11858 Returns -> typing.Sequence[~ErrorResult]
11860 # map input types to rpc msg
11862 msg
= dict(Type
='Machiner', Request
='SetProviderNetworkConfig', Version
=1, Params
=params
)
11863 params
['Entities'] = entities
11864 reply
= await self
.rpc(msg
)
11869 @ReturnMapping(ErrorResults
)
11870 async def SetStatus(self
, entities
):
11872 entities : typing.Sequence[~EntityStatusArgs]
11873 Returns -> typing.Sequence[~ErrorResult]
11875 # map input types to rpc msg
11877 msg
= dict(Type
='Machiner', Request
='SetStatus', Version
=1, Params
=params
)
11878 params
['Entities'] = entities
11879 reply
= await self
.rpc(msg
)
11884 @ReturnMapping(ErrorResults
)
11885 async def UpdateStatus(self
, entities
):
11887 entities : typing.Sequence[~EntityStatusArgs]
11888 Returns -> typing.Sequence[~ErrorResult]
11890 # map input types to rpc msg
11892 msg
= dict(Type
='Machiner', Request
='UpdateStatus', Version
=1, Params
=params
)
11893 params
['Entities'] = entities
11894 reply
= await self
.rpc(msg
)
11899 @ReturnMapping(NotifyWatchResults
)
11900 async def Watch(self
, entities
):
11902 entities : typing.Sequence[~Entity]
11903 Returns -> typing.Sequence[~NotifyWatchResult]
11905 # map input types to rpc msg
11907 msg
= dict(Type
='Machiner', Request
='Watch', Version
=1, Params
=params
)
11908 params
['Entities'] = entities
11909 reply
= await self
.rpc(msg
)
11914 @ReturnMapping(NotifyWatchResult
)
11915 async def WatchAPIHostPorts(self
):
11918 Returns -> typing.Union[_ForwardRef('Error'), str]
11920 # map input types to rpc msg
11922 msg
= dict(Type
='Machiner', Request
='WatchAPIHostPorts', Version
=1, Params
=params
)
11924 reply
= await self
.rpc(msg
)
11928 class MeterStatus(Type
):
11929 name
= 'MeterStatus'
11931 schema
= {'definitions': {'Entities': {'additionalProperties': False,
11932 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
11934 'required': ['Entities'],
11936 'Entity': {'additionalProperties': False,
11937 'properties': {'Tag': {'type': 'string'}},
11938 'required': ['Tag'],
11940 'Error': {'additionalProperties': False,
11941 'properties': {'Code': {'type': 'string'},
11942 'Info': {'$ref': '#/definitions/ErrorInfo'},
11943 'Message': {'type': 'string'}},
11944 'required': ['Message', 'Code'],
11946 'ErrorInfo': {'additionalProperties': False,
11947 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
11948 'MacaroonPath': {'type': 'string'}},
11950 'Macaroon': {'additionalProperties': False,
11951 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
11953 'data': {'items': {'type': 'integer'},
11955 'id': {'$ref': '#/definitions/packet'},
11956 'location': {'$ref': '#/definitions/packet'},
11957 'sig': {'items': {'type': 'integer'},
11959 'required': ['data',
11965 'MeterStatusResult': {'additionalProperties': False,
11966 'properties': {'Code': {'type': 'string'},
11967 'Error': {'$ref': '#/definitions/Error'},
11968 'Info': {'type': 'string'}},
11969 'required': ['Code', 'Info', 'Error'],
11971 'MeterStatusResults': {'additionalProperties': False,
11972 'properties': {'Results': {'items': {'$ref': '#/definitions/MeterStatusResult'},
11974 'required': ['Results'],
11976 'NotifyWatchResult': {'additionalProperties': False,
11977 'properties': {'Error': {'$ref': '#/definitions/Error'},
11978 'NotifyWatcherId': {'type': 'string'}},
11979 'required': ['NotifyWatcherId', 'Error'],
11981 'NotifyWatchResults': {'additionalProperties': False,
11982 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
11984 'required': ['Results'],
11986 'caveat': {'additionalProperties': False,
11987 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
11988 'location': {'$ref': '#/definitions/packet'},
11989 'verificationId': {'$ref': '#/definitions/packet'}},
11990 'required': ['location',
11994 'packet': {'additionalProperties': False,
11995 'properties': {'headerLen': {'type': 'integer'},
11996 'start': {'type': 'integer'},
11997 'totalLen': {'type': 'integer'}},
11998 'required': ['start', 'totalLen', 'headerLen'],
11999 'type': 'object'}},
12000 'properties': {'GetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12001 'Result': {'$ref': '#/definitions/MeterStatusResults'}},
12003 'WatchMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12004 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
12005 'type': 'object'}},
12009 @ReturnMapping(MeterStatusResults
)
12010 async def GetMeterStatus(self
, entities
):
12012 entities : typing.Sequence[~Entity]
12013 Returns -> typing.Sequence[~MeterStatusResult]
12015 # map input types to rpc msg
12017 msg
= dict(Type
='MeterStatus', Request
='GetMeterStatus', Version
=1, Params
=params
)
12018 params
['Entities'] = entities
12019 reply
= await self
.rpc(msg
)
12024 @ReturnMapping(NotifyWatchResults
)
12025 async def WatchMeterStatus(self
, entities
):
12027 entities : typing.Sequence[~Entity]
12028 Returns -> typing.Sequence[~NotifyWatchResult]
12030 # map input types to rpc msg
12032 msg
= dict(Type
='MeterStatus', Request
='WatchMeterStatus', Version
=1, Params
=params
)
12033 params
['Entities'] = entities
12034 reply
= await self
.rpc(msg
)
12038 class MetricsAdder(Type
):
12039 name
= 'MetricsAdder'
12041 schema
= {'definitions': {'Error': {'additionalProperties': False,
12042 'properties': {'Code': {'type': 'string'},
12043 'Info': {'$ref': '#/definitions/ErrorInfo'},
12044 'Message': {'type': 'string'}},
12045 'required': ['Message', 'Code'],
12047 'ErrorInfo': {'additionalProperties': False,
12048 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12049 'MacaroonPath': {'type': 'string'}},
12051 'ErrorResult': {'additionalProperties': False,
12052 'properties': {'Error': {'$ref': '#/definitions/Error'}},
12053 'required': ['Error'],
12055 'ErrorResults': {'additionalProperties': False,
12056 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
12058 'required': ['Results'],
12060 'Macaroon': {'additionalProperties': False,
12061 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12063 'data': {'items': {'type': 'integer'},
12065 'id': {'$ref': '#/definitions/packet'},
12066 'location': {'$ref': '#/definitions/packet'},
12067 'sig': {'items': {'type': 'integer'},
12069 'required': ['data',
12075 'Metric': {'additionalProperties': False,
12076 'properties': {'Key': {'type': 'string'},
12077 'Time': {'format': 'date-time',
12079 'Value': {'type': 'string'}},
12080 'required': ['Key', 'Value', 'Time'],
12082 'MetricBatch': {'additionalProperties': False,
12083 'properties': {'CharmURL': {'type': 'string'},
12084 'Created': {'format': 'date-time',
12086 'Metrics': {'items': {'$ref': '#/definitions/Metric'},
12088 'UUID': {'type': 'string'}},
12089 'required': ['UUID',
12094 'MetricBatchParam': {'additionalProperties': False,
12095 'properties': {'Batch': {'$ref': '#/definitions/MetricBatch'},
12096 'Tag': {'type': 'string'}},
12097 'required': ['Tag', 'Batch'],
12099 'MetricBatchParams': {'additionalProperties': False,
12100 'properties': {'Batches': {'items': {'$ref': '#/definitions/MetricBatchParam'},
12102 'required': ['Batches'],
12104 'caveat': {'additionalProperties': False,
12105 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12106 'location': {'$ref': '#/definitions/packet'},
12107 'verificationId': {'$ref': '#/definitions/packet'}},
12108 'required': ['location',
12112 'packet': {'additionalProperties': False,
12113 'properties': {'headerLen': {'type': 'integer'},
12114 'start': {'type': 'integer'},
12115 'totalLen': {'type': 'integer'}},
12116 'required': ['start', 'totalLen', 'headerLen'],
12117 'type': 'object'}},
12118 'properties': {'AddMetricBatches': {'properties': {'Params': {'$ref': '#/definitions/MetricBatchParams'},
12119 'Result': {'$ref': '#/definitions/ErrorResults'}},
12120 'type': 'object'}},
12124 @ReturnMapping(ErrorResults
)
12125 async def AddMetricBatches(self
, batches
):
12127 batches : typing.Sequence[~MetricBatchParam]
12128 Returns -> typing.Sequence[~ErrorResult]
12130 # map input types to rpc msg
12132 msg
= dict(Type
='MetricsAdder', Request
='AddMetricBatches', Version
=2, Params
=params
)
12133 params
['Batches'] = batches
12134 reply
= await self
.rpc(msg
)
12138 class MetricsDebug(Type
):
12139 name
= 'MetricsDebug'
12141 schema
= {'definitions': {'Entities': {'additionalProperties': False,
12142 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
12144 'required': ['Entities'],
12146 'Entity': {'additionalProperties': False,
12147 'properties': {'Tag': {'type': 'string'}},
12148 'required': ['Tag'],
12150 'EntityMetrics': {'additionalProperties': False,
12151 'properties': {'error': {'$ref': '#/definitions/Error'},
12152 'metrics': {'items': {'$ref': '#/definitions/MetricResult'},
12155 'Error': {'additionalProperties': False,
12156 'properties': {'Code': {'type': 'string'},
12157 'Info': {'$ref': '#/definitions/ErrorInfo'},
12158 'Message': {'type': 'string'}},
12159 'required': ['Message', 'Code'],
12161 'ErrorInfo': {'additionalProperties': False,
12162 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12163 'MacaroonPath': {'type': 'string'}},
12165 'ErrorResult': {'additionalProperties': False,
12166 'properties': {'Error': {'$ref': '#/definitions/Error'}},
12167 'required': ['Error'],
12169 'ErrorResults': {'additionalProperties': False,
12170 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
12172 'required': ['Results'],
12174 'Macaroon': {'additionalProperties': False,
12175 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12177 'data': {'items': {'type': 'integer'},
12179 'id': {'$ref': '#/definitions/packet'},
12180 'location': {'$ref': '#/definitions/packet'},
12181 'sig': {'items': {'type': 'integer'},
12183 'required': ['data',
12189 'MeterStatusParam': {'additionalProperties': False,
12190 'properties': {'code': {'type': 'string'},
12191 'info': {'type': 'string'},
12192 'tag': {'type': 'string'}},
12193 'required': ['tag', 'code', 'info'],
12195 'MeterStatusParams': {'additionalProperties': False,
12196 'properties': {'statues': {'items': {'$ref': '#/definitions/MeterStatusParam'},
12198 'required': ['statues'],
12200 'MetricResult': {'additionalProperties': False,
12201 'properties': {'key': {'type': 'string'},
12202 'time': {'format': 'date-time',
12204 'value': {'type': 'string'}},
12205 'required': ['time', 'key', 'value'],
12207 'MetricResults': {'additionalProperties': False,
12208 'properties': {'results': {'items': {'$ref': '#/definitions/EntityMetrics'},
12210 'required': ['results'],
12212 'caveat': {'additionalProperties': False,
12213 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12214 'location': {'$ref': '#/definitions/packet'},
12215 'verificationId': {'$ref': '#/definitions/packet'}},
12216 'required': ['location',
12220 'packet': {'additionalProperties': False,
12221 'properties': {'headerLen': {'type': 'integer'},
12222 'start': {'type': 'integer'},
12223 'totalLen': {'type': 'integer'}},
12224 'required': ['start', 'totalLen', 'headerLen'],
12225 'type': 'object'}},
12226 'properties': {'GetMetrics': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12227 'Result': {'$ref': '#/definitions/MetricResults'}},
12229 'SetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/MeterStatusParams'},
12230 'Result': {'$ref': '#/definitions/ErrorResults'}},
12231 'type': 'object'}},
12235 @ReturnMapping(MetricResults
)
12236 async def GetMetrics(self
, entities
):
12238 entities : typing.Sequence[~Entity]
12239 Returns -> typing.Sequence[~EntityMetrics]
12241 # map input types to rpc msg
12243 msg
= dict(Type
='MetricsDebug', Request
='GetMetrics', Version
=1, Params
=params
)
12244 params
['Entities'] = entities
12245 reply
= await self
.rpc(msg
)
12250 @ReturnMapping(ErrorResults
)
12251 async def SetMeterStatus(self
, statues
):
12253 statues : typing.Sequence[~MeterStatusParam]
12254 Returns -> typing.Sequence[~ErrorResult]
12256 # map input types to rpc msg
12258 msg
= dict(Type
='MetricsDebug', Request
='SetMeterStatus', Version
=1, Params
=params
)
12259 params
['statues'] = statues
12260 reply
= await self
.rpc(msg
)
12264 class MetricsManager(Type
):
12265 name
= 'MetricsManager'
12267 schema
= {'definitions': {'Entities': {'additionalProperties': False,
12268 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
12270 'required': ['Entities'],
12272 'Entity': {'additionalProperties': False,
12273 'properties': {'Tag': {'type': 'string'}},
12274 'required': ['Tag'],
12276 'Error': {'additionalProperties': False,
12277 'properties': {'Code': {'type': 'string'},
12278 'Info': {'$ref': '#/definitions/ErrorInfo'},
12279 'Message': {'type': 'string'}},
12280 'required': ['Message', 'Code'],
12282 'ErrorInfo': {'additionalProperties': False,
12283 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12284 'MacaroonPath': {'type': 'string'}},
12286 'ErrorResult': {'additionalProperties': False,
12287 'properties': {'Error': {'$ref': '#/definitions/Error'}},
12288 'required': ['Error'],
12290 'ErrorResults': {'additionalProperties': False,
12291 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
12293 'required': ['Results'],
12295 'Macaroon': {'additionalProperties': False,
12296 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12298 'data': {'items': {'type': 'integer'},
12300 'id': {'$ref': '#/definitions/packet'},
12301 'location': {'$ref': '#/definitions/packet'},
12302 'sig': {'items': {'type': 'integer'},
12304 'required': ['data',
12310 'caveat': {'additionalProperties': False,
12311 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12312 'location': {'$ref': '#/definitions/packet'},
12313 'verificationId': {'$ref': '#/definitions/packet'}},
12314 'required': ['location',
12318 'packet': {'additionalProperties': False,
12319 'properties': {'headerLen': {'type': 'integer'},
12320 'start': {'type': 'integer'},
12321 'totalLen': {'type': 'integer'}},
12322 'required': ['start', 'totalLen', 'headerLen'],
12323 'type': 'object'}},
12324 'properties': {'CleanupOldMetrics': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12325 'Result': {'$ref': '#/definitions/ErrorResults'}},
12327 'SendMetrics': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12328 'Result': {'$ref': '#/definitions/ErrorResults'}},
12329 'type': 'object'}},
12333 @ReturnMapping(ErrorResults
)
12334 async def CleanupOldMetrics(self
, entities
):
12336 entities : typing.Sequence[~Entity]
12337 Returns -> typing.Sequence[~ErrorResult]
12339 # map input types to rpc msg
12341 msg
= dict(Type
='MetricsManager', Request
='CleanupOldMetrics', Version
=1, Params
=params
)
12342 params
['Entities'] = entities
12343 reply
= await self
.rpc(msg
)
12348 @ReturnMapping(ErrorResults
)
12349 async def SendMetrics(self
, entities
):
12351 entities : typing.Sequence[~Entity]
12352 Returns -> typing.Sequence[~ErrorResult]
12354 # map input types to rpc msg
12356 msg
= dict(Type
='MetricsManager', Request
='SendMetrics', Version
=1, Params
=params
)
12357 params
['Entities'] = entities
12358 reply
= await self
.rpc(msg
)
12362 class MigrationFlag(Type
):
12363 name
= 'MigrationFlag'
12365 schema
= {'definitions': {'Entities': {'additionalProperties': False,
12366 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
12368 'required': ['Entities'],
12370 'Entity': {'additionalProperties': False,
12371 'properties': {'Tag': {'type': 'string'}},
12372 'required': ['Tag'],
12374 'Error': {'additionalProperties': False,
12375 'properties': {'Code': {'type': 'string'},
12376 'Info': {'$ref': '#/definitions/ErrorInfo'},
12377 'Message': {'type': 'string'}},
12378 'required': ['Message', 'Code'],
12380 'ErrorInfo': {'additionalProperties': False,
12381 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12382 'MacaroonPath': {'type': 'string'}},
12384 'Macaroon': {'additionalProperties': False,
12385 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12387 'data': {'items': {'type': 'integer'},
12389 'id': {'$ref': '#/definitions/packet'},
12390 'location': {'$ref': '#/definitions/packet'},
12391 'sig': {'items': {'type': 'integer'},
12393 'required': ['data',
12399 'NotifyWatchResult': {'additionalProperties': False,
12400 'properties': {'Error': {'$ref': '#/definitions/Error'},
12401 'NotifyWatcherId': {'type': 'string'}},
12402 'required': ['NotifyWatcherId', 'Error'],
12404 'NotifyWatchResults': {'additionalProperties': False,
12405 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
12407 'required': ['Results'],
12409 'PhaseResult': {'additionalProperties': False,
12410 'properties': {'Error': {'$ref': '#/definitions/Error'},
12411 'phase': {'type': 'string'}},
12412 'required': ['phase', 'Error'],
12414 'PhaseResults': {'additionalProperties': False,
12415 'properties': {'Results': {'items': {'$ref': '#/definitions/PhaseResult'},
12417 'required': ['Results'],
12419 'caveat': {'additionalProperties': False,
12420 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12421 'location': {'$ref': '#/definitions/packet'},
12422 'verificationId': {'$ref': '#/definitions/packet'}},
12423 'required': ['location',
12427 'packet': {'additionalProperties': False,
12428 'properties': {'headerLen': {'type': 'integer'},
12429 'start': {'type': 'integer'},
12430 'totalLen': {'type': 'integer'}},
12431 'required': ['start', 'totalLen', 'headerLen'],
12432 'type': 'object'}},
12433 'properties': {'Phase': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12434 'Result': {'$ref': '#/definitions/PhaseResults'}},
12436 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12437 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
12438 'type': 'object'}},
12442 @ReturnMapping(PhaseResults
)
12443 async def Phase(self
, entities
):
12445 entities : typing.Sequence[~Entity]
12446 Returns -> typing.Sequence[~PhaseResult]
12448 # map input types to rpc msg
12450 msg
= dict(Type
='MigrationFlag', Request
='Phase', Version
=1, Params
=params
)
12451 params
['Entities'] = entities
12452 reply
= await self
.rpc(msg
)
12457 @ReturnMapping(NotifyWatchResults
)
12458 async def Watch(self
, entities
):
12460 entities : typing.Sequence[~Entity]
12461 Returns -> typing.Sequence[~NotifyWatchResult]
12463 # map input types to rpc msg
12465 msg
= dict(Type
='MigrationFlag', Request
='Watch', Version
=1, Params
=params
)
12466 params
['Entities'] = entities
12467 reply
= await self
.rpc(msg
)
12471 class MigrationMaster(Type
):
12472 name
= 'MigrationMaster'
12474 schema
= {'definitions': {'Error': {'additionalProperties': False,
12475 'properties': {'Code': {'type': 'string'},
12476 'Info': {'$ref': '#/definitions/ErrorInfo'},
12477 'Message': {'type': 'string'}},
12478 'required': ['Message', 'Code'],
12480 'ErrorInfo': {'additionalProperties': False,
12481 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12482 'MacaroonPath': {'type': 'string'}},
12484 'FullMigrationStatus': {'additionalProperties': False,
12485 'properties': {'attempt': {'type': 'integer'},
12486 'phase': {'type': 'string'},
12487 'spec': {'$ref': '#/definitions/ModelMigrationSpec'}},
12488 'required': ['spec',
12492 'Macaroon': {'additionalProperties': False,
12493 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12495 'data': {'items': {'type': 'integer'},
12497 'id': {'$ref': '#/definitions/packet'},
12498 'location': {'$ref': '#/definitions/packet'},
12499 'sig': {'items': {'type': 'integer'},
12501 'required': ['data',
12507 'ModelMigrationSpec': {'additionalProperties': False,
12508 'properties': {'model-tag': {'type': 'string'},
12509 'target-info': {'$ref': '#/definitions/ModelMigrationTargetInfo'}},
12510 'required': ['model-tag',
12513 'ModelMigrationTargetInfo': {'additionalProperties': False,
12514 'properties': {'addrs': {'items': {'type': 'string'},
12516 'auth-tag': {'type': 'string'},
12517 'ca-cert': {'type': 'string'},
12518 'controller-tag': {'type': 'string'},
12519 'password': {'type': 'string'}},
12520 'required': ['controller-tag',
12526 'NotifyWatchResult': {'additionalProperties': False,
12527 'properties': {'Error': {'$ref': '#/definitions/Error'},
12528 'NotifyWatcherId': {'type': 'string'}},
12529 'required': ['NotifyWatcherId', 'Error'],
12531 'SerializedModel': {'additionalProperties': False,
12532 'properties': {'bytes': {'items': {'type': 'integer'},
12534 'required': ['bytes'],
12536 'SetMigrationPhaseArgs': {'additionalProperties': False,
12537 'properties': {'phase': {'type': 'string'}},
12538 'required': ['phase'],
12540 'caveat': {'additionalProperties': False,
12541 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12542 'location': {'$ref': '#/definitions/packet'},
12543 'verificationId': {'$ref': '#/definitions/packet'}},
12544 'required': ['location',
12548 'packet': {'additionalProperties': False,
12549 'properties': {'headerLen': {'type': 'integer'},
12550 'start': {'type': 'integer'},
12551 'totalLen': {'type': 'integer'}},
12552 'required': ['start', 'totalLen', 'headerLen'],
12553 'type': 'object'}},
12554 'properties': {'Export': {'properties': {'Result': {'$ref': '#/definitions/SerializedModel'}},
12556 'GetMigrationStatus': {'properties': {'Result': {'$ref': '#/definitions/FullMigrationStatus'}},
12558 'SetPhase': {'properties': {'Params': {'$ref': '#/definitions/SetMigrationPhaseArgs'}},
12560 'Watch': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
12561 'type': 'object'}},
12565 @ReturnMapping(SerializedModel
)
12566 async def Export(self
):
12569 Returns -> typing.Sequence[int]
12571 # map input types to rpc msg
12573 msg
= dict(Type
='MigrationMaster', Request
='Export', Version
=1, Params
=params
)
12575 reply
= await self
.rpc(msg
)
12580 @ReturnMapping(FullMigrationStatus
)
12581 async def GetMigrationStatus(self
):
12584 Returns -> typing.Union[int, str, _ForwardRef('ModelMigrationSpec')]
12586 # map input types to rpc msg
12588 msg
= dict(Type
='MigrationMaster', Request
='GetMigrationStatus', Version
=1, Params
=params
)
12590 reply
= await self
.rpc(msg
)
12595 @ReturnMapping(None)
12596 async def SetPhase(self
, phase
):
12601 # map input types to rpc msg
12603 msg
= dict(Type
='MigrationMaster', Request
='SetPhase', Version
=1, Params
=params
)
12604 params
['phase'] = phase
12605 reply
= await self
.rpc(msg
)
12610 @ReturnMapping(NotifyWatchResult
)
12611 async def Watch(self
):
12614 Returns -> typing.Union[_ForwardRef('Error'), str]
12616 # map input types to rpc msg
12618 msg
= dict(Type
='MigrationMaster', Request
='Watch', Version
=1, Params
=params
)
12620 reply
= await self
.rpc(msg
)
12624 class MigrationMinion(Type
):
12625 name
= 'MigrationMinion'
12627 schema
= {'definitions': {'Error': {'additionalProperties': False,
12628 'properties': {'Code': {'type': 'string'},
12629 'Info': {'$ref': '#/definitions/ErrorInfo'},
12630 'Message': {'type': 'string'}},
12631 'required': ['Message', 'Code'],
12633 'ErrorInfo': {'additionalProperties': False,
12634 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12635 'MacaroonPath': {'type': 'string'}},
12637 'Macaroon': {'additionalProperties': False,
12638 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12640 'data': {'items': {'type': 'integer'},
12642 'id': {'$ref': '#/definitions/packet'},
12643 'location': {'$ref': '#/definitions/packet'},
12644 'sig': {'items': {'type': 'integer'},
12646 'required': ['data',
12652 'NotifyWatchResult': {'additionalProperties': False,
12653 'properties': {'Error': {'$ref': '#/definitions/Error'},
12654 'NotifyWatcherId': {'type': 'string'}},
12655 'required': ['NotifyWatcherId', 'Error'],
12657 'caveat': {'additionalProperties': False,
12658 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12659 'location': {'$ref': '#/definitions/packet'},
12660 'verificationId': {'$ref': '#/definitions/packet'}},
12661 'required': ['location',
12665 'packet': {'additionalProperties': False,
12666 'properties': {'headerLen': {'type': 'integer'},
12667 'start': {'type': 'integer'},
12668 'totalLen': {'type': 'integer'}},
12669 'required': ['start', 'totalLen', 'headerLen'],
12670 'type': 'object'}},
12671 'properties': {'Watch': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
12672 'type': 'object'}},
12676 @ReturnMapping(NotifyWatchResult
)
12677 async def Watch(self
):
12680 Returns -> typing.Union[_ForwardRef('Error'), str]
12682 # map input types to rpc msg
12684 msg
= dict(Type
='MigrationMinion', Request
='Watch', Version
=1, Params
=params
)
12686 reply
= await self
.rpc(msg
)
12690 class MigrationStatusWatcher(Type
):
12691 name
= 'MigrationStatusWatcher'
12693 schema
= {'definitions': {'MigrationStatus': {'additionalProperties': False,
12694 'properties': {'attempt': {'type': 'integer'},
12695 'phase': {'type': 'string'},
12696 'source-api-addrs': {'items': {'type': 'string'},
12698 'source-ca-cert': {'type': 'string'},
12699 'target-api-addrs': {'items': {'type': 'string'},
12701 'target-ca-cert': {'type': 'string'}},
12702 'required': ['attempt',
12704 'source-api-addrs',
12706 'target-api-addrs',
12708 'type': 'object'}},
12709 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/MigrationStatus'}},
12711 'Stop': {'type': 'object'}},
12715 @ReturnMapping(MigrationStatus
)
12716 async def Next(self
):
12719 Returns -> typing.Union[int, typing.Sequence[str]]
12721 # map input types to rpc msg
12723 msg
= dict(Type
='MigrationStatusWatcher', Request
='Next', Version
=1, Params
=params
)
12725 reply
= await self
.rpc(msg
)
12730 @ReturnMapping(None)
12731 async def Stop(self
):
12736 # map input types to rpc msg
12738 msg
= dict(Type
='MigrationStatusWatcher', Request
='Stop', Version
=1, Params
=params
)
12740 reply
= await self
.rpc(msg
)
12744 class MigrationTarget(Type
):
12745 name
= 'MigrationTarget'
12747 schema
= {'definitions': {'ModelArgs': {'additionalProperties': False,
12748 'properties': {'model-tag': {'type': 'string'}},
12749 'required': ['model-tag'],
12751 'SerializedModel': {'additionalProperties': False,
12752 'properties': {'bytes': {'items': {'type': 'integer'},
12754 'required': ['bytes'],
12755 'type': 'object'}},
12756 'properties': {'Abort': {'properties': {'Params': {'$ref': '#/definitions/ModelArgs'}},
12758 'Activate': {'properties': {'Params': {'$ref': '#/definitions/ModelArgs'}},
12760 'Import': {'properties': {'Params': {'$ref': '#/definitions/SerializedModel'}},
12761 'type': 'object'}},
12765 @ReturnMapping(None)
12766 async def Abort(self
, model_tag
):
12771 # map input types to rpc msg
12773 msg
= dict(Type
='MigrationTarget', Request
='Abort', Version
=1, Params
=params
)
12774 params
['model-tag'] = model_tag
12775 reply
= await self
.rpc(msg
)
12780 @ReturnMapping(None)
12781 async def Activate(self
, model_tag
):
12786 # map input types to rpc msg
12788 msg
= dict(Type
='MigrationTarget', Request
='Activate', Version
=1, Params
=params
)
12789 params
['model-tag'] = model_tag
12790 reply
= await self
.rpc(msg
)
12795 @ReturnMapping(None)
12796 async def Import(self
, bytes_
):
12798 bytes_ : typing.Sequence[int]
12801 # map input types to rpc msg
12803 msg
= dict(Type
='MigrationTarget', Request
='Import', Version
=1, Params
=params
)
12804 params
['bytes'] = bytes_
12805 reply
= await self
.rpc(msg
)
12809 class ModelManager(Type
):
12810 name
= 'ModelManager'
12812 schema
= {'definitions': {'Entities': {'additionalProperties': False,
12813 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
12815 'required': ['Entities'],
12817 'Entity': {'additionalProperties': False,
12818 'properties': {'Tag': {'type': 'string'}},
12819 'required': ['Tag'],
12821 'EntityStatus': {'additionalProperties': False,
12822 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
12823 'type': 'object'}},
12825 'Info': {'type': 'string'},
12826 'Since': {'format': 'date-time',
12828 'Status': {'type': 'string'}},
12829 'required': ['Status',
12834 'Error': {'additionalProperties': False,
12835 'properties': {'Code': {'type': 'string'},
12836 'Info': {'$ref': '#/definitions/ErrorInfo'},
12837 'Message': {'type': 'string'}},
12838 'required': ['Message', 'Code'],
12840 'ErrorInfo': {'additionalProperties': False,
12841 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12842 'MacaroonPath': {'type': 'string'}},
12844 'ErrorResult': {'additionalProperties': False,
12845 'properties': {'Error': {'$ref': '#/definitions/Error'}},
12846 'required': ['Error'],
12848 'ErrorResults': {'additionalProperties': False,
12849 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
12851 'required': ['Results'],
12853 'Macaroon': {'additionalProperties': False,
12854 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12856 'data': {'items': {'type': 'integer'},
12858 'id': {'$ref': '#/definitions/packet'},
12859 'location': {'$ref': '#/definitions/packet'},
12860 'sig': {'items': {'type': 'integer'},
12862 'required': ['data',
12868 'Model': {'additionalProperties': False,
12869 'properties': {'Name': {'type': 'string'},
12870 'OwnerTag': {'type': 'string'},
12871 'UUID': {'type': 'string'}},
12872 'required': ['Name', 'UUID', 'OwnerTag'],
12874 'ModelConfigResult': {'additionalProperties': False,
12875 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
12876 'type': 'object'}},
12877 'type': 'object'}},
12878 'required': ['Config'],
12880 'ModelCreateArgs': {'additionalProperties': False,
12881 'properties': {'Account': {'patternProperties': {'.*': {'additionalProperties': True,
12882 'type': 'object'}},
12884 'Config': {'patternProperties': {'.*': {'additionalProperties': True,
12885 'type': 'object'}},
12887 'OwnerTag': {'type': 'string'}},
12888 'required': ['OwnerTag',
12892 'ModelInfo': {'additionalProperties': False,
12893 'properties': {'DefaultSeries': {'type': 'string'},
12894 'Life': {'type': 'string'},
12895 'Name': {'type': 'string'},
12896 'OwnerTag': {'type': 'string'},
12897 'ProviderType': {'type': 'string'},
12898 'ServerUUID': {'type': 'string'},
12899 'Status': {'$ref': '#/definitions/EntityStatus'},
12900 'UUID': {'type': 'string'},
12901 'Users': {'items': {'$ref': '#/definitions/ModelUserInfo'},
12903 'required': ['Name',
12913 'ModelInfoResult': {'additionalProperties': False,
12914 'properties': {'error': {'$ref': '#/definitions/Error'},
12915 'result': {'$ref': '#/definitions/ModelInfo'}},
12917 'ModelInfoResults': {'additionalProperties': False,
12918 'properties': {'results': {'items': {'$ref': '#/definitions/ModelInfoResult'},
12920 'required': ['results'],
12922 'ModelSkeletonConfigArgs': {'additionalProperties': False,
12923 'properties': {'Provider': {'type': 'string'},
12924 'Region': {'type': 'string'}},
12925 'required': ['Provider', 'Region'],
12927 'ModelUserInfo': {'additionalProperties': False,
12928 'properties': {'access': {'type': 'string'},
12929 'displayname': {'type': 'string'},
12930 'lastconnection': {'format': 'date-time',
12932 'user': {'type': 'string'}},
12933 'required': ['user',
12938 'ModifyModelAccess': {'additionalProperties': False,
12939 'properties': {'access': {'type': 'string'},
12940 'action': {'type': 'string'},
12941 'model-tag': {'type': 'string'},
12942 'user-tag': {'type': 'string'}},
12943 'required': ['user-tag',
12948 'ModifyModelAccessRequest': {'additionalProperties': False,
12949 'properties': {'changes': {'items': {'$ref': '#/definitions/ModifyModelAccess'},
12951 'required': ['changes'],
12953 'UserModel': {'additionalProperties': False,
12954 'properties': {'LastConnection': {'format': 'date-time',
12956 'Model': {'$ref': '#/definitions/Model'}},
12957 'required': ['Model', 'LastConnection'],
12959 'UserModelList': {'additionalProperties': False,
12960 'properties': {'UserModels': {'items': {'$ref': '#/definitions/UserModel'},
12962 'required': ['UserModels'],
12964 'caveat': {'additionalProperties': False,
12965 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12966 'location': {'$ref': '#/definitions/packet'},
12967 'verificationId': {'$ref': '#/definitions/packet'}},
12968 'required': ['location',
12972 'packet': {'additionalProperties': False,
12973 'properties': {'headerLen': {'type': 'integer'},
12974 'start': {'type': 'integer'},
12975 'totalLen': {'type': 'integer'}},
12976 'required': ['start', 'totalLen', 'headerLen'],
12977 'type': 'object'}},
12978 'properties': {'ConfigSkeleton': {'properties': {'Params': {'$ref': '#/definitions/ModelSkeletonConfigArgs'},
12979 'Result': {'$ref': '#/definitions/ModelConfigResult'}},
12981 'CreateModel': {'properties': {'Params': {'$ref': '#/definitions/ModelCreateArgs'},
12982 'Result': {'$ref': '#/definitions/Model'}},
12984 'ListModels': {'properties': {'Params': {'$ref': '#/definitions/Entity'},
12985 'Result': {'$ref': '#/definitions/UserModelList'}},
12987 'ModelInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12988 'Result': {'$ref': '#/definitions/ModelInfoResults'}},
12990 'ModifyModelAccess': {'properties': {'Params': {'$ref': '#/definitions/ModifyModelAccessRequest'},
12991 'Result': {'$ref': '#/definitions/ErrorResults'}},
12992 'type': 'object'}},
12996 @ReturnMapping(ModelConfigResult
)
12997 async def ConfigSkeleton(self
, provider
, region
):
13001 Returns -> typing.Mapping[str, typing.Any]
13003 # map input types to rpc msg
13005 msg
= dict(Type
='ModelManager', Request
='ConfigSkeleton', Version
=2, Params
=params
)
13006 params
['Provider'] = provider
13007 params
['Region'] = region
13008 reply
= await self
.rpc(msg
)
13013 @ReturnMapping(Model
)
13014 async def CreateModel(self
, account
, config
, ownertag
):
13016 account : typing.Mapping[str, typing.Any]
13017 config : typing.Mapping[str, typing.Any]
13019 Returns -> <class 'str'>
13021 # map input types to rpc msg
13023 msg
= dict(Type
='ModelManager', Request
='CreateModel', Version
=2, Params
=params
)
13024 params
['Account'] = account
13025 params
['Config'] = config
13026 params
['OwnerTag'] = ownertag
13027 reply
= await self
.rpc(msg
)
13032 @ReturnMapping(UserModelList
)
13033 async def ListModels(self
, tag
):
13036 Returns -> typing.Sequence[~UserModel]
13038 # map input types to rpc msg
13040 msg
= dict(Type
='ModelManager', Request
='ListModels', Version
=2, Params
=params
)
13041 params
['Tag'] = tag
13042 reply
= await self
.rpc(msg
)
13047 @ReturnMapping(ModelInfoResults
)
13048 async def ModelInfo(self
, entities
):
13050 entities : typing.Sequence[~Entity]
13051 Returns -> typing.Sequence[~ModelInfoResult]
13053 # map input types to rpc msg
13055 msg
= dict(Type
='ModelManager', Request
='ModelInfo', Version
=2, Params
=params
)
13056 params
['Entities'] = entities
13057 reply
= await self
.rpc(msg
)
13062 @ReturnMapping(ErrorResults
)
13063 async def ModifyModelAccess(self
, changes
):
13065 changes : typing.Sequence[~ModifyModelAccess]
13066 Returns -> typing.Sequence[~ErrorResult]
13068 # map input types to rpc msg
13070 msg
= dict(Type
='ModelManager', Request
='ModifyModelAccess', Version
=2, Params
=params
)
13071 params
['changes'] = changes
13072 reply
= await self
.rpc(msg
)
13076 class NotifyWatcher(Type
):
13077 name
= 'NotifyWatcher'
13079 schema
= {'properties': {'Next': {'type': 'object'}, 'Stop': {'type': 'object'}},
13083 @ReturnMapping(None)
13084 async def Next(self
):
13089 # map input types to rpc msg
13091 msg
= dict(Type
='NotifyWatcher', Request
='Next', Version
=1, Params
=params
)
13093 reply
= await self
.rpc(msg
)
13098 @ReturnMapping(None)
13099 async def Stop(self
):
13104 # map input types to rpc msg
13106 msg
= dict(Type
='NotifyWatcher', Request
='Stop', Version
=1, Params
=params
)
13108 reply
= await self
.rpc(msg
)
13112 class Pinger(Type
):
13115 schema
= {'properties': {'Ping': {'type': 'object'}, 'Stop': {'type': 'object'}},
13119 @ReturnMapping(None)
13120 async def Ping(self
):
13125 # map input types to rpc msg
13127 msg
= dict(Type
='Pinger', Request
='Ping', Version
=1, Params
=params
)
13129 reply
= await self
.rpc(msg
)
13134 @ReturnMapping(None)
13135 async def Stop(self
):
13140 # map input types to rpc msg
13142 msg
= dict(Type
='Pinger', Request
='Stop', Version
=1, Params
=params
)
13144 reply
= await self
.rpc(msg
)
13148 class Provisioner(Type
):
13149 name
= 'Provisioner'
13151 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
13152 'properties': {'Servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
13155 'required': ['Servers'],
13157 'Address': {'additionalProperties': False,
13158 'properties': {'Scope': {'type': 'string'},
13159 'SpaceName': {'type': 'string'},
13160 'Type': {'type': 'string'},
13161 'Value': {'type': 'string'}},
13162 'required': ['Value', 'Type', 'Scope'],
13164 'Binary': {'additionalProperties': False,
13165 'properties': {'Arch': {'type': 'string'},
13166 'Number': {'$ref': '#/definitions/Number'},
13167 'Series': {'type': 'string'}},
13168 'required': ['Number', 'Series', 'Arch'],
13170 'BytesResult': {'additionalProperties': False,
13171 'properties': {'Result': {'items': {'type': 'integer'},
13173 'required': ['Result'],
13175 'CloudImageMetadata': {'additionalProperties': False,
13176 'properties': {'arch': {'type': 'string'},
13177 'image_id': {'type': 'string'},
13178 'priority': {'type': 'integer'},
13179 'region': {'type': 'string'},
13180 'root_storage_size': {'type': 'integer'},
13181 'root_storage_type': {'type': 'string'},
13182 'series': {'type': 'string'},
13183 'source': {'type': 'string'},
13184 'stream': {'type': 'string'},
13185 'version': {'type': 'string'},
13186 'virt_type': {'type': 'string'}},
13187 'required': ['image_id',
13195 'ConstraintsResult': {'additionalProperties': False,
13196 'properties': {'Constraints': {'$ref': '#/definitions/Value'},
13197 'Error': {'$ref': '#/definitions/Error'}},
13198 'required': ['Error', 'Constraints'],
13200 'ConstraintsResults': {'additionalProperties': False,
13201 'properties': {'Results': {'items': {'$ref': '#/definitions/ConstraintsResult'},
13203 'required': ['Results'],
13205 'ContainerConfig': {'additionalProperties': False,
13206 'properties': {'AllowLXCLoopMounts': {'type': 'boolean'},
13207 'AptMirror': {'type': 'string'},
13208 'AptProxy': {'$ref': '#/definitions/Settings'},
13209 'AuthorizedKeys': {'type': 'string'},
13210 'PreferIPv6': {'type': 'boolean'},
13211 'ProviderType': {'type': 'string'},
13212 'Proxy': {'$ref': '#/definitions/Settings'},
13213 'SSLHostnameVerification': {'type': 'boolean'},
13214 'UpdateBehavior': {'$ref': '#/definitions/UpdateBehavior'}},
13215 'required': ['ProviderType',
13217 'SSLHostnameVerification',
13222 'AllowLXCLoopMounts',
13225 'ContainerManagerConfig': {'additionalProperties': False,
13226 'properties': {'ManagerConfig': {'patternProperties': {'.*': {'type': 'string'}},
13227 'type': 'object'}},
13228 'required': ['ManagerConfig'],
13230 'ContainerManagerConfigParams': {'additionalProperties': False,
13231 'properties': {'Type': {'type': 'string'}},
13232 'required': ['Type'],
13234 'DistributionGroupResult': {'additionalProperties': False,
13235 'properties': {'Error': {'$ref': '#/definitions/Error'},
13236 'Result': {'items': {'type': 'string'},
13238 'required': ['Error', 'Result'],
13240 'DistributionGroupResults': {'additionalProperties': False,
13241 'properties': {'Results': {'items': {'$ref': '#/definitions/DistributionGroupResult'},
13243 'required': ['Results'],
13245 'Entities': {'additionalProperties': False,
13246 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
13248 'required': ['Entities'],
13250 'Entity': {'additionalProperties': False,
13251 'properties': {'Tag': {'type': 'string'}},
13252 'required': ['Tag'],
13254 'EntityPassword': {'additionalProperties': False,
13255 'properties': {'Password': {'type': 'string'},
13256 'Tag': {'type': 'string'}},
13257 'required': ['Tag', 'Password'],
13259 'EntityPasswords': {'additionalProperties': False,
13260 'properties': {'Changes': {'items': {'$ref': '#/definitions/EntityPassword'},
13262 'required': ['Changes'],
13264 'EntityStatusArgs': {'additionalProperties': False,
13265 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
13266 'type': 'object'}},
13268 'Info': {'type': 'string'},
13269 'Status': {'type': 'string'},
13270 'Tag': {'type': 'string'}},
13271 'required': ['Tag',
13276 'Error': {'additionalProperties': False,
13277 'properties': {'Code': {'type': 'string'},
13278 'Info': {'$ref': '#/definitions/ErrorInfo'},
13279 'Message': {'type': 'string'}},
13280 'required': ['Message', 'Code'],
13282 'ErrorInfo': {'additionalProperties': False,
13283 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
13284 'MacaroonPath': {'type': 'string'}},
13286 'ErrorResult': {'additionalProperties': False,
13287 'properties': {'Error': {'$ref': '#/definitions/Error'}},
13288 'required': ['Error'],
13290 'ErrorResults': {'additionalProperties': False,
13291 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
13293 'required': ['Results'],
13295 'FindToolsParams': {'additionalProperties': False,
13296 'properties': {'Arch': {'type': 'string'},
13297 'MajorVersion': {'type': 'integer'},
13298 'MinorVersion': {'type': 'integer'},
13299 'Number': {'$ref': '#/definitions/Number'},
13300 'Series': {'type': 'string'}},
13301 'required': ['Number',
13307 'FindToolsResult': {'additionalProperties': False,
13308 'properties': {'Error': {'$ref': '#/definitions/Error'},
13309 'List': {'items': {'$ref': '#/definitions/Tools'},
13311 'required': ['List', 'Error'],
13313 'HardwareCharacteristics': {'additionalProperties': False,
13314 'properties': {'Arch': {'type': 'string'},
13315 'AvailabilityZone': {'type': 'string'},
13316 'CpuCores': {'type': 'integer'},
13317 'CpuPower': {'type': 'integer'},
13318 'Mem': {'type': 'integer'},
13319 'RootDisk': {'type': 'integer'},
13320 'Tags': {'items': {'type': 'string'},
13323 'HostPort': {'additionalProperties': False,
13324 'properties': {'Address': {'$ref': '#/definitions/Address'},
13325 'Port': {'type': 'integer'}},
13326 'required': ['Address', 'Port'],
13328 'InstanceInfo': {'additionalProperties': False,
13329 'properties': {'Characteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
13330 'InstanceId': {'type': 'string'},
13331 'NetworkConfig': {'items': {'$ref': '#/definitions/NetworkConfig'},
13333 'Nonce': {'type': 'string'},
13334 'Tag': {'type': 'string'},
13335 'VolumeAttachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentInfo'}},
13337 'Volumes': {'items': {'$ref': '#/definitions/Volume'},
13339 'required': ['Tag',
13344 'VolumeAttachments',
13347 'InstancesInfo': {'additionalProperties': False,
13348 'properties': {'Machines': {'items': {'$ref': '#/definitions/InstanceInfo'},
13350 'required': ['Machines'],
13352 'LifeResult': {'additionalProperties': False,
13353 'properties': {'Error': {'$ref': '#/definitions/Error'},
13354 'Life': {'type': 'string'}},
13355 'required': ['Life', 'Error'],
13357 'LifeResults': {'additionalProperties': False,
13358 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
13360 'required': ['Results'],
13362 'Macaroon': {'additionalProperties': False,
13363 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
13365 'data': {'items': {'type': 'integer'},
13367 'id': {'$ref': '#/definitions/packet'},
13368 'location': {'$ref': '#/definitions/packet'},
13369 'sig': {'items': {'type': 'integer'},
13371 'required': ['data',
13377 'MachineContainers': {'additionalProperties': False,
13378 'properties': {'ContainerTypes': {'items': {'type': 'string'},
13380 'MachineTag': {'type': 'string'}},
13381 'required': ['MachineTag',
13384 'MachineContainersParams': {'additionalProperties': False,
13385 'properties': {'Params': {'items': {'$ref': '#/definitions/MachineContainers'},
13387 'required': ['Params'],
13389 'MachineNetworkConfigResult': {'additionalProperties': False,
13390 'properties': {'Error': {'$ref': '#/definitions/Error'},
13391 'Info': {'items': {'$ref': '#/definitions/NetworkConfig'},
13393 'required': ['Error', 'Info'],
13395 'MachineNetworkConfigResults': {'additionalProperties': False,
13396 'properties': {'Results': {'items': {'$ref': '#/definitions/MachineNetworkConfigResult'},
13398 'required': ['Results'],
13400 'ModelConfigResult': {'additionalProperties': False,
13401 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
13402 'type': 'object'}},
13403 'type': 'object'}},
13404 'required': ['Config'],
13406 'NetworkConfig': {'additionalProperties': False,
13407 'properties': {'Address': {'type': 'string'},
13408 'CIDR': {'type': 'string'},
13409 'ConfigType': {'type': 'string'},
13410 'DNSSearchDomains': {'items': {'type': 'string'},
13412 'DNSServers': {'items': {'type': 'string'},
13414 'DeviceIndex': {'type': 'integer'},
13415 'Disabled': {'type': 'boolean'},
13416 'GatewayAddress': {'type': 'string'},
13417 'InterfaceName': {'type': 'string'},
13418 'InterfaceType': {'type': 'string'},
13419 'MACAddress': {'type': 'string'},
13420 'MTU': {'type': 'integer'},
13421 'NoAutoStart': {'type': 'boolean'},
13422 'ParentInterfaceName': {'type': 'string'},
13423 'ProviderAddressId': {'type': 'string'},
13424 'ProviderId': {'type': 'string'},
13425 'ProviderSpaceId': {'type': 'string'},
13426 'ProviderSubnetId': {'type': 'string'},
13427 'ProviderVLANId': {'type': 'string'},
13428 'VLANTag': {'type': 'integer'}},
13429 'required': ['DeviceIndex',
13434 'ProviderSubnetId',
13436 'ProviderAddressId',
13440 'ParentInterfaceName',
13444 'NotifyWatchResult': {'additionalProperties': False,
13445 'properties': {'Error': {'$ref': '#/definitions/Error'},
13446 'NotifyWatcherId': {'type': 'string'}},
13447 'required': ['NotifyWatcherId', 'Error'],
13449 'Number': {'additionalProperties': False,
13450 'properties': {'Build': {'type': 'integer'},
13451 'Major': {'type': 'integer'},
13452 'Minor': {'type': 'integer'},
13453 'Patch': {'type': 'integer'},
13454 'Tag': {'type': 'string'}},
13455 'required': ['Major',
13461 'ProvisioningInfo': {'additionalProperties': False,
13462 'properties': {'Constraints': {'$ref': '#/definitions/Value'},
13463 'EndpointBindings': {'patternProperties': {'.*': {'type': 'string'}},
13465 'ImageMetadata': {'items': {'$ref': '#/definitions/CloudImageMetadata'},
13467 'Jobs': {'items': {'type': 'string'},
13469 'Placement': {'type': 'string'},
13470 'Series': {'type': 'string'},
13471 'SubnetsToZones': {'patternProperties': {'.*': {'items': {'type': 'string'},
13474 'Tags': {'patternProperties': {'.*': {'type': 'string'}},
13476 'Volumes': {'items': {'$ref': '#/definitions/VolumeParams'},
13478 'required': ['Constraints',
13486 'EndpointBindings'],
13488 'ProvisioningInfoResult': {'additionalProperties': False,
13489 'properties': {'Error': {'$ref': '#/definitions/Error'},
13490 'Result': {'$ref': '#/definitions/ProvisioningInfo'}},
13491 'required': ['Error', 'Result'],
13493 'ProvisioningInfoResults': {'additionalProperties': False,
13494 'properties': {'Results': {'items': {'$ref': '#/definitions/ProvisioningInfoResult'},
13496 'required': ['Results'],
13498 'SetStatus': {'additionalProperties': False,
13499 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
13501 'required': ['Entities'],
13503 'Settings': {'additionalProperties': False,
13504 'properties': {'Ftp': {'type': 'string'},
13505 'Http': {'type': 'string'},
13506 'Https': {'type': 'string'},
13507 'NoProxy': {'type': 'string'}},
13508 'required': ['Http', 'Https', 'Ftp', 'NoProxy'],
13510 'StatusResult': {'additionalProperties': False,
13511 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
13512 'type': 'object'}},
13514 'Error': {'$ref': '#/definitions/Error'},
13515 'Id': {'type': 'string'},
13516 'Info': {'type': 'string'},
13517 'Life': {'type': 'string'},
13518 'Since': {'format': 'date-time',
13520 'Status': {'type': 'string'}},
13521 'required': ['Error',
13529 'StatusResults': {'additionalProperties': False,
13530 'properties': {'Results': {'items': {'$ref': '#/definitions/StatusResult'},
13532 'required': ['Results'],
13534 'StringResult': {'additionalProperties': False,
13535 'properties': {'Error': {'$ref': '#/definitions/Error'},
13536 'Result': {'type': 'string'}},
13537 'required': ['Error', 'Result'],
13539 'StringResults': {'additionalProperties': False,
13540 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'},
13542 'required': ['Results'],
13544 'StringsResult': {'additionalProperties': False,
13545 'properties': {'Error': {'$ref': '#/definitions/Error'},
13546 'Result': {'items': {'type': 'string'},
13548 'required': ['Error', 'Result'],
13550 'StringsWatchResult': {'additionalProperties': False,
13551 'properties': {'Changes': {'items': {'type': 'string'},
13553 'Error': {'$ref': '#/definitions/Error'},
13554 'StringsWatcherId': {'type': 'string'}},
13555 'required': ['StringsWatcherId',
13559 'StringsWatchResults': {'additionalProperties': False,
13560 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
13562 'required': ['Results'],
13564 'Tools': {'additionalProperties': False,
13565 'properties': {'sha256': {'type': 'string'},
13566 'size': {'type': 'integer'},
13567 'url': {'type': 'string'},
13568 'version': {'$ref': '#/definitions/Binary'}},
13569 'required': ['version', 'url', 'size'],
13571 'ToolsResult': {'additionalProperties': False,
13572 'properties': {'DisableSSLHostnameVerification': {'type': 'boolean'},
13573 'Error': {'$ref': '#/definitions/Error'},
13574 'ToolsList': {'items': {'$ref': '#/definitions/Tools'},
13576 'required': ['ToolsList',
13577 'DisableSSLHostnameVerification',
13580 'ToolsResults': {'additionalProperties': False,
13581 'properties': {'Results': {'items': {'$ref': '#/definitions/ToolsResult'},
13583 'required': ['Results'],
13585 'UpdateBehavior': {'additionalProperties': False,
13586 'properties': {'EnableOSRefreshUpdate': {'type': 'boolean'},
13587 'EnableOSUpgrade': {'type': 'boolean'}},
13588 'required': ['EnableOSRefreshUpdate',
13589 'EnableOSUpgrade'],
13591 'Value': {'additionalProperties': False,
13592 'properties': {'arch': {'type': 'string'},
13593 'container': {'type': 'string'},
13594 'cpu-cores': {'type': 'integer'},
13595 'cpu-power': {'type': 'integer'},
13596 'instance-type': {'type': 'string'},
13597 'mem': {'type': 'integer'},
13598 'root-disk': {'type': 'integer'},
13599 'spaces': {'items': {'type': 'string'},
13601 'tags': {'items': {'type': 'string'},
13603 'virt-type': {'type': 'string'}},
13605 'Volume': {'additionalProperties': False,
13606 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
13607 'volumetag': {'type': 'string'}},
13608 'required': ['volumetag', 'info'],
13610 'VolumeAttachmentInfo': {'additionalProperties': False,
13611 'properties': {'busaddress': {'type': 'string'},
13612 'devicelink': {'type': 'string'},
13613 'devicename': {'type': 'string'},
13614 'read-only': {'type': 'boolean'}},
13616 'VolumeAttachmentParams': {'additionalProperties': False,
13617 'properties': {'instanceid': {'type': 'string'},
13618 'machinetag': {'type': 'string'},
13619 'provider': {'type': 'string'},
13620 'read-only': {'type': 'boolean'},
13621 'volumeid': {'type': 'string'},
13622 'volumetag': {'type': 'string'}},
13623 'required': ['volumetag',
13627 'VolumeInfo': {'additionalProperties': False,
13628 'properties': {'hardwareid': {'type': 'string'},
13629 'persistent': {'type': 'boolean'},
13630 'size': {'type': 'integer'},
13631 'volumeid': {'type': 'string'}},
13632 'required': ['volumeid', 'size', 'persistent'],
13634 'VolumeParams': {'additionalProperties': False,
13635 'properties': {'attachment': {'$ref': '#/definitions/VolumeAttachmentParams'},
13636 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
13637 'type': 'object'}},
13639 'provider': {'type': 'string'},
13640 'size': {'type': 'integer'},
13641 'tags': {'patternProperties': {'.*': {'type': 'string'}},
13643 'volumetag': {'type': 'string'}},
13644 'required': ['volumetag', 'size', 'provider'],
13646 'WatchContainer': {'additionalProperties': False,
13647 'properties': {'ContainerType': {'type': 'string'},
13648 'MachineTag': {'type': 'string'}},
13649 'required': ['MachineTag', 'ContainerType'],
13651 'WatchContainers': {'additionalProperties': False,
13652 'properties': {'Params': {'items': {'$ref': '#/definitions/WatchContainer'},
13654 'required': ['Params'],
13656 'caveat': {'additionalProperties': False,
13657 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
13658 'location': {'$ref': '#/definitions/packet'},
13659 'verificationId': {'$ref': '#/definitions/packet'}},
13660 'required': ['location',
13664 'packet': {'additionalProperties': False,
13665 'properties': {'headerLen': {'type': 'integer'},
13666 'start': {'type': 'integer'},
13667 'totalLen': {'type': 'integer'}},
13668 'required': ['start', 'totalLen', 'headerLen'],
13669 'type': 'object'}},
13670 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
13672 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
13674 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
13676 'Constraints': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13677 'Result': {'$ref': '#/definitions/ConstraintsResults'}},
13679 'ContainerConfig': {'properties': {'Result': {'$ref': '#/definitions/ContainerConfig'}},
13681 'ContainerManagerConfig': {'properties': {'Params': {'$ref': '#/definitions/ContainerManagerConfigParams'},
13682 'Result': {'$ref': '#/definitions/ContainerManagerConfig'}},
13684 'DistributionGroup': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13685 'Result': {'$ref': '#/definitions/DistributionGroupResults'}},
13687 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13688 'Result': {'$ref': '#/definitions/ErrorResults'}},
13690 'FindTools': {'properties': {'Params': {'$ref': '#/definitions/FindToolsParams'},
13691 'Result': {'$ref': '#/definitions/FindToolsResult'}},
13693 'GetContainerInterfaceInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13694 'Result': {'$ref': '#/definitions/MachineNetworkConfigResults'}},
13696 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13697 'Result': {'$ref': '#/definitions/StringResults'}},
13699 'InstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13700 'Result': {'$ref': '#/definitions/StatusResults'}},
13702 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13703 'Result': {'$ref': '#/definitions/LifeResults'}},
13705 'MachinesWithTransientErrors': {'properties': {'Result': {'$ref': '#/definitions/StatusResults'}},
13707 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
13709 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
13711 'PrepareContainerInterfaceInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13712 'Result': {'$ref': '#/definitions/MachineNetworkConfigResults'}},
13714 'ProvisioningInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13715 'Result': {'$ref': '#/definitions/ProvisioningInfoResults'}},
13717 'ReleaseContainerAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13718 'Result': {'$ref': '#/definitions/ErrorResults'}},
13720 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13721 'Result': {'$ref': '#/definitions/ErrorResults'}},
13723 'Series': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13724 'Result': {'$ref': '#/definitions/StringResults'}},
13726 'SetInstanceInfo': {'properties': {'Params': {'$ref': '#/definitions/InstancesInfo'},
13727 'Result': {'$ref': '#/definitions/ErrorResults'}},
13729 'SetInstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
13730 'Result': {'$ref': '#/definitions/ErrorResults'}},
13732 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
13733 'Result': {'$ref': '#/definitions/ErrorResults'}},
13735 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
13736 'Result': {'$ref': '#/definitions/ErrorResults'}},
13738 'SetSupportedContainers': {'properties': {'Params': {'$ref': '#/definitions/MachineContainersParams'},
13739 'Result': {'$ref': '#/definitions/ErrorResults'}},
13741 'StateAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
13743 'Status': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13744 'Result': {'$ref': '#/definitions/StatusResults'}},
13746 'Tools': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13747 'Result': {'$ref': '#/definitions/ToolsResults'}},
13749 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
13750 'Result': {'$ref': '#/definitions/ErrorResults'}},
13752 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
13754 'WatchAllContainers': {'properties': {'Params': {'$ref': '#/definitions/WatchContainers'},
13755 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
13757 'WatchContainers': {'properties': {'Params': {'$ref': '#/definitions/WatchContainers'},
13758 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
13760 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
13762 'WatchMachineErrorRetry': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
13764 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
13765 'type': 'object'}},
13769 @ReturnMapping(StringsResult
)
13770 async def APIAddresses(self
):
13773 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
13775 # map input types to rpc msg
13777 msg
= dict(Type
='Provisioner', Request
='APIAddresses', Version
=2, Params
=params
)
13779 reply
= await self
.rpc(msg
)
13784 @ReturnMapping(APIHostPortsResult
)
13785 async def APIHostPorts(self
):
13788 Returns -> typing.Sequence[~HostPort]
13790 # map input types to rpc msg
13792 msg
= dict(Type
='Provisioner', Request
='APIHostPorts', Version
=2, Params
=params
)
13794 reply
= await self
.rpc(msg
)
13799 @ReturnMapping(BytesResult
)
13800 async def CACert(self
):
13803 Returns -> typing.Sequence[int]
13805 # map input types to rpc msg
13807 msg
= dict(Type
='Provisioner', Request
='CACert', Version
=2, Params
=params
)
13809 reply
= await self
.rpc(msg
)
13814 @ReturnMapping(ConstraintsResults
)
13815 async def Constraints(self
, entities
):
13817 entities : typing.Sequence[~Entity]
13818 Returns -> typing.Sequence[~ConstraintsResult]
13820 # map input types to rpc msg
13822 msg
= dict(Type
='Provisioner', Request
='Constraints', Version
=2, Params
=params
)
13823 params
['Entities'] = entities
13824 reply
= await self
.rpc(msg
)
13829 @ReturnMapping(ContainerConfig
)
13830 async def ContainerConfig(self
):
13833 Returns -> typing.Union[bool, str, _ForwardRef('Settings'), _ForwardRef('Settings'), _ForwardRef('UpdateBehavior')]
13835 # map input types to rpc msg
13837 msg
= dict(Type
='Provisioner', Request
='ContainerConfig', Version
=2, Params
=params
)
13839 reply
= await self
.rpc(msg
)
13844 @ReturnMapping(ContainerManagerConfig
)
13845 async def ContainerManagerConfig(self
, type_
):
13848 Returns -> typing.Mapping[str, str]
13850 # map input types to rpc msg
13852 msg
= dict(Type
='Provisioner', Request
='ContainerManagerConfig', Version
=2, Params
=params
)
13853 params
['Type'] = type_
13854 reply
= await self
.rpc(msg
)
13859 @ReturnMapping(DistributionGroupResults
)
13860 async def DistributionGroup(self
, entities
):
13862 entities : typing.Sequence[~Entity]
13863 Returns -> typing.Sequence[~DistributionGroupResult]
13865 # map input types to rpc msg
13867 msg
= dict(Type
='Provisioner', Request
='DistributionGroup', Version
=2, Params
=params
)
13868 params
['Entities'] = entities
13869 reply
= await self
.rpc(msg
)
13874 @ReturnMapping(ErrorResults
)
13875 async def EnsureDead(self
, entities
):
13877 entities : typing.Sequence[~Entity]
13878 Returns -> typing.Sequence[~ErrorResult]
13880 # map input types to rpc msg
13882 msg
= dict(Type
='Provisioner', Request
='EnsureDead', Version
=2, Params
=params
)
13883 params
['Entities'] = entities
13884 reply
= await self
.rpc(msg
)
13889 @ReturnMapping(FindToolsResult
)
13890 async def FindTools(self
, arch
, majorversion
, minorversion
, number
, series
):
13897 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[~Tools]]
13899 # map input types to rpc msg
13901 msg
= dict(Type
='Provisioner', Request
='FindTools', Version
=2, Params
=params
)
13902 params
['Arch'] = arch
13903 params
['MajorVersion'] = majorversion
13904 params
['MinorVersion'] = minorversion
13905 params
['Number'] = number
13906 params
['Series'] = series
13907 reply
= await self
.rpc(msg
)
13912 @ReturnMapping(MachineNetworkConfigResults
)
13913 async def GetContainerInterfaceInfo(self
, entities
):
13915 entities : typing.Sequence[~Entity]
13916 Returns -> typing.Sequence[~MachineNetworkConfigResult]
13918 # map input types to rpc msg
13920 msg
= dict(Type
='Provisioner', Request
='GetContainerInterfaceInfo', Version
=2, Params
=params
)
13921 params
['Entities'] = entities
13922 reply
= await self
.rpc(msg
)
13927 @ReturnMapping(StringResults
)
13928 async def InstanceId(self
, entities
):
13930 entities : typing.Sequence[~Entity]
13931 Returns -> typing.Sequence[~StringResult]
13933 # map input types to rpc msg
13935 msg
= dict(Type
='Provisioner', Request
='InstanceId', Version
=2, Params
=params
)
13936 params
['Entities'] = entities
13937 reply
= await self
.rpc(msg
)
13942 @ReturnMapping(StatusResults
)
13943 async def InstanceStatus(self
, entities
):
13945 entities : typing.Sequence[~Entity]
13946 Returns -> typing.Sequence[~StatusResult]
13948 # map input types to rpc msg
13950 msg
= dict(Type
='Provisioner', Request
='InstanceStatus', Version
=2, Params
=params
)
13951 params
['Entities'] = entities
13952 reply
= await self
.rpc(msg
)
13957 @ReturnMapping(LifeResults
)
13958 async def Life(self
, entities
):
13960 entities : typing.Sequence[~Entity]
13961 Returns -> typing.Sequence[~LifeResult]
13963 # map input types to rpc msg
13965 msg
= dict(Type
='Provisioner', Request
='Life', Version
=2, Params
=params
)
13966 params
['Entities'] = entities
13967 reply
= await self
.rpc(msg
)
13972 @ReturnMapping(StatusResults
)
13973 async def MachinesWithTransientErrors(self
):
13976 Returns -> typing.Sequence[~StatusResult]
13978 # map input types to rpc msg
13980 msg
= dict(Type
='Provisioner', Request
='MachinesWithTransientErrors', Version
=2, Params
=params
)
13982 reply
= await self
.rpc(msg
)
13987 @ReturnMapping(ModelConfigResult
)
13988 async def ModelConfig(self
):
13991 Returns -> typing.Mapping[str, typing.Any]
13993 # map input types to rpc msg
13995 msg
= dict(Type
='Provisioner', Request
='ModelConfig', Version
=2, Params
=params
)
13997 reply
= await self
.rpc(msg
)
14002 @ReturnMapping(StringResult
)
14003 async def ModelUUID(self
):
14006 Returns -> typing.Union[_ForwardRef('Error'), str]
14008 # map input types to rpc msg
14010 msg
= dict(Type
='Provisioner', Request
='ModelUUID', Version
=2, Params
=params
)
14012 reply
= await self
.rpc(msg
)
14017 @ReturnMapping(MachineNetworkConfigResults
)
14018 async def PrepareContainerInterfaceInfo(self
, entities
):
14020 entities : typing.Sequence[~Entity]
14021 Returns -> typing.Sequence[~MachineNetworkConfigResult]
14023 # map input types to rpc msg
14025 msg
= dict(Type
='Provisioner', Request
='PrepareContainerInterfaceInfo', Version
=2, Params
=params
)
14026 params
['Entities'] = entities
14027 reply
= await self
.rpc(msg
)
14032 @ReturnMapping(ProvisioningInfoResults
)
14033 async def ProvisioningInfo(self
, entities
):
14035 entities : typing.Sequence[~Entity]
14036 Returns -> typing.Sequence[~ProvisioningInfoResult]
14038 # map input types to rpc msg
14040 msg
= dict(Type
='Provisioner', Request
='ProvisioningInfo', Version
=2, Params
=params
)
14041 params
['Entities'] = entities
14042 reply
= await self
.rpc(msg
)
14047 @ReturnMapping(ErrorResults
)
14048 async def ReleaseContainerAddresses(self
, entities
):
14050 entities : typing.Sequence[~Entity]
14051 Returns -> typing.Sequence[~ErrorResult]
14053 # map input types to rpc msg
14055 msg
= dict(Type
='Provisioner', Request
='ReleaseContainerAddresses', Version
=2, Params
=params
)
14056 params
['Entities'] = entities
14057 reply
= await self
.rpc(msg
)
14062 @ReturnMapping(ErrorResults
)
14063 async def Remove(self
, entities
):
14065 entities : typing.Sequence[~Entity]
14066 Returns -> typing.Sequence[~ErrorResult]
14068 # map input types to rpc msg
14070 msg
= dict(Type
='Provisioner', Request
='Remove', Version
=2, Params
=params
)
14071 params
['Entities'] = entities
14072 reply
= await self
.rpc(msg
)
14077 @ReturnMapping(StringResults
)
14078 async def Series(self
, entities
):
14080 entities : typing.Sequence[~Entity]
14081 Returns -> typing.Sequence[~StringResult]
14083 # map input types to rpc msg
14085 msg
= dict(Type
='Provisioner', Request
='Series', Version
=2, Params
=params
)
14086 params
['Entities'] = entities
14087 reply
= await self
.rpc(msg
)
14092 @ReturnMapping(ErrorResults
)
14093 async def SetInstanceInfo(self
, machines
):
14095 machines : typing.Sequence[~InstanceInfo]
14096 Returns -> typing.Sequence[~ErrorResult]
14098 # map input types to rpc msg
14100 msg
= dict(Type
='Provisioner', Request
='SetInstanceInfo', Version
=2, Params
=params
)
14101 params
['Machines'] = machines
14102 reply
= await self
.rpc(msg
)
14107 @ReturnMapping(ErrorResults
)
14108 async def SetInstanceStatus(self
, entities
):
14110 entities : typing.Sequence[~EntityStatusArgs]
14111 Returns -> typing.Sequence[~ErrorResult]
14113 # map input types to rpc msg
14115 msg
= dict(Type
='Provisioner', Request
='SetInstanceStatus', Version
=2, Params
=params
)
14116 params
['Entities'] = entities
14117 reply
= await self
.rpc(msg
)
14122 @ReturnMapping(ErrorResults
)
14123 async def SetPasswords(self
, changes
):
14125 changes : typing.Sequence[~EntityPassword]
14126 Returns -> typing.Sequence[~ErrorResult]
14128 # map input types to rpc msg
14130 msg
= dict(Type
='Provisioner', Request
='SetPasswords', Version
=2, Params
=params
)
14131 params
['Changes'] = changes
14132 reply
= await self
.rpc(msg
)
14137 @ReturnMapping(ErrorResults
)
14138 async def SetStatus(self
, entities
):
14140 entities : typing.Sequence[~EntityStatusArgs]
14141 Returns -> typing.Sequence[~ErrorResult]
14143 # map input types to rpc msg
14145 msg
= dict(Type
='Provisioner', Request
='SetStatus', Version
=2, Params
=params
)
14146 params
['Entities'] = entities
14147 reply
= await self
.rpc(msg
)
14152 @ReturnMapping(ErrorResults
)
14153 async def SetSupportedContainers(self
, params
):
14155 params : typing.Sequence[~MachineContainers]
14156 Returns -> typing.Sequence[~ErrorResult]
14158 # map input types to rpc msg
14160 msg
= dict(Type
='Provisioner', Request
='SetSupportedContainers', Version
=2, Params
=params
)
14161 params
['Params'] = params
14162 reply
= await self
.rpc(msg
)
14167 @ReturnMapping(StringsResult
)
14168 async def StateAddresses(self
):
14171 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
14173 # map input types to rpc msg
14175 msg
= dict(Type
='Provisioner', Request
='StateAddresses', Version
=2, Params
=params
)
14177 reply
= await self
.rpc(msg
)
14182 @ReturnMapping(StatusResults
)
14183 async def Status(self
, entities
):
14185 entities : typing.Sequence[~Entity]
14186 Returns -> typing.Sequence[~StatusResult]
14188 # map input types to rpc msg
14190 msg
= dict(Type
='Provisioner', Request
='Status', Version
=2, Params
=params
)
14191 params
['Entities'] = entities
14192 reply
= await self
.rpc(msg
)
14197 @ReturnMapping(ToolsResults
)
14198 async def Tools(self
, entities
):
14200 entities : typing.Sequence[~Entity]
14201 Returns -> typing.Sequence[~ToolsResult]
14203 # map input types to rpc msg
14205 msg
= dict(Type
='Provisioner', Request
='Tools', Version
=2, Params
=params
)
14206 params
['Entities'] = entities
14207 reply
= await self
.rpc(msg
)
14212 @ReturnMapping(ErrorResults
)
14213 async def UpdateStatus(self
, entities
):
14215 entities : typing.Sequence[~EntityStatusArgs]
14216 Returns -> typing.Sequence[~ErrorResult]
14218 # map input types to rpc msg
14220 msg
= dict(Type
='Provisioner', Request
='UpdateStatus', Version
=2, Params
=params
)
14221 params
['Entities'] = entities
14222 reply
= await self
.rpc(msg
)
14227 @ReturnMapping(NotifyWatchResult
)
14228 async def WatchAPIHostPorts(self
):
14231 Returns -> typing.Union[_ForwardRef('Error'), str]
14233 # map input types to rpc msg
14235 msg
= dict(Type
='Provisioner', Request
='WatchAPIHostPorts', Version
=2, Params
=params
)
14237 reply
= await self
.rpc(msg
)
14242 @ReturnMapping(StringsWatchResults
)
14243 async def WatchAllContainers(self
, params
):
14245 params : typing.Sequence[~WatchContainer]
14246 Returns -> typing.Sequence[~StringsWatchResult]
14248 # map input types to rpc msg
14250 msg
= dict(Type
='Provisioner', Request
='WatchAllContainers', Version
=2, Params
=params
)
14251 params
['Params'] = params
14252 reply
= await self
.rpc(msg
)
14257 @ReturnMapping(StringsWatchResults
)
14258 async def WatchContainers(self
, params
):
14260 params : typing.Sequence[~WatchContainer]
14261 Returns -> typing.Sequence[~StringsWatchResult]
14263 # map input types to rpc msg
14265 msg
= dict(Type
='Provisioner', Request
='WatchContainers', Version
=2, Params
=params
)
14266 params
['Params'] = params
14267 reply
= await self
.rpc(msg
)
14272 @ReturnMapping(NotifyWatchResult
)
14273 async def WatchForModelConfigChanges(self
):
14276 Returns -> typing.Union[_ForwardRef('Error'), str]
14278 # map input types to rpc msg
14280 msg
= dict(Type
='Provisioner', Request
='WatchForModelConfigChanges', Version
=2, Params
=params
)
14282 reply
= await self
.rpc(msg
)
14287 @ReturnMapping(NotifyWatchResult
)
14288 async def WatchMachineErrorRetry(self
):
14291 Returns -> typing.Union[_ForwardRef('Error'), str]
14293 # map input types to rpc msg
14295 msg
= dict(Type
='Provisioner', Request
='WatchMachineErrorRetry', Version
=2, Params
=params
)
14297 reply
= await self
.rpc(msg
)
14302 @ReturnMapping(StringsWatchResult
)
14303 async def WatchModelMachines(self
):
14306 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
14308 # map input types to rpc msg
14310 msg
= dict(Type
='Provisioner', Request
='WatchModelMachines', Version
=2, Params
=params
)
14312 reply
= await self
.rpc(msg
)
14316 class ProxyUpdater(Type
):
14317 name
= 'ProxyUpdater'
14319 schema
= {'definitions': {'Entities': {'additionalProperties': False,
14320 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
14322 'required': ['Entities'],
14324 'Entity': {'additionalProperties': False,
14325 'properties': {'Tag': {'type': 'string'}},
14326 'required': ['Tag'],
14328 'Error': {'additionalProperties': False,
14329 'properties': {'Code': {'type': 'string'},
14330 'Info': {'$ref': '#/definitions/ErrorInfo'},
14331 'Message': {'type': 'string'}},
14332 'required': ['Message', 'Code'],
14334 'ErrorInfo': {'additionalProperties': False,
14335 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
14336 'MacaroonPath': {'type': 'string'}},
14338 'Macaroon': {'additionalProperties': False,
14339 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
14341 'data': {'items': {'type': 'integer'},
14343 'id': {'$ref': '#/definitions/packet'},
14344 'location': {'$ref': '#/definitions/packet'},
14345 'sig': {'items': {'type': 'integer'},
14347 'required': ['data',
14353 'NotifyWatchResult': {'additionalProperties': False,
14354 'properties': {'Error': {'$ref': '#/definitions/Error'},
14355 'NotifyWatcherId': {'type': 'string'}},
14356 'required': ['NotifyWatcherId', 'Error'],
14358 'NotifyWatchResults': {'additionalProperties': False,
14359 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
14361 'required': ['Results'],
14363 'ProxyConfig': {'additionalProperties': False,
14364 'properties': {'FTP': {'type': 'string'},
14365 'HTTP': {'type': 'string'},
14366 'HTTPS': {'type': 'string'},
14367 'NoProxy': {'type': 'string'}},
14368 'required': ['HTTP',
14373 'ProxyConfigResult': {'additionalProperties': False,
14374 'properties': {'APTProxySettings': {'$ref': '#/definitions/ProxyConfig'},
14375 'Error': {'$ref': '#/definitions/Error'},
14376 'ProxySettings': {'$ref': '#/definitions/ProxyConfig'}},
14377 'required': ['ProxySettings',
14378 'APTProxySettings'],
14380 'ProxyConfigResults': {'additionalProperties': False,
14381 'properties': {'Results': {'items': {'$ref': '#/definitions/ProxyConfigResult'},
14383 'required': ['Results'],
14385 'caveat': {'additionalProperties': False,
14386 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
14387 'location': {'$ref': '#/definitions/packet'},
14388 'verificationId': {'$ref': '#/definitions/packet'}},
14389 'required': ['location',
14393 'packet': {'additionalProperties': False,
14394 'properties': {'headerLen': {'type': 'integer'},
14395 'start': {'type': 'integer'},
14396 'totalLen': {'type': 'integer'}},
14397 'required': ['start', 'totalLen', 'headerLen'],
14398 'type': 'object'}},
14399 'properties': {'ProxyConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14400 'Result': {'$ref': '#/definitions/ProxyConfigResults'}},
14402 'WatchForProxyConfigAndAPIHostPortChanges': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14403 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
14404 'type': 'object'}},
14408 @ReturnMapping(ProxyConfigResults
)
14409 async def ProxyConfig(self
, entities
):
14411 entities : typing.Sequence[~Entity]
14412 Returns -> typing.Sequence[~ProxyConfigResult]
14414 # map input types to rpc msg
14416 msg
= dict(Type
='ProxyUpdater', Request
='ProxyConfig', Version
=1, Params
=params
)
14417 params
['Entities'] = entities
14418 reply
= await self
.rpc(msg
)
14423 @ReturnMapping(NotifyWatchResults
)
14424 async def WatchForProxyConfigAndAPIHostPortChanges(self
, entities
):
14426 entities : typing.Sequence[~Entity]
14427 Returns -> typing.Sequence[~NotifyWatchResult]
14429 # map input types to rpc msg
14431 msg
= dict(Type
='ProxyUpdater', Request
='WatchForProxyConfigAndAPIHostPortChanges', Version
=1, Params
=params
)
14432 params
['Entities'] = entities
14433 reply
= await self
.rpc(msg
)
14437 class Reboot(Type
):
14440 schema
= {'definitions': {'Entities': {'additionalProperties': False,
14441 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
14443 'required': ['Entities'],
14445 'Entity': {'additionalProperties': False,
14446 'properties': {'Tag': {'type': 'string'}},
14447 'required': ['Tag'],
14449 'Error': {'additionalProperties': False,
14450 'properties': {'Code': {'type': 'string'},
14451 'Info': {'$ref': '#/definitions/ErrorInfo'},
14452 'Message': {'type': 'string'}},
14453 'required': ['Message', 'Code'],
14455 'ErrorInfo': {'additionalProperties': False,
14456 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
14457 'MacaroonPath': {'type': 'string'}},
14459 'ErrorResult': {'additionalProperties': False,
14460 'properties': {'Error': {'$ref': '#/definitions/Error'}},
14461 'required': ['Error'],
14463 'ErrorResults': {'additionalProperties': False,
14464 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
14466 'required': ['Results'],
14468 'Macaroon': {'additionalProperties': False,
14469 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
14471 'data': {'items': {'type': 'integer'},
14473 'id': {'$ref': '#/definitions/packet'},
14474 'location': {'$ref': '#/definitions/packet'},
14475 'sig': {'items': {'type': 'integer'},
14477 'required': ['data',
14483 'NotifyWatchResult': {'additionalProperties': False,
14484 'properties': {'Error': {'$ref': '#/definitions/Error'},
14485 'NotifyWatcherId': {'type': 'string'}},
14486 'required': ['NotifyWatcherId', 'Error'],
14488 'RebootActionResult': {'additionalProperties': False,
14489 'properties': {'error': {'$ref': '#/definitions/Error'},
14490 'result': {'type': 'string'}},
14492 'RebootActionResults': {'additionalProperties': False,
14493 'properties': {'results': {'items': {'$ref': '#/definitions/RebootActionResult'},
14496 'caveat': {'additionalProperties': False,
14497 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
14498 'location': {'$ref': '#/definitions/packet'},
14499 'verificationId': {'$ref': '#/definitions/packet'}},
14500 'required': ['location',
14504 'packet': {'additionalProperties': False,
14505 'properties': {'headerLen': {'type': 'integer'},
14506 'start': {'type': 'integer'},
14507 'totalLen': {'type': 'integer'}},
14508 'required': ['start', 'totalLen', 'headerLen'],
14509 'type': 'object'}},
14510 'properties': {'ClearReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14511 'Result': {'$ref': '#/definitions/ErrorResults'}},
14513 'GetRebootAction': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14514 'Result': {'$ref': '#/definitions/RebootActionResults'}},
14516 'RequestReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14517 'Result': {'$ref': '#/definitions/ErrorResults'}},
14519 'WatchForRebootEvent': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
14520 'type': 'object'}},
14524 @ReturnMapping(ErrorResults
)
14525 async def ClearReboot(self
, entities
):
14527 entities : typing.Sequence[~Entity]
14528 Returns -> typing.Sequence[~ErrorResult]
14530 # map input types to rpc msg
14532 msg
= dict(Type
='Reboot', Request
='ClearReboot', Version
=2, Params
=params
)
14533 params
['Entities'] = entities
14534 reply
= await self
.rpc(msg
)
14539 @ReturnMapping(RebootActionResults
)
14540 async def GetRebootAction(self
, entities
):
14542 entities : typing.Sequence[~Entity]
14543 Returns -> typing.Sequence[~RebootActionResult]
14545 # map input types to rpc msg
14547 msg
= dict(Type
='Reboot', Request
='GetRebootAction', Version
=2, Params
=params
)
14548 params
['Entities'] = entities
14549 reply
= await self
.rpc(msg
)
14554 @ReturnMapping(ErrorResults
)
14555 async def RequestReboot(self
, entities
):
14557 entities : typing.Sequence[~Entity]
14558 Returns -> typing.Sequence[~ErrorResult]
14560 # map input types to rpc msg
14562 msg
= dict(Type
='Reboot', Request
='RequestReboot', Version
=2, Params
=params
)
14563 params
['Entities'] = entities
14564 reply
= await self
.rpc(msg
)
14569 @ReturnMapping(NotifyWatchResult
)
14570 async def WatchForRebootEvent(self
):
14573 Returns -> typing.Union[_ForwardRef('Error'), str]
14575 # map input types to rpc msg
14577 msg
= dict(Type
='Reboot', Request
='WatchForRebootEvent', Version
=2, Params
=params
)
14579 reply
= await self
.rpc(msg
)
14583 class RelationUnitsWatcher(Type
):
14584 name
= 'RelationUnitsWatcher'
14586 schema
= {'definitions': {'Error': {'additionalProperties': False,
14587 'properties': {'Code': {'type': 'string'},
14588 'Info': {'$ref': '#/definitions/ErrorInfo'},
14589 'Message': {'type': 'string'}},
14590 'required': ['Message', 'Code'],
14592 'ErrorInfo': {'additionalProperties': False,
14593 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
14594 'MacaroonPath': {'type': 'string'}},
14596 'Macaroon': {'additionalProperties': False,
14597 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
14599 'data': {'items': {'type': 'integer'},
14601 'id': {'$ref': '#/definitions/packet'},
14602 'location': {'$ref': '#/definitions/packet'},
14603 'sig': {'items': {'type': 'integer'},
14605 'required': ['data',
14611 'RelationUnitsChange': {'additionalProperties': False,
14612 'properties': {'Changed': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitSettings'}},
14614 'Departed': {'items': {'type': 'string'},
14616 'required': ['Changed', 'Departed'],
14618 'RelationUnitsWatchResult': {'additionalProperties': False,
14619 'properties': {'Changes': {'$ref': '#/definitions/RelationUnitsChange'},
14620 'Error': {'$ref': '#/definitions/Error'},
14621 'RelationUnitsWatcherId': {'type': 'string'}},
14622 'required': ['RelationUnitsWatcherId',
14626 'UnitSettings': {'additionalProperties': False,
14627 'properties': {'Version': {'type': 'integer'}},
14628 'required': ['Version'],
14630 'caveat': {'additionalProperties': False,
14631 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
14632 'location': {'$ref': '#/definitions/packet'},
14633 'verificationId': {'$ref': '#/definitions/packet'}},
14634 'required': ['location',
14638 'packet': {'additionalProperties': False,
14639 'properties': {'headerLen': {'type': 'integer'},
14640 'start': {'type': 'integer'},
14641 'totalLen': {'type': 'integer'}},
14642 'required': ['start', 'totalLen', 'headerLen'],
14643 'type': 'object'}},
14644 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/RelationUnitsWatchResult'}},
14646 'Stop': {'type': 'object'}},
14650 @ReturnMapping(RelationUnitsWatchResult
)
14651 async def Next(self
):
14654 Returns -> typing.Union[_ForwardRef('RelationUnitsChange'), _ForwardRef('Error'), str]
14656 # map input types to rpc msg
14658 msg
= dict(Type
='RelationUnitsWatcher', Request
='Next', Version
=1, Params
=params
)
14660 reply
= await self
.rpc(msg
)
14665 @ReturnMapping(None)
14666 async def Stop(self
):
14671 # map input types to rpc msg
14673 msg
= dict(Type
='RelationUnitsWatcher', Request
='Stop', Version
=1, Params
=params
)
14675 reply
= await self
.rpc(msg
)
14679 class Resumer(Type
):
14682 schema
= {'properties': {'ResumeTransactions': {'type': 'object'}}, 'type': 'object'}
14685 @ReturnMapping(None)
14686 async def ResumeTransactions(self
):
14691 # map input types to rpc msg
14693 msg
= dict(Type
='Resumer', Request
='ResumeTransactions', Version
=2, Params
=params
)
14695 reply
= await self
.rpc(msg
)
14699 class RetryStrategy(Type
):
14700 name
= 'RetryStrategy'
14702 schema
= {'definitions': {'Entities': {'additionalProperties': False,
14703 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
14705 'required': ['Entities'],
14707 'Entity': {'additionalProperties': False,
14708 'properties': {'Tag': {'type': 'string'}},
14709 'required': ['Tag'],
14711 'Error': {'additionalProperties': False,
14712 'properties': {'Code': {'type': 'string'},
14713 'Info': {'$ref': '#/definitions/ErrorInfo'},
14714 'Message': {'type': 'string'}},
14715 'required': ['Message', 'Code'],
14717 'ErrorInfo': {'additionalProperties': False,
14718 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
14719 'MacaroonPath': {'type': 'string'}},
14721 'Macaroon': {'additionalProperties': False,
14722 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
14724 'data': {'items': {'type': 'integer'},
14726 'id': {'$ref': '#/definitions/packet'},
14727 'location': {'$ref': '#/definitions/packet'},
14728 'sig': {'items': {'type': 'integer'},
14730 'required': ['data',
14736 'NotifyWatchResult': {'additionalProperties': False,
14737 'properties': {'Error': {'$ref': '#/definitions/Error'},
14738 'NotifyWatcherId': {'type': 'string'}},
14739 'required': ['NotifyWatcherId', 'Error'],
14741 'NotifyWatchResults': {'additionalProperties': False,
14742 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
14744 'required': ['Results'],
14746 'RetryStrategy': {'additionalProperties': False,
14747 'properties': {'JitterRetryTime': {'type': 'boolean'},
14748 'MaxRetryTime': {'type': 'integer'},
14749 'MinRetryTime': {'type': 'integer'},
14750 'RetryTimeFactor': {'type': 'integer'},
14751 'ShouldRetry': {'type': 'boolean'}},
14752 'required': ['ShouldRetry',
14756 'RetryTimeFactor'],
14758 'RetryStrategyResult': {'additionalProperties': False,
14759 'properties': {'Error': {'$ref': '#/definitions/Error'},
14760 'Result': {'$ref': '#/definitions/RetryStrategy'}},
14761 'required': ['Error', 'Result'],
14763 'RetryStrategyResults': {'additionalProperties': False,
14764 'properties': {'Results': {'items': {'$ref': '#/definitions/RetryStrategyResult'},
14766 'required': ['Results'],
14768 'caveat': {'additionalProperties': False,
14769 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
14770 'location': {'$ref': '#/definitions/packet'},
14771 'verificationId': {'$ref': '#/definitions/packet'}},
14772 'required': ['location',
14776 'packet': {'additionalProperties': False,
14777 'properties': {'headerLen': {'type': 'integer'},
14778 'start': {'type': 'integer'},
14779 'totalLen': {'type': 'integer'}},
14780 'required': ['start', 'totalLen', 'headerLen'],
14781 'type': 'object'}},
14782 'properties': {'RetryStrategy': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14783 'Result': {'$ref': '#/definitions/RetryStrategyResults'}},
14785 'WatchRetryStrategy': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14786 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
14787 'type': 'object'}},
14791 @ReturnMapping(RetryStrategyResults
)
14792 async def RetryStrategy(self
, entities
):
14794 entities : typing.Sequence[~Entity]
14795 Returns -> typing.Sequence[~RetryStrategyResult]
14797 # map input types to rpc msg
14799 msg
= dict(Type
='RetryStrategy', Request
='RetryStrategy', Version
=1, Params
=params
)
14800 params
['Entities'] = entities
14801 reply
= await self
.rpc(msg
)
14806 @ReturnMapping(NotifyWatchResults
)
14807 async def WatchRetryStrategy(self
, entities
):
14809 entities : typing.Sequence[~Entity]
14810 Returns -> typing.Sequence[~NotifyWatchResult]
14812 # map input types to rpc msg
14814 msg
= dict(Type
='RetryStrategy', Request
='WatchRetryStrategy', Version
=1, Params
=params
)
14815 params
['Entities'] = entities
14816 reply
= await self
.rpc(msg
)
14820 class SSHClient(Type
):
14823 schema
= {'definitions': {'Entities': {'additionalProperties': False,
14824 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
14826 'required': ['Entities'],
14828 'Entity': {'additionalProperties': False,
14829 'properties': {'Tag': {'type': 'string'}},
14830 'required': ['Tag'],
14832 'Error': {'additionalProperties': False,
14833 'properties': {'Code': {'type': 'string'},
14834 'Info': {'$ref': '#/definitions/ErrorInfo'},
14835 'Message': {'type': 'string'}},
14836 'required': ['Message', 'Code'],
14838 'ErrorInfo': {'additionalProperties': False,
14839 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
14840 'MacaroonPath': {'type': 'string'}},
14842 'Macaroon': {'additionalProperties': False,
14843 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
14845 'data': {'items': {'type': 'integer'},
14847 'id': {'$ref': '#/definitions/packet'},
14848 'location': {'$ref': '#/definitions/packet'},
14849 'sig': {'items': {'type': 'integer'},
14851 'required': ['data',
14857 'SSHAddressResult': {'additionalProperties': False,
14858 'properties': {'address': {'type': 'string'},
14859 'error': {'$ref': '#/definitions/Error'}},
14861 'SSHAddressResults': {'additionalProperties': False,
14862 'properties': {'results': {'items': {'$ref': '#/definitions/SSHAddressResult'},
14864 'required': ['results'],
14866 'SSHProxyResult': {'additionalProperties': False,
14867 'properties': {'use-proxy': {'type': 'boolean'}},
14868 'required': ['use-proxy'],
14870 'SSHPublicKeysResult': {'additionalProperties': False,
14871 'properties': {'error': {'$ref': '#/definitions/Error'},
14872 'public-keys': {'items': {'type': 'string'},
14875 'SSHPublicKeysResults': {'additionalProperties': False,
14876 'properties': {'results': {'items': {'$ref': '#/definitions/SSHPublicKeysResult'},
14878 'required': ['results'],
14880 'caveat': {'additionalProperties': False,
14881 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
14882 'location': {'$ref': '#/definitions/packet'},
14883 'verificationId': {'$ref': '#/definitions/packet'}},
14884 'required': ['location',
14888 'packet': {'additionalProperties': False,
14889 'properties': {'headerLen': {'type': 'integer'},
14890 'start': {'type': 'integer'},
14891 'totalLen': {'type': 'integer'}},
14892 'required': ['start', 'totalLen', 'headerLen'],
14893 'type': 'object'}},
14894 'properties': {'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14895 'Result': {'$ref': '#/definitions/SSHAddressResults'}},
14897 'Proxy': {'properties': {'Result': {'$ref': '#/definitions/SSHProxyResult'}},
14899 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14900 'Result': {'$ref': '#/definitions/SSHAddressResults'}},
14902 'PublicKeys': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14903 'Result': {'$ref': '#/definitions/SSHPublicKeysResults'}},
14904 'type': 'object'}},
14908 @ReturnMapping(SSHAddressResults
)
14909 async def PrivateAddress(self
, entities
):
14911 entities : typing.Sequence[~Entity]
14912 Returns -> typing.Sequence[~SSHAddressResult]
14914 # map input types to rpc msg
14916 msg
= dict(Type
='SSHClient', Request
='PrivateAddress', Version
=1, Params
=params
)
14917 params
['Entities'] = entities
14918 reply
= await self
.rpc(msg
)
14923 @ReturnMapping(SSHProxyResult
)
14924 async def Proxy(self
):
14929 # map input types to rpc msg
14931 msg
= dict(Type
='SSHClient', Request
='Proxy', Version
=1, Params
=params
)
14933 reply
= await self
.rpc(msg
)
14938 @ReturnMapping(SSHAddressResults
)
14939 async def PublicAddress(self
, entities
):
14941 entities : typing.Sequence[~Entity]
14942 Returns -> typing.Sequence[~SSHAddressResult]
14944 # map input types to rpc msg
14946 msg
= dict(Type
='SSHClient', Request
='PublicAddress', Version
=1, Params
=params
)
14947 params
['Entities'] = entities
14948 reply
= await self
.rpc(msg
)
14953 @ReturnMapping(SSHPublicKeysResults
)
14954 async def PublicKeys(self
, entities
):
14956 entities : typing.Sequence[~Entity]
14957 Returns -> typing.Sequence[~SSHPublicKeysResult]
14959 # map input types to rpc msg
14961 msg
= dict(Type
='SSHClient', Request
='PublicKeys', Version
=1, Params
=params
)
14962 params
['Entities'] = entities
14963 reply
= await self
.rpc(msg
)
14967 class Service(Type
):
14970 schema
= {'definitions': {'AddRelation': {'additionalProperties': False,
14971 'properties': {'Endpoints': {'items': {'type': 'string'},
14973 'required': ['Endpoints'],
14975 'AddRelationResults': {'additionalProperties': False,
14976 'properties': {'Endpoints': {'patternProperties': {'.*': {'$ref': '#/definitions/Relation'}},
14977 'type': 'object'}},
14978 'required': ['Endpoints'],
14980 'AddServiceUnits': {'additionalProperties': False,
14981 'properties': {'NumUnits': {'type': 'integer'},
14982 'Placement': {'items': {'$ref': '#/definitions/Placement'},
14984 'ServiceName': {'type': 'string'}},
14985 'required': ['ServiceName',
14989 'AddServiceUnitsResults': {'additionalProperties': False,
14990 'properties': {'Units': {'items': {'type': 'string'},
14992 'required': ['Units'],
14994 'Constraints': {'additionalProperties': False,
14995 'properties': {'Count': {'type': 'integer'},
14996 'Pool': {'type': 'string'},
14997 'Size': {'type': 'integer'}},
14998 'required': ['Pool', 'Size', 'Count'],
15000 'DestroyRelation': {'additionalProperties': False,
15001 'properties': {'Endpoints': {'items': {'type': 'string'},
15003 'required': ['Endpoints'],
15005 'DestroyServiceUnits': {'additionalProperties': False,
15006 'properties': {'UnitNames': {'items': {'type': 'string'},
15008 'required': ['UnitNames'],
15010 'Error': {'additionalProperties': False,
15011 'properties': {'Code': {'type': 'string'},
15012 'Info': {'$ref': '#/definitions/ErrorInfo'},
15013 'Message': {'type': 'string'}},
15014 'required': ['Message', 'Code'],
15016 'ErrorInfo': {'additionalProperties': False,
15017 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
15018 'MacaroonPath': {'type': 'string'}},
15020 'ErrorResult': {'additionalProperties': False,
15021 'properties': {'Error': {'$ref': '#/definitions/Error'}},
15022 'required': ['Error'],
15024 'ErrorResults': {'additionalProperties': False,
15025 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
15027 'required': ['Results'],
15029 'GetConstraintsResults': {'additionalProperties': False,
15030 'properties': {'Constraints': {'$ref': '#/definitions/Value'}},
15031 'required': ['Constraints'],
15033 'GetServiceConstraints': {'additionalProperties': False,
15034 'properties': {'ServiceName': {'type': 'string'}},
15035 'required': ['ServiceName'],
15037 'Macaroon': {'additionalProperties': False,
15038 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
15040 'data': {'items': {'type': 'integer'},
15042 'id': {'$ref': '#/definitions/packet'},
15043 'location': {'$ref': '#/definitions/packet'},
15044 'sig': {'items': {'type': 'integer'},
15046 'required': ['data',
15052 'Placement': {'additionalProperties': False,
15053 'properties': {'Directive': {'type': 'string'},
15054 'Scope': {'type': 'string'}},
15055 'required': ['Scope', 'Directive'],
15057 'Relation': {'additionalProperties': False,
15058 'properties': {'Interface': {'type': 'string'},
15059 'Limit': {'type': 'integer'},
15060 'Name': {'type': 'string'},
15061 'Optional': {'type': 'boolean'},
15062 'Role': {'type': 'string'},
15063 'Scope': {'type': 'string'}},
15064 'required': ['Name',
15071 'ServiceCharmRelations': {'additionalProperties': False,
15072 'properties': {'ServiceName': {'type': 'string'}},
15073 'required': ['ServiceName'],
15075 'ServiceCharmRelationsResults': {'additionalProperties': False,
15076 'properties': {'CharmRelations': {'items': {'type': 'string'},
15078 'required': ['CharmRelations'],
15080 'ServiceDeploy': {'additionalProperties': False,
15081 'properties': {'Channel': {'type': 'string'},
15082 'CharmUrl': {'type': 'string'},
15083 'Config': {'patternProperties': {'.*': {'type': 'string'}},
15085 'ConfigYAML': {'type': 'string'},
15086 'Constraints': {'$ref': '#/definitions/Value'},
15087 'EndpointBindings': {'patternProperties': {'.*': {'type': 'string'}},
15089 'NumUnits': {'type': 'integer'},
15090 'Placement': {'items': {'$ref': '#/definitions/Placement'},
15092 'Resources': {'patternProperties': {'.*': {'type': 'string'}},
15094 'Series': {'type': 'string'},
15095 'ServiceName': {'type': 'string'},
15096 'Storage': {'patternProperties': {'.*': {'$ref': '#/definitions/Constraints'}},
15097 'type': 'object'}},
15098 'required': ['ServiceName',
15108 'EndpointBindings',
15111 'ServiceDestroy': {'additionalProperties': False,
15112 'properties': {'ServiceName': {'type': 'string'}},
15113 'required': ['ServiceName'],
15115 'ServiceExpose': {'additionalProperties': False,
15116 'properties': {'ServiceName': {'type': 'string'}},
15117 'required': ['ServiceName'],
15119 'ServiceGet': {'additionalProperties': False,
15120 'properties': {'ServiceName': {'type': 'string'}},
15121 'required': ['ServiceName'],
15123 'ServiceGetResults': {'additionalProperties': False,
15124 'properties': {'Charm': {'type': 'string'},
15125 'Config': {'patternProperties': {'.*': {'additionalProperties': True,
15126 'type': 'object'}},
15128 'Constraints': {'$ref': '#/definitions/Value'},
15129 'Service': {'type': 'string'}},
15130 'required': ['Service',
15135 'ServiceMetricCredential': {'additionalProperties': False,
15136 'properties': {'MetricCredentials': {'items': {'type': 'integer'},
15138 'ServiceName': {'type': 'string'}},
15139 'required': ['ServiceName',
15140 'MetricCredentials'],
15142 'ServiceMetricCredentials': {'additionalProperties': False,
15143 'properties': {'Creds': {'items': {'$ref': '#/definitions/ServiceMetricCredential'},
15145 'required': ['Creds'],
15147 'ServiceSet': {'additionalProperties': False,
15148 'properties': {'Options': {'patternProperties': {'.*': {'type': 'string'}},
15150 'ServiceName': {'type': 'string'}},
15151 'required': ['ServiceName', 'Options'],
15153 'ServiceSetCharm': {'additionalProperties': False,
15154 'properties': {'charmurl': {'type': 'string'},
15155 'cs-channel': {'type': 'string'},
15156 'forceseries': {'type': 'boolean'},
15157 'forceunits': {'type': 'boolean'},
15158 'resourceids': {'patternProperties': {'.*': {'type': 'string'}},
15160 'servicename': {'type': 'string'}},
15161 'required': ['servicename',
15168 'ServiceUnexpose': {'additionalProperties': False,
15169 'properties': {'ServiceName': {'type': 'string'}},
15170 'required': ['ServiceName'],
15172 'ServiceUnset': {'additionalProperties': False,
15173 'properties': {'Options': {'items': {'type': 'string'},
15175 'ServiceName': {'type': 'string'}},
15176 'required': ['ServiceName', 'Options'],
15178 'ServiceUpdate': {'additionalProperties': False,
15179 'properties': {'CharmUrl': {'type': 'string'},
15180 'Constraints': {'$ref': '#/definitions/Value'},
15181 'ForceCharmUrl': {'type': 'boolean'},
15182 'ForceSeries': {'type': 'boolean'},
15183 'MinUnits': {'type': 'integer'},
15184 'ServiceName': {'type': 'string'},
15185 'SettingsStrings': {'patternProperties': {'.*': {'type': 'string'}},
15187 'SettingsYAML': {'type': 'string'}},
15188 'required': ['ServiceName',
15197 'ServicesDeploy': {'additionalProperties': False,
15198 'properties': {'Services': {'items': {'$ref': '#/definitions/ServiceDeploy'},
15200 'required': ['Services'],
15202 'SetConstraints': {'additionalProperties': False,
15203 'properties': {'Constraints': {'$ref': '#/definitions/Value'},
15204 'ServiceName': {'type': 'string'}},
15205 'required': ['ServiceName', 'Constraints'],
15207 'StringResult': {'additionalProperties': False,
15208 'properties': {'Error': {'$ref': '#/definitions/Error'},
15209 'Result': {'type': 'string'}},
15210 'required': ['Error', 'Result'],
15212 'Value': {'additionalProperties': False,
15213 'properties': {'arch': {'type': 'string'},
15214 'container': {'type': 'string'},
15215 'cpu-cores': {'type': 'integer'},
15216 'cpu-power': {'type': 'integer'},
15217 'instance-type': {'type': 'string'},
15218 'mem': {'type': 'integer'},
15219 'root-disk': {'type': 'integer'},
15220 'spaces': {'items': {'type': 'string'},
15222 'tags': {'items': {'type': 'string'},
15224 'virt-type': {'type': 'string'}},
15226 'caveat': {'additionalProperties': False,
15227 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
15228 'location': {'$ref': '#/definitions/packet'},
15229 'verificationId': {'$ref': '#/definitions/packet'}},
15230 'required': ['location',
15234 'packet': {'additionalProperties': False,
15235 'properties': {'headerLen': {'type': 'integer'},
15236 'start': {'type': 'integer'},
15237 'totalLen': {'type': 'integer'}},
15238 'required': ['start', 'totalLen', 'headerLen'],
15239 'type': 'object'}},
15240 'properties': {'AddRelation': {'properties': {'Params': {'$ref': '#/definitions/AddRelation'},
15241 'Result': {'$ref': '#/definitions/AddRelationResults'}},
15243 'AddUnits': {'properties': {'Params': {'$ref': '#/definitions/AddServiceUnits'},
15244 'Result': {'$ref': '#/definitions/AddServiceUnitsResults'}},
15246 'CharmRelations': {'properties': {'Params': {'$ref': '#/definitions/ServiceCharmRelations'},
15247 'Result': {'$ref': '#/definitions/ServiceCharmRelationsResults'}},
15249 'Deploy': {'properties': {'Params': {'$ref': '#/definitions/ServicesDeploy'},
15250 'Result': {'$ref': '#/definitions/ErrorResults'}},
15252 'Destroy': {'properties': {'Params': {'$ref': '#/definitions/ServiceDestroy'}},
15254 'DestroyRelation': {'properties': {'Params': {'$ref': '#/definitions/DestroyRelation'}},
15256 'DestroyUnits': {'properties': {'Params': {'$ref': '#/definitions/DestroyServiceUnits'}},
15258 'Expose': {'properties': {'Params': {'$ref': '#/definitions/ServiceExpose'}},
15260 'Get': {'properties': {'Params': {'$ref': '#/definitions/ServiceGet'},
15261 'Result': {'$ref': '#/definitions/ServiceGetResults'}},
15263 'GetCharmURL': {'properties': {'Params': {'$ref': '#/definitions/ServiceGet'},
15264 'Result': {'$ref': '#/definitions/StringResult'}},
15266 'GetConstraints': {'properties': {'Params': {'$ref': '#/definitions/GetServiceConstraints'},
15267 'Result': {'$ref': '#/definitions/GetConstraintsResults'}},
15269 'Set': {'properties': {'Params': {'$ref': '#/definitions/ServiceSet'}},
15271 'SetCharm': {'properties': {'Params': {'$ref': '#/definitions/ServiceSetCharm'}},
15273 'SetConstraints': {'properties': {'Params': {'$ref': '#/definitions/SetConstraints'}},
15275 'SetMetricCredentials': {'properties': {'Params': {'$ref': '#/definitions/ServiceMetricCredentials'},
15276 'Result': {'$ref': '#/definitions/ErrorResults'}},
15278 'Unexpose': {'properties': {'Params': {'$ref': '#/definitions/ServiceUnexpose'}},
15280 'Unset': {'properties': {'Params': {'$ref': '#/definitions/ServiceUnset'}},
15282 'Update': {'properties': {'Params': {'$ref': '#/definitions/ServiceUpdate'}},
15283 'type': 'object'}},
15287 @ReturnMapping(AddRelationResults
)
15288 async def AddRelation(self
, endpoints
):
15290 endpoints : typing.Sequence[str]
15291 Returns -> typing.Mapping[str, ~Relation]
15293 # map input types to rpc msg
15295 msg
= dict(Type
='Service', Request
='AddRelation', Version
=3, Params
=params
)
15296 params
['Endpoints'] = endpoints
15297 reply
= await self
.rpc(msg
)
15302 @ReturnMapping(AddServiceUnitsResults
)
15303 async def AddUnits(self
, numunits
, placement
, servicename
):
15306 placement : typing.Sequence[~Placement]
15308 Returns -> typing.Sequence[str]
15310 # map input types to rpc msg
15312 msg
= dict(Type
='Service', Request
='AddUnits', Version
=3, Params
=params
)
15313 params
['NumUnits'] = numunits
15314 params
['Placement'] = placement
15315 params
['ServiceName'] = servicename
15316 reply
= await self
.rpc(msg
)
15321 @ReturnMapping(ServiceCharmRelationsResults
)
15322 async def CharmRelations(self
, servicename
):
15325 Returns -> typing.Sequence[str]
15327 # map input types to rpc msg
15329 msg
= dict(Type
='Service', Request
='CharmRelations', Version
=3, Params
=params
)
15330 params
['ServiceName'] = servicename
15331 reply
= await self
.rpc(msg
)
15336 @ReturnMapping(ErrorResults
)
15337 async def Deploy(self
, services
):
15339 services : typing.Sequence[~ServiceDeploy]
15340 Returns -> typing.Sequence[~ErrorResult]
15342 # map input types to rpc msg
15344 msg
= dict(Type
='Service', Request
='Deploy', Version
=3, Params
=params
)
15345 params
['Services'] = services
15346 reply
= await self
.rpc(msg
)
15351 @ReturnMapping(None)
15352 async def Destroy(self
, servicename
):
15357 # map input types to rpc msg
15359 msg
= dict(Type
='Service', Request
='Destroy', Version
=3, Params
=params
)
15360 params
['ServiceName'] = servicename
15361 reply
= await self
.rpc(msg
)
15366 @ReturnMapping(None)
15367 async def DestroyRelation(self
, endpoints
):
15369 endpoints : typing.Sequence[str]
15372 # map input types to rpc msg
15374 msg
= dict(Type
='Service', Request
='DestroyRelation', Version
=3, Params
=params
)
15375 params
['Endpoints'] = endpoints
15376 reply
= await self
.rpc(msg
)
15381 @ReturnMapping(None)
15382 async def DestroyUnits(self
, unitnames
):
15384 unitnames : typing.Sequence[str]
15387 # map input types to rpc msg
15389 msg
= dict(Type
='Service', Request
='DestroyUnits', Version
=3, Params
=params
)
15390 params
['UnitNames'] = unitnames
15391 reply
= await self
.rpc(msg
)
15396 @ReturnMapping(None)
15397 async def Expose(self
, servicename
):
15402 # map input types to rpc msg
15404 msg
= dict(Type
='Service', Request
='Expose', Version
=3, Params
=params
)
15405 params
['ServiceName'] = servicename
15406 reply
= await self
.rpc(msg
)
15411 @ReturnMapping(ServiceGetResults
)
15412 async def Get(self
, servicename
):
15415 Returns -> typing.Union[str, typing.Mapping[str, typing.Any], _ForwardRef('Value')]
15417 # map input types to rpc msg
15419 msg
= dict(Type
='Service', Request
='Get', Version
=3, Params
=params
)
15420 params
['ServiceName'] = servicename
15421 reply
= await self
.rpc(msg
)
15426 @ReturnMapping(StringResult
)
15427 async def GetCharmURL(self
, servicename
):
15430 Returns -> typing.Union[_ForwardRef('Error'), str]
15432 # map input types to rpc msg
15434 msg
= dict(Type
='Service', Request
='GetCharmURL', Version
=3, Params
=params
)
15435 params
['ServiceName'] = servicename
15436 reply
= await self
.rpc(msg
)
15441 @ReturnMapping(GetConstraintsResults
)
15442 async def GetConstraints(self
, servicename
):
15447 # map input types to rpc msg
15449 msg
= dict(Type
='Service', Request
='GetConstraints', Version
=3, Params
=params
)
15450 params
['ServiceName'] = servicename
15451 reply
= await self
.rpc(msg
)
15456 @ReturnMapping(None)
15457 async def Set(self
, options
, servicename
):
15459 options : typing.Mapping[str, str]
15463 # map input types to rpc msg
15465 msg
= dict(Type
='Service', Request
='Set', Version
=3, Params
=params
)
15466 params
['Options'] = options
15467 params
['ServiceName'] = servicename
15468 reply
= await self
.rpc(msg
)
15473 @ReturnMapping(None)
15474 async def SetCharm(self
, charmurl
, cs_channel
, forceseries
, forceunits
, resourceids
, servicename
):
15480 resourceids : typing.Mapping[str, str]
15484 # map input types to rpc msg
15486 msg
= dict(Type
='Service', Request
='SetCharm', Version
=3, Params
=params
)
15487 params
['charmurl'] = charmurl
15488 params
['cs-channel'] = cs_channel
15489 params
['forceseries'] = forceseries
15490 params
['forceunits'] = forceunits
15491 params
['resourceids'] = resourceids
15492 params
['servicename'] = servicename
15493 reply
= await self
.rpc(msg
)
15498 @ReturnMapping(None)
15499 async def SetConstraints(self
, constraints
, servicename
):
15501 constraints : Value
15505 # map input types to rpc msg
15507 msg
= dict(Type
='Service', Request
='SetConstraints', Version
=3, Params
=params
)
15508 params
['Constraints'] = constraints
15509 params
['ServiceName'] = servicename
15510 reply
= await self
.rpc(msg
)
15515 @ReturnMapping(ErrorResults
)
15516 async def SetMetricCredentials(self
, creds
):
15518 creds : typing.Sequence[~ServiceMetricCredential]
15519 Returns -> typing.Sequence[~ErrorResult]
15521 # map input types to rpc msg
15523 msg
= dict(Type
='Service', Request
='SetMetricCredentials', Version
=3, Params
=params
)
15524 params
['Creds'] = creds
15525 reply
= await self
.rpc(msg
)
15530 @ReturnMapping(None)
15531 async def Unexpose(self
, servicename
):
15536 # map input types to rpc msg
15538 msg
= dict(Type
='Service', Request
='Unexpose', Version
=3, Params
=params
)
15539 params
['ServiceName'] = servicename
15540 reply
= await self
.rpc(msg
)
15545 @ReturnMapping(None)
15546 async def Unset(self
, options
, servicename
):
15548 options : typing.Sequence[str]
15552 # map input types to rpc msg
15554 msg
= dict(Type
='Service', Request
='Unset', Version
=3, Params
=params
)
15555 params
['Options'] = options
15556 params
['ServiceName'] = servicename
15557 reply
= await self
.rpc(msg
)
15562 @ReturnMapping(None)
15563 async def Update(self
, charmurl
, constraints
, forcecharmurl
, forceseries
, minunits
, servicename
, settingsstrings
, settingsyaml
):
15566 constraints : Value
15567 forcecharmurl : bool
15571 settingsstrings : typing.Mapping[str, str]
15575 # map input types to rpc msg
15577 msg
= dict(Type
='Service', Request
='Update', Version
=3, Params
=params
)
15578 params
['CharmUrl'] = charmurl
15579 params
['Constraints'] = constraints
15580 params
['ForceCharmUrl'] = forcecharmurl
15581 params
['ForceSeries'] = forceseries
15582 params
['MinUnits'] = minunits
15583 params
['ServiceName'] = servicename
15584 params
['SettingsStrings'] = settingsstrings
15585 params
['SettingsYAML'] = settingsyaml
15586 reply
= await self
.rpc(msg
)
15590 class ServiceScaler(Type
):
15591 name
= 'ServiceScaler'
15593 schema
= {'definitions': {'Entities': {'additionalProperties': False,
15594 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
15596 'required': ['Entities'],
15598 'Entity': {'additionalProperties': False,
15599 'properties': {'Tag': {'type': 'string'}},
15600 'required': ['Tag'],
15602 'Error': {'additionalProperties': False,
15603 'properties': {'Code': {'type': 'string'},
15604 'Info': {'$ref': '#/definitions/ErrorInfo'},
15605 'Message': {'type': 'string'}},
15606 'required': ['Message', 'Code'],
15608 'ErrorInfo': {'additionalProperties': False,
15609 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
15610 'MacaroonPath': {'type': 'string'}},
15612 'ErrorResult': {'additionalProperties': False,
15613 'properties': {'Error': {'$ref': '#/definitions/Error'}},
15614 'required': ['Error'],
15616 'ErrorResults': {'additionalProperties': False,
15617 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
15619 'required': ['Results'],
15621 'Macaroon': {'additionalProperties': False,
15622 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
15624 'data': {'items': {'type': 'integer'},
15626 'id': {'$ref': '#/definitions/packet'},
15627 'location': {'$ref': '#/definitions/packet'},
15628 'sig': {'items': {'type': 'integer'},
15630 'required': ['data',
15636 'StringsWatchResult': {'additionalProperties': False,
15637 'properties': {'Changes': {'items': {'type': 'string'},
15639 'Error': {'$ref': '#/definitions/Error'},
15640 'StringsWatcherId': {'type': 'string'}},
15641 'required': ['StringsWatcherId',
15645 'caveat': {'additionalProperties': False,
15646 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
15647 'location': {'$ref': '#/definitions/packet'},
15648 'verificationId': {'$ref': '#/definitions/packet'}},
15649 'required': ['location',
15653 'packet': {'additionalProperties': False,
15654 'properties': {'headerLen': {'type': 'integer'},
15655 'start': {'type': 'integer'},
15656 'totalLen': {'type': 'integer'}},
15657 'required': ['start', 'totalLen', 'headerLen'],
15658 'type': 'object'}},
15659 'properties': {'Rescale': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15660 'Result': {'$ref': '#/definitions/ErrorResults'}},
15662 'Watch': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
15663 'type': 'object'}},
15667 @ReturnMapping(ErrorResults
)
15668 async def Rescale(self
, entities
):
15670 entities : typing.Sequence[~Entity]
15671 Returns -> typing.Sequence[~ErrorResult]
15673 # map input types to rpc msg
15675 msg
= dict(Type
='ServiceScaler', Request
='Rescale', Version
=1, Params
=params
)
15676 params
['Entities'] = entities
15677 reply
= await self
.rpc(msg
)
15682 @ReturnMapping(StringsWatchResult
)
15683 async def Watch(self
):
15686 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
15688 # map input types to rpc msg
15690 msg
= dict(Type
='ServiceScaler', Request
='Watch', Version
=1, Params
=params
)
15692 reply
= await self
.rpc(msg
)
15696 class Singular(Type
):
15699 schema
= {'definitions': {'Entities': {'additionalProperties': False,
15700 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
15702 'required': ['Entities'],
15704 'Entity': {'additionalProperties': False,
15705 'properties': {'Tag': {'type': 'string'}},
15706 'required': ['Tag'],
15708 'Error': {'additionalProperties': False,
15709 'properties': {'Code': {'type': 'string'},
15710 'Info': {'$ref': '#/definitions/ErrorInfo'},
15711 'Message': {'type': 'string'}},
15712 'required': ['Message', 'Code'],
15714 'ErrorInfo': {'additionalProperties': False,
15715 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
15716 'MacaroonPath': {'type': 'string'}},
15718 'ErrorResult': {'additionalProperties': False,
15719 'properties': {'Error': {'$ref': '#/definitions/Error'}},
15720 'required': ['Error'],
15722 'ErrorResults': {'additionalProperties': False,
15723 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
15725 'required': ['Results'],
15727 'Macaroon': {'additionalProperties': False,
15728 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
15730 'data': {'items': {'type': 'integer'},
15732 'id': {'$ref': '#/definitions/packet'},
15733 'location': {'$ref': '#/definitions/packet'},
15734 'sig': {'items': {'type': 'integer'},
15736 'required': ['data',
15742 'SingularClaim': {'additionalProperties': False,
15743 'properties': {'ControllerTag': {'type': 'string'},
15744 'Duration': {'type': 'integer'},
15745 'ModelTag': {'type': 'string'}},
15746 'required': ['ModelTag',
15750 'SingularClaims': {'additionalProperties': False,
15751 'properties': {'Claims': {'items': {'$ref': '#/definitions/SingularClaim'},
15753 'required': ['Claims'],
15755 'caveat': {'additionalProperties': False,
15756 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
15757 'location': {'$ref': '#/definitions/packet'},
15758 'verificationId': {'$ref': '#/definitions/packet'}},
15759 'required': ['location',
15763 'packet': {'additionalProperties': False,
15764 'properties': {'headerLen': {'type': 'integer'},
15765 'start': {'type': 'integer'},
15766 'totalLen': {'type': 'integer'}},
15767 'required': ['start', 'totalLen', 'headerLen'],
15768 'type': 'object'}},
15769 'properties': {'Claim': {'properties': {'Params': {'$ref': '#/definitions/SingularClaims'},
15770 'Result': {'$ref': '#/definitions/ErrorResults'}},
15772 'Wait': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15773 'Result': {'$ref': '#/definitions/ErrorResults'}},
15774 'type': 'object'}},
15778 @ReturnMapping(ErrorResults
)
15779 async def Claim(self
, claims
):
15781 claims : typing.Sequence[~SingularClaim]
15782 Returns -> typing.Sequence[~ErrorResult]
15784 # map input types to rpc msg
15786 msg
= dict(Type
='Singular', Request
='Claim', Version
=1, Params
=params
)
15787 params
['Claims'] = claims
15788 reply
= await self
.rpc(msg
)
15793 @ReturnMapping(ErrorResults
)
15794 async def Wait(self
, entities
):
15796 entities : typing.Sequence[~Entity]
15797 Returns -> typing.Sequence[~ErrorResult]
15799 # map input types to rpc msg
15801 msg
= dict(Type
='Singular', Request
='Wait', Version
=1, Params
=params
)
15802 params
['Entities'] = entities
15803 reply
= await self
.rpc(msg
)
15807 class Spaces(Type
):
15810 schema
= {'definitions': {'CreateSpaceParams': {'additionalProperties': False,
15811 'properties': {'ProviderId': {'type': 'string'},
15812 'Public': {'type': 'boolean'},
15813 'SpaceTag': {'type': 'string'},
15814 'SubnetTags': {'items': {'type': 'string'},
15816 'required': ['SubnetTags',
15820 'CreateSpacesParams': {'additionalProperties': False,
15821 'properties': {'Spaces': {'items': {'$ref': '#/definitions/CreateSpaceParams'},
15823 'required': ['Spaces'],
15825 'Error': {'additionalProperties': False,
15826 'properties': {'Code': {'type': 'string'},
15827 'Info': {'$ref': '#/definitions/ErrorInfo'},
15828 'Message': {'type': 'string'}},
15829 'required': ['Message', 'Code'],
15831 'ErrorInfo': {'additionalProperties': False,
15832 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
15833 'MacaroonPath': {'type': 'string'}},
15835 'ErrorResult': {'additionalProperties': False,
15836 'properties': {'Error': {'$ref': '#/definitions/Error'}},
15837 'required': ['Error'],
15839 'ErrorResults': {'additionalProperties': False,
15840 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
15842 'required': ['Results'],
15844 'ListSpacesResults': {'additionalProperties': False,
15845 'properties': {'Results': {'items': {'$ref': '#/definitions/Space'},
15847 'required': ['Results'],
15849 'Macaroon': {'additionalProperties': False,
15850 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
15852 'data': {'items': {'type': 'integer'},
15854 'id': {'$ref': '#/definitions/packet'},
15855 'location': {'$ref': '#/definitions/packet'},
15856 'sig': {'items': {'type': 'integer'},
15858 'required': ['data',
15864 'Space': {'additionalProperties': False,
15865 'properties': {'Error': {'$ref': '#/definitions/Error'},
15866 'Name': {'type': 'string'},
15867 'Subnets': {'items': {'$ref': '#/definitions/Subnet'},
15869 'required': ['Name', 'Subnets'],
15871 'Subnet': {'additionalProperties': False,
15872 'properties': {'CIDR': {'type': 'string'},
15873 'Life': {'type': 'string'},
15874 'ProviderId': {'type': 'string'},
15875 'SpaceTag': {'type': 'string'},
15876 'StaticRangeHighIP': {'items': {'type': 'integer'},
15878 'StaticRangeLowIP': {'items': {'type': 'integer'},
15880 'Status': {'type': 'string'},
15881 'VLANTag': {'type': 'integer'},
15882 'Zones': {'items': {'type': 'string'},
15884 'required': ['CIDR',
15890 'caveat': {'additionalProperties': False,
15891 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
15892 'location': {'$ref': '#/definitions/packet'},
15893 'verificationId': {'$ref': '#/definitions/packet'}},
15894 'required': ['location',
15898 'packet': {'additionalProperties': False,
15899 'properties': {'headerLen': {'type': 'integer'},
15900 'start': {'type': 'integer'},
15901 'totalLen': {'type': 'integer'}},
15902 'required': ['start', 'totalLen', 'headerLen'],
15903 'type': 'object'}},
15904 'properties': {'CreateSpaces': {'properties': {'Params': {'$ref': '#/definitions/CreateSpacesParams'},
15905 'Result': {'$ref': '#/definitions/ErrorResults'}},
15907 'ListSpaces': {'properties': {'Result': {'$ref': '#/definitions/ListSpacesResults'}},
15908 'type': 'object'}},
15912 @ReturnMapping(ErrorResults
)
15913 async def CreateSpaces(self
, spaces
):
15915 spaces : typing.Sequence[~CreateSpaceParams]
15916 Returns -> typing.Sequence[~ErrorResult]
15918 # map input types to rpc msg
15920 msg
= dict(Type
='Spaces', Request
='CreateSpaces', Version
=2, Params
=params
)
15921 params
['Spaces'] = spaces
15922 reply
= await self
.rpc(msg
)
15927 @ReturnMapping(ListSpacesResults
)
15928 async def ListSpaces(self
):
15931 Returns -> typing.Sequence[~Space]
15933 # map input types to rpc msg
15935 msg
= dict(Type
='Spaces', Request
='ListSpaces', Version
=2, Params
=params
)
15937 reply
= await self
.rpc(msg
)
15941 class StatusHistory(Type
):
15942 name
= 'StatusHistory'
15944 schema
= {'definitions': {'StatusHistoryPruneArgs': {'additionalProperties': False,
15945 'properties': {'MaxLogsPerEntity': {'type': 'integer'}},
15946 'required': ['MaxLogsPerEntity'],
15947 'type': 'object'}},
15948 'properties': {'Prune': {'properties': {'Params': {'$ref': '#/definitions/StatusHistoryPruneArgs'}},
15949 'type': 'object'}},
15953 @ReturnMapping(None)
15954 async def Prune(self
, maxlogsperentity
):
15956 maxlogsperentity : int
15959 # map input types to rpc msg
15961 msg
= dict(Type
='StatusHistory', Request
='Prune', Version
=2, Params
=params
)
15962 params
['MaxLogsPerEntity'] = maxlogsperentity
15963 reply
= await self
.rpc(msg
)
15967 class Storage(Type
):
15970 schema
= {'definitions': {'Entities': {'additionalProperties': False,
15971 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
15973 'required': ['Entities'],
15975 'Entity': {'additionalProperties': False,
15976 'properties': {'Tag': {'type': 'string'}},
15977 'required': ['Tag'],
15979 'EntityStatus': {'additionalProperties': False,
15980 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
15981 'type': 'object'}},
15983 'Info': {'type': 'string'},
15984 'Since': {'format': 'date-time',
15986 'Status': {'type': 'string'}},
15987 'required': ['Status',
15992 'Error': {'additionalProperties': False,
15993 'properties': {'Code': {'type': 'string'},
15994 'Info': {'$ref': '#/definitions/ErrorInfo'},
15995 'Message': {'type': 'string'}},
15996 'required': ['Message', 'Code'],
15998 'ErrorInfo': {'additionalProperties': False,
15999 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
16000 'MacaroonPath': {'type': 'string'}},
16002 'ErrorResult': {'additionalProperties': False,
16003 'properties': {'Error': {'$ref': '#/definitions/Error'}},
16004 'required': ['Error'],
16006 'ErrorResults': {'additionalProperties': False,
16007 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
16009 'required': ['Results'],
16011 'FilesystemAttachmentInfo': {'additionalProperties': False,
16012 'properties': {'mountpoint': {'type': 'string'},
16013 'read-only': {'type': 'boolean'}},
16015 'FilesystemDetails': {'additionalProperties': False,
16016 'properties': {'filesystemtag': {'type': 'string'},
16017 'info': {'$ref': '#/definitions/FilesystemInfo'},
16018 'machineattachments': {'patternProperties': {'.*': {'$ref': '#/definitions/FilesystemAttachmentInfo'}},
16020 'status': {'$ref': '#/definitions/EntityStatus'},
16021 'storage': {'$ref': '#/definitions/StorageDetails'},
16022 'volumetag': {'type': 'string'}},
16023 'required': ['filesystemtag',
16027 'FilesystemDetailsListResult': {'additionalProperties': False,
16028 'properties': {'error': {'$ref': '#/definitions/Error'},
16029 'result': {'items': {'$ref': '#/definitions/FilesystemDetails'},
16032 'FilesystemDetailsListResults': {'additionalProperties': False,
16033 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemDetailsListResult'},
16036 'FilesystemFilter': {'additionalProperties': False,
16037 'properties': {'machines': {'items': {'type': 'string'},
16040 'FilesystemFilters': {'additionalProperties': False,
16041 'properties': {'filters': {'items': {'$ref': '#/definitions/FilesystemFilter'},
16044 'FilesystemInfo': {'additionalProperties': False,
16045 'properties': {'filesystemid': {'type': 'string'},
16046 'size': {'type': 'integer'}},
16047 'required': ['filesystemid', 'size'],
16049 'Macaroon': {'additionalProperties': False,
16050 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
16052 'data': {'items': {'type': 'integer'},
16054 'id': {'$ref': '#/definitions/packet'},
16055 'location': {'$ref': '#/definitions/packet'},
16056 'sig': {'items': {'type': 'integer'},
16058 'required': ['data',
16064 'StorageAddParams': {'additionalProperties': False,
16065 'properties': {'StorageName': {'type': 'string'},
16066 'storage': {'$ref': '#/definitions/StorageConstraints'},
16067 'unit': {'type': 'string'}},
16068 'required': ['unit',
16072 'StorageAttachmentDetails': {'additionalProperties': False,
16073 'properties': {'location': {'type': 'string'},
16074 'machinetag': {'type': 'string'},
16075 'storagetag': {'type': 'string'},
16076 'unittag': {'type': 'string'}},
16077 'required': ['storagetag',
16081 'StorageConstraints': {'additionalProperties': False,
16082 'properties': {'Count': {'type': 'integer'},
16083 'Pool': {'type': 'string'},
16084 'Size': {'type': 'integer'}},
16085 'required': ['Pool', 'Size', 'Count'],
16087 'StorageDetails': {'additionalProperties': False,
16088 'properties': {'Persistent': {'type': 'boolean'},
16089 'attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/StorageAttachmentDetails'}},
16091 'kind': {'type': 'integer'},
16092 'ownertag': {'type': 'string'},
16093 'status': {'$ref': '#/definitions/EntityStatus'},
16094 'storagetag': {'type': 'string'}},
16095 'required': ['storagetag',
16101 'StorageDetailsListResult': {'additionalProperties': False,
16102 'properties': {'error': {'$ref': '#/definitions/Error'},
16103 'result': {'items': {'$ref': '#/definitions/StorageDetails'},
16106 'StorageDetailsListResults': {'additionalProperties': False,
16107 'properties': {'results': {'items': {'$ref': '#/definitions/StorageDetailsListResult'},
16110 'StorageDetailsResult': {'additionalProperties': False,
16111 'properties': {'error': {'$ref': '#/definitions/Error'},
16112 'result': {'$ref': '#/definitions/StorageDetails'}},
16114 'StorageDetailsResults': {'additionalProperties': False,
16115 'properties': {'results': {'items': {'$ref': '#/definitions/StorageDetailsResult'},
16118 'StorageFilter': {'additionalProperties': False,
16120 'StorageFilters': {'additionalProperties': False,
16121 'properties': {'filters': {'items': {'$ref': '#/definitions/StorageFilter'},
16124 'StoragePool': {'additionalProperties': False,
16125 'properties': {'attrs': {'patternProperties': {'.*': {'additionalProperties': True,
16126 'type': 'object'}},
16128 'name': {'type': 'string'},
16129 'provider': {'type': 'string'}},
16130 'required': ['name', 'provider', 'attrs'],
16132 'StoragePoolFilter': {'additionalProperties': False,
16133 'properties': {'names': {'items': {'type': 'string'},
16135 'providers': {'items': {'type': 'string'},
16138 'StoragePoolFilters': {'additionalProperties': False,
16139 'properties': {'filters': {'items': {'$ref': '#/definitions/StoragePoolFilter'},
16142 'StoragePoolsResult': {'additionalProperties': False,
16143 'properties': {'error': {'$ref': '#/definitions/Error'},
16144 'storagepools': {'items': {'$ref': '#/definitions/StoragePool'},
16147 'StoragePoolsResults': {'additionalProperties': False,
16148 'properties': {'results': {'items': {'$ref': '#/definitions/StoragePoolsResult'},
16151 'StoragesAddParams': {'additionalProperties': False,
16152 'properties': {'storages': {'items': {'$ref': '#/definitions/StorageAddParams'},
16154 'required': ['storages'],
16156 'VolumeAttachmentInfo': {'additionalProperties': False,
16157 'properties': {'busaddress': {'type': 'string'},
16158 'devicelink': {'type': 'string'},
16159 'devicename': {'type': 'string'},
16160 'read-only': {'type': 'boolean'}},
16162 'VolumeDetails': {'additionalProperties': False,
16163 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
16164 'machineattachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentInfo'}},
16166 'status': {'$ref': '#/definitions/EntityStatus'},
16167 'storage': {'$ref': '#/definitions/StorageDetails'},
16168 'volumetag': {'type': 'string'}},
16169 'required': ['volumetag', 'info', 'status'],
16171 'VolumeDetailsListResult': {'additionalProperties': False,
16172 'properties': {'error': {'$ref': '#/definitions/Error'},
16173 'result': {'items': {'$ref': '#/definitions/VolumeDetails'},
16176 'VolumeDetailsListResults': {'additionalProperties': False,
16177 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeDetailsListResult'},
16180 'VolumeFilter': {'additionalProperties': False,
16181 'properties': {'machines': {'items': {'type': 'string'},
16184 'VolumeFilters': {'additionalProperties': False,
16185 'properties': {'filters': {'items': {'$ref': '#/definitions/VolumeFilter'},
16188 'VolumeInfo': {'additionalProperties': False,
16189 'properties': {'hardwareid': {'type': 'string'},
16190 'persistent': {'type': 'boolean'},
16191 'size': {'type': 'integer'},
16192 'volumeid': {'type': 'string'}},
16193 'required': ['volumeid', 'size', 'persistent'],
16195 'caveat': {'additionalProperties': False,
16196 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
16197 'location': {'$ref': '#/definitions/packet'},
16198 'verificationId': {'$ref': '#/definitions/packet'}},
16199 'required': ['location',
16203 'packet': {'additionalProperties': False,
16204 'properties': {'headerLen': {'type': 'integer'},
16205 'start': {'type': 'integer'},
16206 'totalLen': {'type': 'integer'}},
16207 'required': ['start', 'totalLen', 'headerLen'],
16208 'type': 'object'}},
16209 'properties': {'AddToUnit': {'properties': {'Params': {'$ref': '#/definitions/StoragesAddParams'},
16210 'Result': {'$ref': '#/definitions/ErrorResults'}},
16212 'CreatePool': {'properties': {'Params': {'$ref': '#/definitions/StoragePool'}},
16214 'ListFilesystems': {'properties': {'Params': {'$ref': '#/definitions/FilesystemFilters'},
16215 'Result': {'$ref': '#/definitions/FilesystemDetailsListResults'}},
16217 'ListPools': {'properties': {'Params': {'$ref': '#/definitions/StoragePoolFilters'},
16218 'Result': {'$ref': '#/definitions/StoragePoolsResults'}},
16220 'ListStorageDetails': {'properties': {'Params': {'$ref': '#/definitions/StorageFilters'},
16221 'Result': {'$ref': '#/definitions/StorageDetailsListResults'}},
16223 'ListVolumes': {'properties': {'Params': {'$ref': '#/definitions/VolumeFilters'},
16224 'Result': {'$ref': '#/definitions/VolumeDetailsListResults'}},
16226 'StorageDetails': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16227 'Result': {'$ref': '#/definitions/StorageDetailsResults'}},
16228 'type': 'object'}},
16232 @ReturnMapping(ErrorResults
)
16233 async def AddToUnit(self
, storages
):
16235 storages : typing.Sequence[~StorageAddParams]
16236 Returns -> typing.Sequence[~ErrorResult]
16238 # map input types to rpc msg
16240 msg
= dict(Type
='Storage', Request
='AddToUnit', Version
=2, Params
=params
)
16241 params
['storages'] = storages
16242 reply
= await self
.rpc(msg
)
16247 @ReturnMapping(None)
16248 async def CreatePool(self
, attrs
, name
, provider
):
16250 attrs : typing.Mapping[str, typing.Any]
16255 # map input types to rpc msg
16257 msg
= dict(Type
='Storage', Request
='CreatePool', Version
=2, Params
=params
)
16258 params
['attrs'] = attrs
16259 params
['name'] = name
16260 params
['provider'] = provider
16261 reply
= await self
.rpc(msg
)
16266 @ReturnMapping(FilesystemDetailsListResults
)
16267 async def ListFilesystems(self
, filters
):
16269 filters : typing.Sequence[~FilesystemFilter]
16270 Returns -> typing.Sequence[~FilesystemDetailsListResult]
16272 # map input types to rpc msg
16274 msg
= dict(Type
='Storage', Request
='ListFilesystems', Version
=2, Params
=params
)
16275 params
['filters'] = filters
16276 reply
= await self
.rpc(msg
)
16281 @ReturnMapping(StoragePoolsResults
)
16282 async def ListPools(self
, filters
):
16284 filters : typing.Sequence[~StoragePoolFilter]
16285 Returns -> typing.Sequence[~StoragePoolsResult]
16287 # map input types to rpc msg
16289 msg
= dict(Type
='Storage', Request
='ListPools', Version
=2, Params
=params
)
16290 params
['filters'] = filters
16291 reply
= await self
.rpc(msg
)
16296 @ReturnMapping(StorageDetailsListResults
)
16297 async def ListStorageDetails(self
, filters
):
16299 filters : typing.Sequence[~StorageFilter]
16300 Returns -> typing.Sequence[~StorageDetailsListResult]
16302 # map input types to rpc msg
16304 msg
= dict(Type
='Storage', Request
='ListStorageDetails', Version
=2, Params
=params
)
16305 params
['filters'] = filters
16306 reply
= await self
.rpc(msg
)
16311 @ReturnMapping(VolumeDetailsListResults
)
16312 async def ListVolumes(self
, filters
):
16314 filters : typing.Sequence[~VolumeFilter]
16315 Returns -> typing.Sequence[~VolumeDetailsListResult]
16317 # map input types to rpc msg
16319 msg
= dict(Type
='Storage', Request
='ListVolumes', Version
=2, Params
=params
)
16320 params
['filters'] = filters
16321 reply
= await self
.rpc(msg
)
16326 @ReturnMapping(StorageDetailsResults
)
16327 async def StorageDetails(self
, entities
):
16329 entities : typing.Sequence[~Entity]
16330 Returns -> typing.Sequence[~StorageDetailsResult]
16332 # map input types to rpc msg
16334 msg
= dict(Type
='Storage', Request
='StorageDetails', Version
=2, Params
=params
)
16335 params
['Entities'] = entities
16336 reply
= await self
.rpc(msg
)
16340 class StorageProvisioner(Type
):
16341 name
= 'StorageProvisioner'
16343 schema
= {'definitions': {'BlockDevice': {'additionalProperties': False,
16344 'properties': {'BusAddress': {'type': 'string'},
16345 'DeviceLinks': {'items': {'type': 'string'},
16347 'DeviceName': {'type': 'string'},
16348 'FilesystemType': {'type': 'string'},
16349 'HardwareId': {'type': 'string'},
16350 'InUse': {'type': 'boolean'},
16351 'Label': {'type': 'string'},
16352 'MountPoint': {'type': 'string'},
16353 'Size': {'type': 'integer'},
16354 'UUID': {'type': 'string'}},
16355 'required': ['DeviceName',
16366 'BlockDeviceResult': {'additionalProperties': False,
16367 'properties': {'error': {'$ref': '#/definitions/Error'},
16368 'result': {'$ref': '#/definitions/BlockDevice'}},
16369 'required': ['result'],
16371 'BlockDeviceResults': {'additionalProperties': False,
16372 'properties': {'results': {'items': {'$ref': '#/definitions/BlockDeviceResult'},
16375 'Entities': {'additionalProperties': False,
16376 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
16378 'required': ['Entities'],
16380 'Entity': {'additionalProperties': False,
16381 'properties': {'Tag': {'type': 'string'}},
16382 'required': ['Tag'],
16384 'EntityStatusArgs': {'additionalProperties': False,
16385 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
16386 'type': 'object'}},
16388 'Info': {'type': 'string'},
16389 'Status': {'type': 'string'},
16390 'Tag': {'type': 'string'}},
16391 'required': ['Tag',
16396 'Error': {'additionalProperties': False,
16397 'properties': {'Code': {'type': 'string'},
16398 'Info': {'$ref': '#/definitions/ErrorInfo'},
16399 'Message': {'type': 'string'}},
16400 'required': ['Message', 'Code'],
16402 'ErrorInfo': {'additionalProperties': False,
16403 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
16404 'MacaroonPath': {'type': 'string'}},
16406 'ErrorResult': {'additionalProperties': False,
16407 'properties': {'Error': {'$ref': '#/definitions/Error'}},
16408 'required': ['Error'],
16410 'ErrorResults': {'additionalProperties': False,
16411 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
16413 'required': ['Results'],
16415 'Filesystem': {'additionalProperties': False,
16416 'properties': {'filesystemtag': {'type': 'string'},
16417 'info': {'$ref': '#/definitions/FilesystemInfo'},
16418 'volumetag': {'type': 'string'}},
16419 'required': ['filesystemtag', 'info'],
16421 'FilesystemAttachment': {'additionalProperties': False,
16422 'properties': {'filesystemtag': {'type': 'string'},
16423 'info': {'$ref': '#/definitions/FilesystemAttachmentInfo'},
16424 'machinetag': {'type': 'string'}},
16425 'required': ['filesystemtag',
16429 'FilesystemAttachmentInfo': {'additionalProperties': False,
16430 'properties': {'mountpoint': {'type': 'string'},
16431 'read-only': {'type': 'boolean'}},
16433 'FilesystemAttachmentParams': {'additionalProperties': False,
16434 'properties': {'filesystemid': {'type': 'string'},
16435 'filesystemtag': {'type': 'string'},
16436 'instanceid': {'type': 'string'},
16437 'machinetag': {'type': 'string'},
16438 'mountpoint': {'type': 'string'},
16439 'provider': {'type': 'string'},
16440 'read-only': {'type': 'boolean'}},
16441 'required': ['filesystemtag',
16445 'FilesystemAttachmentParamsResult': {'additionalProperties': False,
16446 'properties': {'error': {'$ref': '#/definitions/Error'},
16447 'result': {'$ref': '#/definitions/FilesystemAttachmentParams'}},
16448 'required': ['result'],
16450 'FilesystemAttachmentParamsResults': {'additionalProperties': False,
16451 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemAttachmentParamsResult'},
16454 'FilesystemAttachmentResult': {'additionalProperties': False,
16455 'properties': {'error': {'$ref': '#/definitions/Error'},
16456 'result': {'$ref': '#/definitions/FilesystemAttachment'}},
16457 'required': ['result'],
16459 'FilesystemAttachmentResults': {'additionalProperties': False,
16460 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemAttachmentResult'},
16463 'FilesystemAttachments': {'additionalProperties': False,
16464 'properties': {'filesystemattachments': {'items': {'$ref': '#/definitions/FilesystemAttachment'},
16466 'required': ['filesystemattachments'],
16468 'FilesystemInfo': {'additionalProperties': False,
16469 'properties': {'filesystemid': {'type': 'string'},
16470 'size': {'type': 'integer'}},
16471 'required': ['filesystemid', 'size'],
16473 'FilesystemParams': {'additionalProperties': False,
16474 'properties': {'attachment': {'$ref': '#/definitions/FilesystemAttachmentParams'},
16475 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
16476 'type': 'object'}},
16478 'filesystemtag': {'type': 'string'},
16479 'provider': {'type': 'string'},
16480 'size': {'type': 'integer'},
16481 'tags': {'patternProperties': {'.*': {'type': 'string'}},
16483 'volumetag': {'type': 'string'}},
16484 'required': ['filesystemtag',
16488 'FilesystemParamsResult': {'additionalProperties': False,
16489 'properties': {'error': {'$ref': '#/definitions/Error'},
16490 'result': {'$ref': '#/definitions/FilesystemParams'}},
16491 'required': ['result'],
16493 'FilesystemParamsResults': {'additionalProperties': False,
16494 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemParamsResult'},
16497 'FilesystemResult': {'additionalProperties': False,
16498 'properties': {'error': {'$ref': '#/definitions/Error'},
16499 'result': {'$ref': '#/definitions/Filesystem'}},
16500 'required': ['result'],
16502 'FilesystemResults': {'additionalProperties': False,
16503 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemResult'},
16506 'Filesystems': {'additionalProperties': False,
16507 'properties': {'filesystems': {'items': {'$ref': '#/definitions/Filesystem'},
16509 'required': ['filesystems'],
16511 'LifeResult': {'additionalProperties': False,
16512 'properties': {'Error': {'$ref': '#/definitions/Error'},
16513 'Life': {'type': 'string'}},
16514 'required': ['Life', 'Error'],
16516 'LifeResults': {'additionalProperties': False,
16517 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
16519 'required': ['Results'],
16521 'Macaroon': {'additionalProperties': False,
16522 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
16524 'data': {'items': {'type': 'integer'},
16526 'id': {'$ref': '#/definitions/packet'},
16527 'location': {'$ref': '#/definitions/packet'},
16528 'sig': {'items': {'type': 'integer'},
16530 'required': ['data',
16536 'MachineStorageId': {'additionalProperties': False,
16537 'properties': {'attachmenttag': {'type': 'string'},
16538 'machinetag': {'type': 'string'}},
16539 'required': ['machinetag',
16542 'MachineStorageIds': {'additionalProperties': False,
16543 'properties': {'ids': {'items': {'$ref': '#/definitions/MachineStorageId'},
16545 'required': ['ids'],
16547 'MachineStorageIdsWatchResult': {'additionalProperties': False,
16548 'properties': {'Changes': {'items': {'$ref': '#/definitions/MachineStorageId'},
16550 'Error': {'$ref': '#/definitions/Error'},
16551 'MachineStorageIdsWatcherId': {'type': 'string'}},
16552 'required': ['MachineStorageIdsWatcherId',
16556 'MachineStorageIdsWatchResults': {'additionalProperties': False,
16557 'properties': {'Results': {'items': {'$ref': '#/definitions/MachineStorageIdsWatchResult'},
16559 'required': ['Results'],
16561 'ModelConfigResult': {'additionalProperties': False,
16562 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
16563 'type': 'object'}},
16564 'type': 'object'}},
16565 'required': ['Config'],
16567 'NotifyWatchResult': {'additionalProperties': False,
16568 'properties': {'Error': {'$ref': '#/definitions/Error'},
16569 'NotifyWatcherId': {'type': 'string'}},
16570 'required': ['NotifyWatcherId', 'Error'],
16572 'NotifyWatchResults': {'additionalProperties': False,
16573 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
16575 'required': ['Results'],
16577 'SetStatus': {'additionalProperties': False,
16578 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
16580 'required': ['Entities'],
16582 'StringResult': {'additionalProperties': False,
16583 'properties': {'Error': {'$ref': '#/definitions/Error'},
16584 'Result': {'type': 'string'}},
16585 'required': ['Error', 'Result'],
16587 'StringResults': {'additionalProperties': False,
16588 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'},
16590 'required': ['Results'],
16592 'StringsWatchResult': {'additionalProperties': False,
16593 'properties': {'Changes': {'items': {'type': 'string'},
16595 'Error': {'$ref': '#/definitions/Error'},
16596 'StringsWatcherId': {'type': 'string'}},
16597 'required': ['StringsWatcherId',
16601 'StringsWatchResults': {'additionalProperties': False,
16602 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
16604 'required': ['Results'],
16606 'Volume': {'additionalProperties': False,
16607 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
16608 'volumetag': {'type': 'string'}},
16609 'required': ['volumetag', 'info'],
16611 'VolumeAttachment': {'additionalProperties': False,
16612 'properties': {'info': {'$ref': '#/definitions/VolumeAttachmentInfo'},
16613 'machinetag': {'type': 'string'},
16614 'volumetag': {'type': 'string'}},
16615 'required': ['volumetag',
16619 'VolumeAttachmentInfo': {'additionalProperties': False,
16620 'properties': {'busaddress': {'type': 'string'},
16621 'devicelink': {'type': 'string'},
16622 'devicename': {'type': 'string'},
16623 'read-only': {'type': 'boolean'}},
16625 'VolumeAttachmentParams': {'additionalProperties': False,
16626 'properties': {'instanceid': {'type': 'string'},
16627 'machinetag': {'type': 'string'},
16628 'provider': {'type': 'string'},
16629 'read-only': {'type': 'boolean'},
16630 'volumeid': {'type': 'string'},
16631 'volumetag': {'type': 'string'}},
16632 'required': ['volumetag',
16636 'VolumeAttachmentParamsResult': {'additionalProperties': False,
16637 'properties': {'error': {'$ref': '#/definitions/Error'},
16638 'result': {'$ref': '#/definitions/VolumeAttachmentParams'}},
16639 'required': ['result'],
16641 'VolumeAttachmentParamsResults': {'additionalProperties': False,
16642 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeAttachmentParamsResult'},
16645 'VolumeAttachmentResult': {'additionalProperties': False,
16646 'properties': {'error': {'$ref': '#/definitions/Error'},
16647 'result': {'$ref': '#/definitions/VolumeAttachment'}},
16648 'required': ['result'],
16650 'VolumeAttachmentResults': {'additionalProperties': False,
16651 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeAttachmentResult'},
16654 'VolumeAttachments': {'additionalProperties': False,
16655 'properties': {'volumeattachments': {'items': {'$ref': '#/definitions/VolumeAttachment'},
16657 'required': ['volumeattachments'],
16659 'VolumeInfo': {'additionalProperties': False,
16660 'properties': {'hardwareid': {'type': 'string'},
16661 'persistent': {'type': 'boolean'},
16662 'size': {'type': 'integer'},
16663 'volumeid': {'type': 'string'}},
16664 'required': ['volumeid', 'size', 'persistent'],
16666 'VolumeParams': {'additionalProperties': False,
16667 'properties': {'attachment': {'$ref': '#/definitions/VolumeAttachmentParams'},
16668 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
16669 'type': 'object'}},
16671 'provider': {'type': 'string'},
16672 'size': {'type': 'integer'},
16673 'tags': {'patternProperties': {'.*': {'type': 'string'}},
16675 'volumetag': {'type': 'string'}},
16676 'required': ['volumetag', 'size', 'provider'],
16678 'VolumeParamsResult': {'additionalProperties': False,
16679 'properties': {'error': {'$ref': '#/definitions/Error'},
16680 'result': {'$ref': '#/definitions/VolumeParams'}},
16681 'required': ['result'],
16683 'VolumeParamsResults': {'additionalProperties': False,
16684 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeParamsResult'},
16687 'VolumeResult': {'additionalProperties': False,
16688 'properties': {'error': {'$ref': '#/definitions/Error'},
16689 'result': {'$ref': '#/definitions/Volume'}},
16690 'required': ['result'],
16692 'VolumeResults': {'additionalProperties': False,
16693 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeResult'},
16696 'Volumes': {'additionalProperties': False,
16697 'properties': {'volumes': {'items': {'$ref': '#/definitions/Volume'},
16699 'required': ['volumes'],
16701 'caveat': {'additionalProperties': False,
16702 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
16703 'location': {'$ref': '#/definitions/packet'},
16704 'verificationId': {'$ref': '#/definitions/packet'}},
16705 'required': ['location',
16709 'packet': {'additionalProperties': False,
16710 'properties': {'headerLen': {'type': 'integer'},
16711 'start': {'type': 'integer'},
16712 'totalLen': {'type': 'integer'}},
16713 'required': ['start', 'totalLen', 'headerLen'],
16714 'type': 'object'}},
16715 'properties': {'AttachmentLife': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16716 'Result': {'$ref': '#/definitions/LifeResults'}},
16718 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16719 'Result': {'$ref': '#/definitions/ErrorResults'}},
16721 'FilesystemAttachmentParams': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16722 'Result': {'$ref': '#/definitions/FilesystemAttachmentParamsResults'}},
16724 'FilesystemAttachments': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16725 'Result': {'$ref': '#/definitions/FilesystemAttachmentResults'}},
16727 'FilesystemParams': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16728 'Result': {'$ref': '#/definitions/FilesystemParamsResults'}},
16730 'Filesystems': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16731 'Result': {'$ref': '#/definitions/FilesystemResults'}},
16733 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16734 'Result': {'$ref': '#/definitions/StringResults'}},
16736 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16737 'Result': {'$ref': '#/definitions/LifeResults'}},
16739 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
16741 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16742 'Result': {'$ref': '#/definitions/ErrorResults'}},
16744 'RemoveAttachment': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16745 'Result': {'$ref': '#/definitions/ErrorResults'}},
16747 'SetFilesystemAttachmentInfo': {'properties': {'Params': {'$ref': '#/definitions/FilesystemAttachments'},
16748 'Result': {'$ref': '#/definitions/ErrorResults'}},
16750 'SetFilesystemInfo': {'properties': {'Params': {'$ref': '#/definitions/Filesystems'},
16751 'Result': {'$ref': '#/definitions/ErrorResults'}},
16753 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
16754 'Result': {'$ref': '#/definitions/ErrorResults'}},
16756 'SetVolumeAttachmentInfo': {'properties': {'Params': {'$ref': '#/definitions/VolumeAttachments'},
16757 'Result': {'$ref': '#/definitions/ErrorResults'}},
16759 'SetVolumeInfo': {'properties': {'Params': {'$ref': '#/definitions/Volumes'},
16760 'Result': {'$ref': '#/definitions/ErrorResults'}},
16762 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
16763 'Result': {'$ref': '#/definitions/ErrorResults'}},
16765 'VolumeAttachmentParams': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16766 'Result': {'$ref': '#/definitions/VolumeAttachmentParamsResults'}},
16768 'VolumeAttachments': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16769 'Result': {'$ref': '#/definitions/VolumeAttachmentResults'}},
16771 'VolumeBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16772 'Result': {'$ref': '#/definitions/BlockDeviceResults'}},
16774 'VolumeParams': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16775 'Result': {'$ref': '#/definitions/VolumeParamsResults'}},
16777 'Volumes': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16778 'Result': {'$ref': '#/definitions/VolumeResults'}},
16780 'WatchBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16781 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
16783 'WatchFilesystemAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16784 'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResults'}},
16786 'WatchFilesystems': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16787 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
16789 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
16791 'WatchMachines': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16792 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
16794 'WatchVolumeAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16795 'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResults'}},
16797 'WatchVolumes': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16798 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
16799 'type': 'object'}},
16803 @ReturnMapping(LifeResults
)
16804 async def AttachmentLife(self
, ids
):
16806 ids : typing.Sequence[~MachineStorageId]
16807 Returns -> typing.Sequence[~LifeResult]
16809 # map input types to rpc msg
16811 msg
= dict(Type
='StorageProvisioner', Request
='AttachmentLife', Version
=2, Params
=params
)
16812 params
['ids'] = ids
16813 reply
= await self
.rpc(msg
)
16818 @ReturnMapping(ErrorResults
)
16819 async def EnsureDead(self
, entities
):
16821 entities : typing.Sequence[~Entity]
16822 Returns -> typing.Sequence[~ErrorResult]
16824 # map input types to rpc msg
16826 msg
= dict(Type
='StorageProvisioner', Request
='EnsureDead', Version
=2, Params
=params
)
16827 params
['Entities'] = entities
16828 reply
= await self
.rpc(msg
)
16833 @ReturnMapping(FilesystemAttachmentParamsResults
)
16834 async def FilesystemAttachmentParams(self
, ids
):
16836 ids : typing.Sequence[~MachineStorageId]
16837 Returns -> typing.Sequence[~FilesystemAttachmentParamsResult]
16839 # map input types to rpc msg
16841 msg
= dict(Type
='StorageProvisioner', Request
='FilesystemAttachmentParams', Version
=2, Params
=params
)
16842 params
['ids'] = ids
16843 reply
= await self
.rpc(msg
)
16848 @ReturnMapping(FilesystemAttachmentResults
)
16849 async def FilesystemAttachments(self
, ids
):
16851 ids : typing.Sequence[~MachineStorageId]
16852 Returns -> typing.Sequence[~FilesystemAttachmentResult]
16854 # map input types to rpc msg
16856 msg
= dict(Type
='StorageProvisioner', Request
='FilesystemAttachments', Version
=2, Params
=params
)
16857 params
['ids'] = ids
16858 reply
= await self
.rpc(msg
)
16863 @ReturnMapping(FilesystemParamsResults
)
16864 async def FilesystemParams(self
, entities
):
16866 entities : typing.Sequence[~Entity]
16867 Returns -> typing.Sequence[~FilesystemParamsResult]
16869 # map input types to rpc msg
16871 msg
= dict(Type
='StorageProvisioner', Request
='FilesystemParams', Version
=2, Params
=params
)
16872 params
['Entities'] = entities
16873 reply
= await self
.rpc(msg
)
16878 @ReturnMapping(FilesystemResults
)
16879 async def Filesystems(self
, entities
):
16881 entities : typing.Sequence[~Entity]
16882 Returns -> typing.Sequence[~FilesystemResult]
16884 # map input types to rpc msg
16886 msg
= dict(Type
='StorageProvisioner', Request
='Filesystems', Version
=2, Params
=params
)
16887 params
['Entities'] = entities
16888 reply
= await self
.rpc(msg
)
16893 @ReturnMapping(StringResults
)
16894 async def InstanceId(self
, entities
):
16896 entities : typing.Sequence[~Entity]
16897 Returns -> typing.Sequence[~StringResult]
16899 # map input types to rpc msg
16901 msg
= dict(Type
='StorageProvisioner', Request
='InstanceId', Version
=2, Params
=params
)
16902 params
['Entities'] = entities
16903 reply
= await self
.rpc(msg
)
16908 @ReturnMapping(LifeResults
)
16909 async def Life(self
, entities
):
16911 entities : typing.Sequence[~Entity]
16912 Returns -> typing.Sequence[~LifeResult]
16914 # map input types to rpc msg
16916 msg
= dict(Type
='StorageProvisioner', Request
='Life', Version
=2, Params
=params
)
16917 params
['Entities'] = entities
16918 reply
= await self
.rpc(msg
)
16923 @ReturnMapping(ModelConfigResult
)
16924 async def ModelConfig(self
):
16927 Returns -> typing.Mapping[str, typing.Any]
16929 # map input types to rpc msg
16931 msg
= dict(Type
='StorageProvisioner', Request
='ModelConfig', Version
=2, Params
=params
)
16933 reply
= await self
.rpc(msg
)
16938 @ReturnMapping(ErrorResults
)
16939 async def Remove(self
, entities
):
16941 entities : typing.Sequence[~Entity]
16942 Returns -> typing.Sequence[~ErrorResult]
16944 # map input types to rpc msg
16946 msg
= dict(Type
='StorageProvisioner', Request
='Remove', Version
=2, Params
=params
)
16947 params
['Entities'] = entities
16948 reply
= await self
.rpc(msg
)
16953 @ReturnMapping(ErrorResults
)
16954 async def RemoveAttachment(self
, ids
):
16956 ids : typing.Sequence[~MachineStorageId]
16957 Returns -> typing.Sequence[~ErrorResult]
16959 # map input types to rpc msg
16961 msg
= dict(Type
='StorageProvisioner', Request
='RemoveAttachment', Version
=2, Params
=params
)
16962 params
['ids'] = ids
16963 reply
= await self
.rpc(msg
)
16968 @ReturnMapping(ErrorResults
)
16969 async def SetFilesystemAttachmentInfo(self
, filesystemattachments
):
16971 filesystemattachments : typing.Sequence[~FilesystemAttachment]
16972 Returns -> typing.Sequence[~ErrorResult]
16974 # map input types to rpc msg
16976 msg
= dict(Type
='StorageProvisioner', Request
='SetFilesystemAttachmentInfo', Version
=2, Params
=params
)
16977 params
['filesystemattachments'] = filesystemattachments
16978 reply
= await self
.rpc(msg
)
16983 @ReturnMapping(ErrorResults
)
16984 async def SetFilesystemInfo(self
, filesystems
):
16986 filesystems : typing.Sequence[~Filesystem]
16987 Returns -> typing.Sequence[~ErrorResult]
16989 # map input types to rpc msg
16991 msg
= dict(Type
='StorageProvisioner', Request
='SetFilesystemInfo', Version
=2, Params
=params
)
16992 params
['filesystems'] = filesystems
16993 reply
= await self
.rpc(msg
)
16998 @ReturnMapping(ErrorResults
)
16999 async def SetStatus(self
, entities
):
17001 entities : typing.Sequence[~EntityStatusArgs]
17002 Returns -> typing.Sequence[~ErrorResult]
17004 # map input types to rpc msg
17006 msg
= dict(Type
='StorageProvisioner', Request
='SetStatus', Version
=2, Params
=params
)
17007 params
['Entities'] = entities
17008 reply
= await self
.rpc(msg
)
17013 @ReturnMapping(ErrorResults
)
17014 async def SetVolumeAttachmentInfo(self
, volumeattachments
):
17016 volumeattachments : typing.Sequence[~VolumeAttachment]
17017 Returns -> typing.Sequence[~ErrorResult]
17019 # map input types to rpc msg
17021 msg
= dict(Type
='StorageProvisioner', Request
='SetVolumeAttachmentInfo', Version
=2, Params
=params
)
17022 params
['volumeattachments'] = volumeattachments
17023 reply
= await self
.rpc(msg
)
17028 @ReturnMapping(ErrorResults
)
17029 async def SetVolumeInfo(self
, volumes
):
17031 volumes : typing.Sequence[~Volume]
17032 Returns -> typing.Sequence[~ErrorResult]
17034 # map input types to rpc msg
17036 msg
= dict(Type
='StorageProvisioner', Request
='SetVolumeInfo', Version
=2, Params
=params
)
17037 params
['volumes'] = volumes
17038 reply
= await self
.rpc(msg
)
17043 @ReturnMapping(ErrorResults
)
17044 async def UpdateStatus(self
, entities
):
17046 entities : typing.Sequence[~EntityStatusArgs]
17047 Returns -> typing.Sequence[~ErrorResult]
17049 # map input types to rpc msg
17051 msg
= dict(Type
='StorageProvisioner', Request
='UpdateStatus', Version
=2, Params
=params
)
17052 params
['Entities'] = entities
17053 reply
= await self
.rpc(msg
)
17058 @ReturnMapping(VolumeAttachmentParamsResults
)
17059 async def VolumeAttachmentParams(self
, ids
):
17061 ids : typing.Sequence[~MachineStorageId]
17062 Returns -> typing.Sequence[~VolumeAttachmentParamsResult]
17064 # map input types to rpc msg
17066 msg
= dict(Type
='StorageProvisioner', Request
='VolumeAttachmentParams', Version
=2, Params
=params
)
17067 params
['ids'] = ids
17068 reply
= await self
.rpc(msg
)
17073 @ReturnMapping(VolumeAttachmentResults
)
17074 async def VolumeAttachments(self
, ids
):
17076 ids : typing.Sequence[~MachineStorageId]
17077 Returns -> typing.Sequence[~VolumeAttachmentResult]
17079 # map input types to rpc msg
17081 msg
= dict(Type
='StorageProvisioner', Request
='VolumeAttachments', Version
=2, Params
=params
)
17082 params
['ids'] = ids
17083 reply
= await self
.rpc(msg
)
17088 @ReturnMapping(BlockDeviceResults
)
17089 async def VolumeBlockDevices(self
, ids
):
17091 ids : typing.Sequence[~MachineStorageId]
17092 Returns -> typing.Sequence[~BlockDeviceResult]
17094 # map input types to rpc msg
17096 msg
= dict(Type
='StorageProvisioner', Request
='VolumeBlockDevices', Version
=2, Params
=params
)
17097 params
['ids'] = ids
17098 reply
= await self
.rpc(msg
)
17103 @ReturnMapping(VolumeParamsResults
)
17104 async def VolumeParams(self
, entities
):
17106 entities : typing.Sequence[~Entity]
17107 Returns -> typing.Sequence[~VolumeParamsResult]
17109 # map input types to rpc msg
17111 msg
= dict(Type
='StorageProvisioner', Request
='VolumeParams', Version
=2, Params
=params
)
17112 params
['Entities'] = entities
17113 reply
= await self
.rpc(msg
)
17118 @ReturnMapping(VolumeResults
)
17119 async def Volumes(self
, entities
):
17121 entities : typing.Sequence[~Entity]
17122 Returns -> typing.Sequence[~VolumeResult]
17124 # map input types to rpc msg
17126 msg
= dict(Type
='StorageProvisioner', Request
='Volumes', Version
=2, Params
=params
)
17127 params
['Entities'] = entities
17128 reply
= await self
.rpc(msg
)
17133 @ReturnMapping(NotifyWatchResults
)
17134 async def WatchBlockDevices(self
, entities
):
17136 entities : typing.Sequence[~Entity]
17137 Returns -> typing.Sequence[~NotifyWatchResult]
17139 # map input types to rpc msg
17141 msg
= dict(Type
='StorageProvisioner', Request
='WatchBlockDevices', Version
=2, Params
=params
)
17142 params
['Entities'] = entities
17143 reply
= await self
.rpc(msg
)
17148 @ReturnMapping(MachineStorageIdsWatchResults
)
17149 async def WatchFilesystemAttachments(self
, entities
):
17151 entities : typing.Sequence[~Entity]
17152 Returns -> typing.Sequence[~MachineStorageIdsWatchResult]
17154 # map input types to rpc msg
17156 msg
= dict(Type
='StorageProvisioner', Request
='WatchFilesystemAttachments', Version
=2, Params
=params
)
17157 params
['Entities'] = entities
17158 reply
= await self
.rpc(msg
)
17163 @ReturnMapping(StringsWatchResults
)
17164 async def WatchFilesystems(self
, entities
):
17166 entities : typing.Sequence[~Entity]
17167 Returns -> typing.Sequence[~StringsWatchResult]
17169 # map input types to rpc msg
17171 msg
= dict(Type
='StorageProvisioner', Request
='WatchFilesystems', Version
=2, Params
=params
)
17172 params
['Entities'] = entities
17173 reply
= await self
.rpc(msg
)
17178 @ReturnMapping(NotifyWatchResult
)
17179 async def WatchForModelConfigChanges(self
):
17182 Returns -> typing.Union[_ForwardRef('Error'), str]
17184 # map input types to rpc msg
17186 msg
= dict(Type
='StorageProvisioner', Request
='WatchForModelConfigChanges', Version
=2, Params
=params
)
17188 reply
= await self
.rpc(msg
)
17193 @ReturnMapping(NotifyWatchResults
)
17194 async def WatchMachines(self
, entities
):
17196 entities : typing.Sequence[~Entity]
17197 Returns -> typing.Sequence[~NotifyWatchResult]
17199 # map input types to rpc msg
17201 msg
= dict(Type
='StorageProvisioner', Request
='WatchMachines', Version
=2, Params
=params
)
17202 params
['Entities'] = entities
17203 reply
= await self
.rpc(msg
)
17208 @ReturnMapping(MachineStorageIdsWatchResults
)
17209 async def WatchVolumeAttachments(self
, entities
):
17211 entities : typing.Sequence[~Entity]
17212 Returns -> typing.Sequence[~MachineStorageIdsWatchResult]
17214 # map input types to rpc msg
17216 msg
= dict(Type
='StorageProvisioner', Request
='WatchVolumeAttachments', Version
=2, Params
=params
)
17217 params
['Entities'] = entities
17218 reply
= await self
.rpc(msg
)
17223 @ReturnMapping(StringsWatchResults
)
17224 async def WatchVolumes(self
, entities
):
17226 entities : typing.Sequence[~Entity]
17227 Returns -> typing.Sequence[~StringsWatchResult]
17229 # map input types to rpc msg
17231 msg
= dict(Type
='StorageProvisioner', Request
='WatchVolumes', Version
=2, Params
=params
)
17232 params
['Entities'] = entities
17233 reply
= await self
.rpc(msg
)
17237 class StringsWatcher(Type
):
17238 name
= 'StringsWatcher'
17240 schema
= {'definitions': {'Error': {'additionalProperties': False,
17241 'properties': {'Code': {'type': 'string'},
17242 'Info': {'$ref': '#/definitions/ErrorInfo'},
17243 'Message': {'type': 'string'}},
17244 'required': ['Message', 'Code'],
17246 'ErrorInfo': {'additionalProperties': False,
17247 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
17248 'MacaroonPath': {'type': 'string'}},
17250 'Macaroon': {'additionalProperties': False,
17251 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
17253 'data': {'items': {'type': 'integer'},
17255 'id': {'$ref': '#/definitions/packet'},
17256 'location': {'$ref': '#/definitions/packet'},
17257 'sig': {'items': {'type': 'integer'},
17259 'required': ['data',
17265 'StringsWatchResult': {'additionalProperties': False,
17266 'properties': {'Changes': {'items': {'type': 'string'},
17268 'Error': {'$ref': '#/definitions/Error'},
17269 'StringsWatcherId': {'type': 'string'}},
17270 'required': ['StringsWatcherId',
17274 'caveat': {'additionalProperties': False,
17275 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
17276 'location': {'$ref': '#/definitions/packet'},
17277 'verificationId': {'$ref': '#/definitions/packet'}},
17278 'required': ['location',
17282 'packet': {'additionalProperties': False,
17283 'properties': {'headerLen': {'type': 'integer'},
17284 'start': {'type': 'integer'},
17285 'totalLen': {'type': 'integer'}},
17286 'required': ['start', 'totalLen', 'headerLen'],
17287 'type': 'object'}},
17288 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
17290 'Stop': {'type': 'object'}},
17294 @ReturnMapping(StringsWatchResult
)
17295 async def Next(self
):
17298 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
17300 # map input types to rpc msg
17302 msg
= dict(Type
='StringsWatcher', Request
='Next', Version
=1, Params
=params
)
17304 reply
= await self
.rpc(msg
)
17309 @ReturnMapping(None)
17310 async def Stop(self
):
17315 # map input types to rpc msg
17317 msg
= dict(Type
='StringsWatcher', Request
='Stop', Version
=1, Params
=params
)
17319 reply
= await self
.rpc(msg
)
17323 class Subnets(Type
):
17326 schema
= {'definitions': {'AddSubnetParams': {'additionalProperties': False,
17327 'properties': {'SpaceTag': {'type': 'string'},
17328 'SubnetProviderId': {'type': 'string'},
17329 'SubnetTag': {'type': 'string'},
17330 'Zones': {'items': {'type': 'string'},
17332 'required': ['SpaceTag'],
17334 'AddSubnetsParams': {'additionalProperties': False,
17335 'properties': {'Subnets': {'items': {'$ref': '#/definitions/AddSubnetParams'},
17337 'required': ['Subnets'],
17339 'Error': {'additionalProperties': False,
17340 'properties': {'Code': {'type': 'string'},
17341 'Info': {'$ref': '#/definitions/ErrorInfo'},
17342 'Message': {'type': 'string'}},
17343 'required': ['Message', 'Code'],
17345 'ErrorInfo': {'additionalProperties': False,
17346 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
17347 'MacaroonPath': {'type': 'string'}},
17349 'ErrorResult': {'additionalProperties': False,
17350 'properties': {'Error': {'$ref': '#/definitions/Error'}},
17351 'required': ['Error'],
17353 'ErrorResults': {'additionalProperties': False,
17354 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
17356 'required': ['Results'],
17358 'ListSubnetsResults': {'additionalProperties': False,
17359 'properties': {'Results': {'items': {'$ref': '#/definitions/Subnet'},
17361 'required': ['Results'],
17363 'Macaroon': {'additionalProperties': False,
17364 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
17366 'data': {'items': {'type': 'integer'},
17368 'id': {'$ref': '#/definitions/packet'},
17369 'location': {'$ref': '#/definitions/packet'},
17370 'sig': {'items': {'type': 'integer'},
17372 'required': ['data',
17378 'SpaceResult': {'additionalProperties': False,
17379 'properties': {'Error': {'$ref': '#/definitions/Error'},
17380 'Tag': {'type': 'string'}},
17381 'required': ['Error', 'Tag'],
17383 'SpaceResults': {'additionalProperties': False,
17384 'properties': {'Results': {'items': {'$ref': '#/definitions/SpaceResult'},
17386 'required': ['Results'],
17388 'Subnet': {'additionalProperties': False,
17389 'properties': {'CIDR': {'type': 'string'},
17390 'Life': {'type': 'string'},
17391 'ProviderId': {'type': 'string'},
17392 'SpaceTag': {'type': 'string'},
17393 'StaticRangeHighIP': {'items': {'type': 'integer'},
17395 'StaticRangeLowIP': {'items': {'type': 'integer'},
17397 'Status': {'type': 'string'},
17398 'VLANTag': {'type': 'integer'},
17399 'Zones': {'items': {'type': 'string'},
17401 'required': ['CIDR',
17407 'SubnetsFilters': {'additionalProperties': False,
17408 'properties': {'SpaceTag': {'type': 'string'},
17409 'Zone': {'type': 'string'}},
17411 'ZoneResult': {'additionalProperties': False,
17412 'properties': {'Available': {'type': 'boolean'},
17413 'Error': {'$ref': '#/definitions/Error'},
17414 'Name': {'type': 'string'}},
17415 'required': ['Error', 'Name', 'Available'],
17417 'ZoneResults': {'additionalProperties': False,
17418 'properties': {'Results': {'items': {'$ref': '#/definitions/ZoneResult'},
17420 'required': ['Results'],
17422 'caveat': {'additionalProperties': False,
17423 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
17424 'location': {'$ref': '#/definitions/packet'},
17425 'verificationId': {'$ref': '#/definitions/packet'}},
17426 'required': ['location',
17430 'packet': {'additionalProperties': False,
17431 'properties': {'headerLen': {'type': 'integer'},
17432 'start': {'type': 'integer'},
17433 'totalLen': {'type': 'integer'}},
17434 'required': ['start', 'totalLen', 'headerLen'],
17435 'type': 'object'}},
17436 'properties': {'AddSubnets': {'properties': {'Params': {'$ref': '#/definitions/AddSubnetsParams'},
17437 'Result': {'$ref': '#/definitions/ErrorResults'}},
17439 'AllSpaces': {'properties': {'Result': {'$ref': '#/definitions/SpaceResults'}},
17441 'AllZones': {'properties': {'Result': {'$ref': '#/definitions/ZoneResults'}},
17443 'ListSubnets': {'properties': {'Params': {'$ref': '#/definitions/SubnetsFilters'},
17444 'Result': {'$ref': '#/definitions/ListSubnetsResults'}},
17445 'type': 'object'}},
17449 @ReturnMapping(ErrorResults
)
17450 async def AddSubnets(self
, subnets
):
17452 subnets : typing.Sequence[~AddSubnetParams]
17453 Returns -> typing.Sequence[~ErrorResult]
17455 # map input types to rpc msg
17457 msg
= dict(Type
='Subnets', Request
='AddSubnets', Version
=2, Params
=params
)
17458 params
['Subnets'] = subnets
17459 reply
= await self
.rpc(msg
)
17464 @ReturnMapping(SpaceResults
)
17465 async def AllSpaces(self
):
17468 Returns -> typing.Sequence[~SpaceResult]
17470 # map input types to rpc msg
17472 msg
= dict(Type
='Subnets', Request
='AllSpaces', Version
=2, Params
=params
)
17474 reply
= await self
.rpc(msg
)
17479 @ReturnMapping(ZoneResults
)
17480 async def AllZones(self
):
17483 Returns -> typing.Sequence[~ZoneResult]
17485 # map input types to rpc msg
17487 msg
= dict(Type
='Subnets', Request
='AllZones', Version
=2, Params
=params
)
17489 reply
= await self
.rpc(msg
)
17494 @ReturnMapping(ListSubnetsResults
)
17495 async def ListSubnets(self
, spacetag
, zone
):
17499 Returns -> typing.Sequence[~Subnet]
17501 # map input types to rpc msg
17503 msg
= dict(Type
='Subnets', Request
='ListSubnets', Version
=2, Params
=params
)
17504 params
['SpaceTag'] = spacetag
17505 params
['Zone'] = zone
17506 reply
= await self
.rpc(msg
)
17510 class Undertaker(Type
):
17511 name
= 'Undertaker'
17513 schema
= {'definitions': {'EntityStatusArgs': {'additionalProperties': False,
17514 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
17515 'type': 'object'}},
17517 'Info': {'type': 'string'},
17518 'Status': {'type': 'string'},
17519 'Tag': {'type': 'string'}},
17520 'required': ['Tag',
17525 'Error': {'additionalProperties': False,
17526 'properties': {'Code': {'type': 'string'},
17527 'Info': {'$ref': '#/definitions/ErrorInfo'},
17528 'Message': {'type': 'string'}},
17529 'required': ['Message', 'Code'],
17531 'ErrorInfo': {'additionalProperties': False,
17532 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
17533 'MacaroonPath': {'type': 'string'}},
17535 'ErrorResult': {'additionalProperties': False,
17536 'properties': {'Error': {'$ref': '#/definitions/Error'}},
17537 'required': ['Error'],
17539 'ErrorResults': {'additionalProperties': False,
17540 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
17542 'required': ['Results'],
17544 'Macaroon': {'additionalProperties': False,
17545 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
17547 'data': {'items': {'type': 'integer'},
17549 'id': {'$ref': '#/definitions/packet'},
17550 'location': {'$ref': '#/definitions/packet'},
17551 'sig': {'items': {'type': 'integer'},
17553 'required': ['data',
17559 'ModelConfigResult': {'additionalProperties': False,
17560 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
17561 'type': 'object'}},
17562 'type': 'object'}},
17563 'required': ['Config'],
17565 'NotifyWatchResult': {'additionalProperties': False,
17566 'properties': {'Error': {'$ref': '#/definitions/Error'},
17567 'NotifyWatcherId': {'type': 'string'}},
17568 'required': ['NotifyWatcherId', 'Error'],
17570 'NotifyWatchResults': {'additionalProperties': False,
17571 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
17573 'required': ['Results'],
17575 'SetStatus': {'additionalProperties': False,
17576 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
17578 'required': ['Entities'],
17580 'UndertakerModelInfo': {'additionalProperties': False,
17581 'properties': {'GlobalName': {'type': 'string'},
17582 'IsSystem': {'type': 'boolean'},
17583 'Life': {'type': 'string'},
17584 'Name': {'type': 'string'},
17585 'UUID': {'type': 'string'}},
17586 'required': ['UUID',
17592 'UndertakerModelInfoResult': {'additionalProperties': False,
17593 'properties': {'Error': {'$ref': '#/definitions/Error'},
17594 'Result': {'$ref': '#/definitions/UndertakerModelInfo'}},
17595 'required': ['Error', 'Result'],
17597 'caveat': {'additionalProperties': False,
17598 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
17599 'location': {'$ref': '#/definitions/packet'},
17600 'verificationId': {'$ref': '#/definitions/packet'}},
17601 'required': ['location',
17605 'packet': {'additionalProperties': False,
17606 'properties': {'headerLen': {'type': 'integer'},
17607 'start': {'type': 'integer'},
17608 'totalLen': {'type': 'integer'}},
17609 'required': ['start', 'totalLen', 'headerLen'],
17610 'type': 'object'}},
17611 'properties': {'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
17613 'ModelInfo': {'properties': {'Result': {'$ref': '#/definitions/UndertakerModelInfoResult'}},
17615 'ProcessDyingModel': {'type': 'object'},
17616 'RemoveModel': {'type': 'object'},
17617 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
17618 'Result': {'$ref': '#/definitions/ErrorResults'}},
17620 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
17621 'Result': {'$ref': '#/definitions/ErrorResults'}},
17623 'WatchModelResources': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
17624 'type': 'object'}},
17628 @ReturnMapping(ModelConfigResult
)
17629 async def ModelConfig(self
):
17632 Returns -> typing.Mapping[str, typing.Any]
17634 # map input types to rpc msg
17636 msg
= dict(Type
='Undertaker', Request
='ModelConfig', Version
=1, Params
=params
)
17638 reply
= await self
.rpc(msg
)
17643 @ReturnMapping(UndertakerModelInfoResult
)
17644 async def ModelInfo(self
):
17647 Returns -> typing.Union[_ForwardRef('Error'), _ForwardRef('UndertakerModelInfo')]
17649 # map input types to rpc msg
17651 msg
= dict(Type
='Undertaker', Request
='ModelInfo', Version
=1, Params
=params
)
17653 reply
= await self
.rpc(msg
)
17658 @ReturnMapping(None)
17659 async def ProcessDyingModel(self
):
17664 # map input types to rpc msg
17666 msg
= dict(Type
='Undertaker', Request
='ProcessDyingModel', Version
=1, Params
=params
)
17668 reply
= await self
.rpc(msg
)
17673 @ReturnMapping(None)
17674 async def RemoveModel(self
):
17679 # map input types to rpc msg
17681 msg
= dict(Type
='Undertaker', Request
='RemoveModel', Version
=1, Params
=params
)
17683 reply
= await self
.rpc(msg
)
17688 @ReturnMapping(ErrorResults
)
17689 async def SetStatus(self
, entities
):
17691 entities : typing.Sequence[~EntityStatusArgs]
17692 Returns -> typing.Sequence[~ErrorResult]
17694 # map input types to rpc msg
17696 msg
= dict(Type
='Undertaker', Request
='SetStatus', Version
=1, Params
=params
)
17697 params
['Entities'] = entities
17698 reply
= await self
.rpc(msg
)
17703 @ReturnMapping(ErrorResults
)
17704 async def UpdateStatus(self
, entities
):
17706 entities : typing.Sequence[~EntityStatusArgs]
17707 Returns -> typing.Sequence[~ErrorResult]
17709 # map input types to rpc msg
17711 msg
= dict(Type
='Undertaker', Request
='UpdateStatus', Version
=1, Params
=params
)
17712 params
['Entities'] = entities
17713 reply
= await self
.rpc(msg
)
17718 @ReturnMapping(NotifyWatchResults
)
17719 async def WatchModelResources(self
):
17722 Returns -> typing.Sequence[~NotifyWatchResult]
17724 # map input types to rpc msg
17726 msg
= dict(Type
='Undertaker', Request
='WatchModelResources', Version
=1, Params
=params
)
17728 reply
= await self
.rpc(msg
)
17732 class UnitAssigner(Type
):
17733 name
= 'UnitAssigner'
17735 schema
= {'definitions': {'Entities': {'additionalProperties': False,
17736 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
17738 'required': ['Entities'],
17740 'Entity': {'additionalProperties': False,
17741 'properties': {'Tag': {'type': 'string'}},
17742 'required': ['Tag'],
17744 'EntityStatusArgs': {'additionalProperties': False,
17745 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
17746 'type': 'object'}},
17748 'Info': {'type': 'string'},
17749 'Status': {'type': 'string'},
17750 'Tag': {'type': 'string'}},
17751 'required': ['Tag',
17756 'Error': {'additionalProperties': False,
17757 'properties': {'Code': {'type': 'string'},
17758 'Info': {'$ref': '#/definitions/ErrorInfo'},
17759 'Message': {'type': 'string'}},
17760 'required': ['Message', 'Code'],
17762 'ErrorInfo': {'additionalProperties': False,
17763 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
17764 'MacaroonPath': {'type': 'string'}},
17766 'ErrorResult': {'additionalProperties': False,
17767 'properties': {'Error': {'$ref': '#/definitions/Error'}},
17768 'required': ['Error'],
17770 'ErrorResults': {'additionalProperties': False,
17771 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
17773 'required': ['Results'],
17775 'Macaroon': {'additionalProperties': False,
17776 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
17778 'data': {'items': {'type': 'integer'},
17780 'id': {'$ref': '#/definitions/packet'},
17781 'location': {'$ref': '#/definitions/packet'},
17782 'sig': {'items': {'type': 'integer'},
17784 'required': ['data',
17790 'SetStatus': {'additionalProperties': False,
17791 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
17793 'required': ['Entities'],
17795 'StringsWatchResult': {'additionalProperties': False,
17796 'properties': {'Changes': {'items': {'type': 'string'},
17798 'Error': {'$ref': '#/definitions/Error'},
17799 'StringsWatcherId': {'type': 'string'}},
17800 'required': ['StringsWatcherId',
17804 'caveat': {'additionalProperties': False,
17805 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
17806 'location': {'$ref': '#/definitions/packet'},
17807 'verificationId': {'$ref': '#/definitions/packet'}},
17808 'required': ['location',
17812 'packet': {'additionalProperties': False,
17813 'properties': {'headerLen': {'type': 'integer'},
17814 'start': {'type': 'integer'},
17815 'totalLen': {'type': 'integer'}},
17816 'required': ['start', 'totalLen', 'headerLen'],
17817 'type': 'object'}},
17818 'properties': {'AssignUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17819 'Result': {'$ref': '#/definitions/ErrorResults'}},
17821 'SetAgentStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
17822 'Result': {'$ref': '#/definitions/ErrorResults'}},
17824 'WatchUnitAssignments': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
17825 'type': 'object'}},
17829 @ReturnMapping(ErrorResults
)
17830 async def AssignUnits(self
, entities
):
17832 entities : typing.Sequence[~Entity]
17833 Returns -> typing.Sequence[~ErrorResult]
17835 # map input types to rpc msg
17837 msg
= dict(Type
='UnitAssigner', Request
='AssignUnits', Version
=1, Params
=params
)
17838 params
['Entities'] = entities
17839 reply
= await self
.rpc(msg
)
17844 @ReturnMapping(ErrorResults
)
17845 async def SetAgentStatus(self
, entities
):
17847 entities : typing.Sequence[~EntityStatusArgs]
17848 Returns -> typing.Sequence[~ErrorResult]
17850 # map input types to rpc msg
17852 msg
= dict(Type
='UnitAssigner', Request
='SetAgentStatus', Version
=1, Params
=params
)
17853 params
['Entities'] = entities
17854 reply
= await self
.rpc(msg
)
17859 @ReturnMapping(StringsWatchResult
)
17860 async def WatchUnitAssignments(self
):
17863 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
17865 # map input types to rpc msg
17867 msg
= dict(Type
='UnitAssigner', Request
='WatchUnitAssignments', Version
=1, Params
=params
)
17869 reply
= await self
.rpc(msg
)
17873 class Uniter(Type
):
17876 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
17877 'properties': {'Servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
17880 'required': ['Servers'],
17882 'Action': {'additionalProperties': False,
17883 'properties': {'name': {'type': 'string'},
17884 'parameters': {'patternProperties': {'.*': {'additionalProperties': True,
17885 'type': 'object'}},
17887 'receiver': {'type': 'string'},
17888 'tag': {'type': 'string'}},
17889 'required': ['tag', 'receiver', 'name'],
17891 'ActionExecutionResult': {'additionalProperties': False,
17892 'properties': {'actiontag': {'type': 'string'},
17893 'message': {'type': 'string'},
17894 'results': {'patternProperties': {'.*': {'additionalProperties': True,
17895 'type': 'object'}},
17897 'status': {'type': 'string'}},
17898 'required': ['actiontag', 'status'],
17900 'ActionExecutionResults': {'additionalProperties': False,
17901 'properties': {'results': {'items': {'$ref': '#/definitions/ActionExecutionResult'},
17904 'ActionResult': {'additionalProperties': False,
17905 'properties': {'action': {'$ref': '#/definitions/Action'},
17906 'completed': {'format': 'date-time',
17908 'enqueued': {'format': 'date-time',
17910 'error': {'$ref': '#/definitions/Error'},
17911 'message': {'type': 'string'},
17912 'output': {'patternProperties': {'.*': {'additionalProperties': True,
17913 'type': 'object'}},
17915 'started': {'format': 'date-time',
17917 'status': {'type': 'string'}},
17919 'ActionResults': {'additionalProperties': False,
17920 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'},
17923 'Address': {'additionalProperties': False,
17924 'properties': {'Scope': {'type': 'string'},
17925 'SpaceName': {'type': 'string'},
17926 'Type': {'type': 'string'},
17927 'Value': {'type': 'string'}},
17928 'required': ['Value', 'Type', 'Scope'],
17930 'BoolResult': {'additionalProperties': False,
17931 'properties': {'Error': {'$ref': '#/definitions/Error'},
17932 'Result': {'type': 'boolean'}},
17933 'required': ['Error', 'Result'],
17935 'BoolResults': {'additionalProperties': False,
17936 'properties': {'Results': {'items': {'$ref': '#/definitions/BoolResult'},
17938 'required': ['Results'],
17940 'BytesResult': {'additionalProperties': False,
17941 'properties': {'Result': {'items': {'type': 'integer'},
17943 'required': ['Result'],
17945 'CharmURL': {'additionalProperties': False,
17946 'properties': {'URL': {'type': 'string'}},
17947 'required': ['URL'],
17949 'CharmURLs': {'additionalProperties': False,
17950 'properties': {'URLs': {'items': {'$ref': '#/definitions/CharmURL'},
17952 'required': ['URLs'],
17954 'ConfigSettingsResult': {'additionalProperties': False,
17955 'properties': {'Error': {'$ref': '#/definitions/Error'},
17956 'Settings': {'patternProperties': {'.*': {'additionalProperties': True,
17957 'type': 'object'}},
17958 'type': 'object'}},
17959 'required': ['Error', 'Settings'],
17961 'ConfigSettingsResults': {'additionalProperties': False,
17962 'properties': {'Results': {'items': {'$ref': '#/definitions/ConfigSettingsResult'},
17964 'required': ['Results'],
17966 'Endpoint': {'additionalProperties': False,
17967 'properties': {'Relation': {'$ref': '#/definitions/Relation'},
17968 'ServiceName': {'type': 'string'}},
17969 'required': ['ServiceName', 'Relation'],
17971 'Entities': {'additionalProperties': False,
17972 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
17974 'required': ['Entities'],
17976 'EntitiesCharmURL': {'additionalProperties': False,
17977 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityCharmURL'},
17979 'required': ['Entities'],
17981 'EntitiesPortRanges': {'additionalProperties': False,
17982 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityPortRange'},
17984 'required': ['Entities'],
17986 'Entity': {'additionalProperties': False,
17987 'properties': {'Tag': {'type': 'string'}},
17988 'required': ['Tag'],
17990 'EntityCharmURL': {'additionalProperties': False,
17991 'properties': {'CharmURL': {'type': 'string'},
17992 'Tag': {'type': 'string'}},
17993 'required': ['Tag', 'CharmURL'],
17995 'EntityPortRange': {'additionalProperties': False,
17996 'properties': {'FromPort': {'type': 'integer'},
17997 'Protocol': {'type': 'string'},
17998 'Tag': {'type': 'string'},
17999 'ToPort': {'type': 'integer'}},
18000 'required': ['Tag',
18005 'EntityStatusArgs': {'additionalProperties': False,
18006 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
18007 'type': 'object'}},
18009 'Info': {'type': 'string'},
18010 'Status': {'type': 'string'},
18011 'Tag': {'type': 'string'}},
18012 'required': ['Tag',
18017 'Error': {'additionalProperties': False,
18018 'properties': {'Code': {'type': 'string'},
18019 'Info': {'$ref': '#/definitions/ErrorInfo'},
18020 'Message': {'type': 'string'}},
18021 'required': ['Message', 'Code'],
18023 'ErrorInfo': {'additionalProperties': False,
18024 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
18025 'MacaroonPath': {'type': 'string'}},
18027 'ErrorResult': {'additionalProperties': False,
18028 'properties': {'Error': {'$ref': '#/definitions/Error'}},
18029 'required': ['Error'],
18031 'ErrorResults': {'additionalProperties': False,
18032 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
18034 'required': ['Results'],
18036 'GetLeadershipSettingsBulkResults': {'additionalProperties': False,
18037 'properties': {'Results': {'items': {'$ref': '#/definitions/GetLeadershipSettingsResult'},
18039 'required': ['Results'],
18041 'GetLeadershipSettingsResult': {'additionalProperties': False,
18042 'properties': {'Error': {'$ref': '#/definitions/Error'},
18043 'Settings': {'patternProperties': {'.*': {'type': 'string'}},
18044 'type': 'object'}},
18045 'required': ['Settings',
18048 'HostPort': {'additionalProperties': False,
18049 'properties': {'Address': {'$ref': '#/definitions/Address'},
18050 'Port': {'type': 'integer'}},
18051 'required': ['Address', 'Port'],
18053 'IntResult': {'additionalProperties': False,
18054 'properties': {'Error': {'$ref': '#/definitions/Error'},
18055 'Result': {'type': 'integer'}},
18056 'required': ['Error', 'Result'],
18058 'IntResults': {'additionalProperties': False,
18059 'properties': {'Results': {'items': {'$ref': '#/definitions/IntResult'},
18061 'required': ['Results'],
18063 'LifeResult': {'additionalProperties': False,
18064 'properties': {'Error': {'$ref': '#/definitions/Error'},
18065 'Life': {'type': 'string'}},
18066 'required': ['Life', 'Error'],
18068 'LifeResults': {'additionalProperties': False,
18069 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
18071 'required': ['Results'],
18073 'Macaroon': {'additionalProperties': False,
18074 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
18076 'data': {'items': {'type': 'integer'},
18078 'id': {'$ref': '#/definitions/packet'},
18079 'location': {'$ref': '#/definitions/packet'},
18080 'sig': {'items': {'type': 'integer'},
18082 'required': ['data',
18088 'MachinePortRange': {'additionalProperties': False,
18089 'properties': {'PortRange': {'$ref': '#/definitions/PortRange'},
18090 'RelationTag': {'type': 'string'},
18091 'UnitTag': {'type': 'string'}},
18092 'required': ['UnitTag',
18096 'MachinePortsResult': {'additionalProperties': False,
18097 'properties': {'Error': {'$ref': '#/definitions/Error'},
18098 'Ports': {'items': {'$ref': '#/definitions/MachinePortRange'},
18100 'required': ['Error', 'Ports'],
18102 'MachinePortsResults': {'additionalProperties': False,
18103 'properties': {'Results': {'items': {'$ref': '#/definitions/MachinePortsResult'},
18105 'required': ['Results'],
18107 'MergeLeadershipSettingsBulkParams': {'additionalProperties': False,
18108 'properties': {'Params': {'items': {'$ref': '#/definitions/MergeLeadershipSettingsParam'},
18110 'required': ['Params'],
18112 'MergeLeadershipSettingsParam': {'additionalProperties': False,
18113 'properties': {'ServiceTag': {'type': 'string'},
18114 'Settings': {'patternProperties': {'.*': {'type': 'string'}},
18115 'type': 'object'}},
18116 'required': ['ServiceTag',
18119 'MeterStatusResult': {'additionalProperties': False,
18120 'properties': {'Code': {'type': 'string'},
18121 'Error': {'$ref': '#/definitions/Error'},
18122 'Info': {'type': 'string'}},
18123 'required': ['Code', 'Info', 'Error'],
18125 'MeterStatusResults': {'additionalProperties': False,
18126 'properties': {'Results': {'items': {'$ref': '#/definitions/MeterStatusResult'},
18128 'required': ['Results'],
18130 'Metric': {'additionalProperties': False,
18131 'properties': {'Key': {'type': 'string'},
18132 'Time': {'format': 'date-time',
18134 'Value': {'type': 'string'}},
18135 'required': ['Key', 'Value', 'Time'],
18137 'MetricBatch': {'additionalProperties': False,
18138 'properties': {'CharmURL': {'type': 'string'},
18139 'Created': {'format': 'date-time',
18141 'Metrics': {'items': {'$ref': '#/definitions/Metric'},
18143 'UUID': {'type': 'string'}},
18144 'required': ['UUID',
18149 'MetricBatchParam': {'additionalProperties': False,
18150 'properties': {'Batch': {'$ref': '#/definitions/MetricBatch'},
18151 'Tag': {'type': 'string'}},
18152 'required': ['Tag', 'Batch'],
18154 'MetricBatchParams': {'additionalProperties': False,
18155 'properties': {'Batches': {'items': {'$ref': '#/definitions/MetricBatchParam'},
18157 'required': ['Batches'],
18159 'ModelConfigResult': {'additionalProperties': False,
18160 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
18161 'type': 'object'}},
18162 'type': 'object'}},
18163 'required': ['Config'],
18165 'ModelResult': {'additionalProperties': False,
18166 'properties': {'Error': {'$ref': '#/definitions/Error'},
18167 'Name': {'type': 'string'},
18168 'UUID': {'type': 'string'}},
18169 'required': ['Error', 'Name', 'UUID'],
18171 'NetworkConfig': {'additionalProperties': False,
18172 'properties': {'Address': {'type': 'string'},
18173 'CIDR': {'type': 'string'},
18174 'ConfigType': {'type': 'string'},
18175 'DNSSearchDomains': {'items': {'type': 'string'},
18177 'DNSServers': {'items': {'type': 'string'},
18179 'DeviceIndex': {'type': 'integer'},
18180 'Disabled': {'type': 'boolean'},
18181 'GatewayAddress': {'type': 'string'},
18182 'InterfaceName': {'type': 'string'},
18183 'InterfaceType': {'type': 'string'},
18184 'MACAddress': {'type': 'string'},
18185 'MTU': {'type': 'integer'},
18186 'NoAutoStart': {'type': 'boolean'},
18187 'ParentInterfaceName': {'type': 'string'},
18188 'ProviderAddressId': {'type': 'string'},
18189 'ProviderId': {'type': 'string'},
18190 'ProviderSpaceId': {'type': 'string'},
18191 'ProviderSubnetId': {'type': 'string'},
18192 'ProviderVLANId': {'type': 'string'},
18193 'VLANTag': {'type': 'integer'}},
18194 'required': ['DeviceIndex',
18199 'ProviderSubnetId',
18201 'ProviderAddressId',
18205 'ParentInterfaceName',
18209 'NotifyWatchResult': {'additionalProperties': False,
18210 'properties': {'Error': {'$ref': '#/definitions/Error'},
18211 'NotifyWatcherId': {'type': 'string'}},
18212 'required': ['NotifyWatcherId', 'Error'],
18214 'NotifyWatchResults': {'additionalProperties': False,
18215 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
18217 'required': ['Results'],
18219 'PortRange': {'additionalProperties': False,
18220 'properties': {'FromPort': {'type': 'integer'},
18221 'Protocol': {'type': 'string'},
18222 'ToPort': {'type': 'integer'}},
18223 'required': ['FromPort', 'ToPort', 'Protocol'],
18225 'Relation': {'additionalProperties': False,
18226 'properties': {'Interface': {'type': 'string'},
18227 'Limit': {'type': 'integer'},
18228 'Name': {'type': 'string'},
18229 'Optional': {'type': 'boolean'},
18230 'Role': {'type': 'string'},
18231 'Scope': {'type': 'string'}},
18232 'required': ['Name',
18239 'RelationIds': {'additionalProperties': False,
18240 'properties': {'RelationIds': {'items': {'type': 'integer'},
18242 'required': ['RelationIds'],
18244 'RelationResult': {'additionalProperties': False,
18245 'properties': {'Endpoint': {'$ref': '#/definitions/Endpoint'},
18246 'Error': {'$ref': '#/definitions/Error'},
18247 'Id': {'type': 'integer'},
18248 'Key': {'type': 'string'},
18249 'Life': {'type': 'string'}},
18250 'required': ['Error',
18256 'RelationResults': {'additionalProperties': False,
18257 'properties': {'Results': {'items': {'$ref': '#/definitions/RelationResult'},
18259 'required': ['Results'],
18261 'RelationUnit': {'additionalProperties': False,
18262 'properties': {'Relation': {'type': 'string'},
18263 'Unit': {'type': 'string'}},
18264 'required': ['Relation', 'Unit'],
18266 'RelationUnitPair': {'additionalProperties': False,
18267 'properties': {'LocalUnit': {'type': 'string'},
18268 'Relation': {'type': 'string'},
18269 'RemoteUnit': {'type': 'string'}},
18270 'required': ['Relation',
18274 'RelationUnitPairs': {'additionalProperties': False,
18275 'properties': {'RelationUnitPairs': {'items': {'$ref': '#/definitions/RelationUnitPair'},
18277 'required': ['RelationUnitPairs'],
18279 'RelationUnitSettings': {'additionalProperties': False,
18280 'properties': {'Relation': {'type': 'string'},
18281 'Settings': {'patternProperties': {'.*': {'type': 'string'}},
18283 'Unit': {'type': 'string'}},
18284 'required': ['Relation',
18288 'RelationUnits': {'additionalProperties': False,
18289 'properties': {'RelationUnits': {'items': {'$ref': '#/definitions/RelationUnit'},
18291 'required': ['RelationUnits'],
18293 'RelationUnitsChange': {'additionalProperties': False,
18294 'properties': {'Changed': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitSettings'}},
18296 'Departed': {'items': {'type': 'string'},
18298 'required': ['Changed', 'Departed'],
18300 'RelationUnitsSettings': {'additionalProperties': False,
18301 'properties': {'RelationUnits': {'items': {'$ref': '#/definitions/RelationUnitSettings'},
18303 'required': ['RelationUnits'],
18305 'RelationUnitsWatchResult': {'additionalProperties': False,
18306 'properties': {'Changes': {'$ref': '#/definitions/RelationUnitsChange'},
18307 'Error': {'$ref': '#/definitions/Error'},
18308 'RelationUnitsWatcherId': {'type': 'string'}},
18309 'required': ['RelationUnitsWatcherId',
18313 'RelationUnitsWatchResults': {'additionalProperties': False,
18314 'properties': {'Results': {'items': {'$ref': '#/definitions/RelationUnitsWatchResult'},
18316 'required': ['Results'],
18318 'ResolvedModeResult': {'additionalProperties': False,
18319 'properties': {'Error': {'$ref': '#/definitions/Error'},
18320 'Mode': {'type': 'string'}},
18321 'required': ['Error', 'Mode'],
18323 'ResolvedModeResults': {'additionalProperties': False,
18324 'properties': {'Results': {'items': {'$ref': '#/definitions/ResolvedModeResult'},
18326 'required': ['Results'],
18328 'ServiceStatusResult': {'additionalProperties': False,
18329 'properties': {'Error': {'$ref': '#/definitions/Error'},
18330 'Service': {'$ref': '#/definitions/StatusResult'},
18331 'Units': {'patternProperties': {'.*': {'$ref': '#/definitions/StatusResult'}},
18332 'type': 'object'}},
18333 'required': ['Service',
18337 'ServiceStatusResults': {'additionalProperties': False,
18338 'properties': {'Results': {'items': {'$ref': '#/definitions/ServiceStatusResult'},
18340 'required': ['Results'],
18342 'SetStatus': {'additionalProperties': False,
18343 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
18345 'required': ['Entities'],
18347 'SettingsResult': {'additionalProperties': False,
18348 'properties': {'Error': {'$ref': '#/definitions/Error'},
18349 'Settings': {'patternProperties': {'.*': {'type': 'string'}},
18350 'type': 'object'}},
18351 'required': ['Error', 'Settings'],
18353 'SettingsResults': {'additionalProperties': False,
18354 'properties': {'Results': {'items': {'$ref': '#/definitions/SettingsResult'},
18356 'required': ['Results'],
18358 'StatusResult': {'additionalProperties': False,
18359 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
18360 'type': 'object'}},
18362 'Error': {'$ref': '#/definitions/Error'},
18363 'Id': {'type': 'string'},
18364 'Info': {'type': 'string'},
18365 'Life': {'type': 'string'},
18366 'Since': {'format': 'date-time',
18368 'Status': {'type': 'string'}},
18369 'required': ['Error',
18377 'StatusResults': {'additionalProperties': False,
18378 'properties': {'Results': {'items': {'$ref': '#/definitions/StatusResult'},
18380 'required': ['Results'],
18382 'StorageAddParams': {'additionalProperties': False,
18383 'properties': {'StorageName': {'type': 'string'},
18384 'storage': {'$ref': '#/definitions/StorageConstraints'},
18385 'unit': {'type': 'string'}},
18386 'required': ['unit',
18390 'StorageAttachment': {'additionalProperties': False,
18391 'properties': {'Kind': {'type': 'integer'},
18392 'Life': {'type': 'string'},
18393 'Location': {'type': 'string'},
18394 'OwnerTag': {'type': 'string'},
18395 'StorageTag': {'type': 'string'},
18396 'UnitTag': {'type': 'string'}},
18397 'required': ['StorageTag',
18404 'StorageAttachmentId': {'additionalProperties': False,
18405 'properties': {'storagetag': {'type': 'string'},
18406 'unittag': {'type': 'string'}},
18407 'required': ['storagetag', 'unittag'],
18409 'StorageAttachmentIds': {'additionalProperties': False,
18410 'properties': {'ids': {'items': {'$ref': '#/definitions/StorageAttachmentId'},
18412 'required': ['ids'],
18414 'StorageAttachmentIdsResult': {'additionalProperties': False,
18415 'properties': {'error': {'$ref': '#/definitions/Error'},
18416 'result': {'$ref': '#/definitions/StorageAttachmentIds'}},
18417 'required': ['result'],
18419 'StorageAttachmentIdsResults': {'additionalProperties': False,
18420 'properties': {'results': {'items': {'$ref': '#/definitions/StorageAttachmentIdsResult'},
18423 'StorageAttachmentResult': {'additionalProperties': False,
18424 'properties': {'error': {'$ref': '#/definitions/Error'},
18425 'result': {'$ref': '#/definitions/StorageAttachment'}},
18426 'required': ['result'],
18428 'StorageAttachmentResults': {'additionalProperties': False,
18429 'properties': {'results': {'items': {'$ref': '#/definitions/StorageAttachmentResult'},
18432 'StorageConstraints': {'additionalProperties': False,
18433 'properties': {'Count': {'type': 'integer'},
18434 'Pool': {'type': 'string'},
18435 'Size': {'type': 'integer'}},
18436 'required': ['Pool', 'Size', 'Count'],
18438 'StoragesAddParams': {'additionalProperties': False,
18439 'properties': {'storages': {'items': {'$ref': '#/definitions/StorageAddParams'},
18441 'required': ['storages'],
18443 'StringBoolResult': {'additionalProperties': False,
18444 'properties': {'Error': {'$ref': '#/definitions/Error'},
18445 'Ok': {'type': 'boolean'},
18446 'Result': {'type': 'string'}},
18447 'required': ['Error', 'Result', 'Ok'],
18449 'StringBoolResults': {'additionalProperties': False,
18450 'properties': {'Results': {'items': {'$ref': '#/definitions/StringBoolResult'},
18452 'required': ['Results'],
18454 'StringResult': {'additionalProperties': False,
18455 'properties': {'Error': {'$ref': '#/definitions/Error'},
18456 'Result': {'type': 'string'}},
18457 'required': ['Error', 'Result'],
18459 'StringResults': {'additionalProperties': False,
18460 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'},
18462 'required': ['Results'],
18464 'StringsResult': {'additionalProperties': False,
18465 'properties': {'Error': {'$ref': '#/definitions/Error'},
18466 'Result': {'items': {'type': 'string'},
18468 'required': ['Error', 'Result'],
18470 'StringsResults': {'additionalProperties': False,
18471 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsResult'},
18473 'required': ['Results'],
18475 'StringsWatchResult': {'additionalProperties': False,
18476 'properties': {'Changes': {'items': {'type': 'string'},
18478 'Error': {'$ref': '#/definitions/Error'},
18479 'StringsWatcherId': {'type': 'string'}},
18480 'required': ['StringsWatcherId',
18484 'StringsWatchResults': {'additionalProperties': False,
18485 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
18487 'required': ['Results'],
18489 'UnitNetworkConfig': {'additionalProperties': False,
18490 'properties': {'BindingName': {'type': 'string'},
18491 'UnitTag': {'type': 'string'}},
18492 'required': ['UnitTag', 'BindingName'],
18494 'UnitNetworkConfigResult': {'additionalProperties': False,
18495 'properties': {'Error': {'$ref': '#/definitions/Error'},
18496 'Info': {'items': {'$ref': '#/definitions/NetworkConfig'},
18498 'required': ['Error', 'Info'],
18500 'UnitNetworkConfigResults': {'additionalProperties': False,
18501 'properties': {'Results': {'items': {'$ref': '#/definitions/UnitNetworkConfigResult'},
18503 'required': ['Results'],
18505 'UnitSettings': {'additionalProperties': False,
18506 'properties': {'Version': {'type': 'integer'}},
18507 'required': ['Version'],
18509 'UnitsNetworkConfig': {'additionalProperties': False,
18510 'properties': {'Args': {'items': {'$ref': '#/definitions/UnitNetworkConfig'},
18512 'required': ['Args'],
18514 'caveat': {'additionalProperties': False,
18515 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
18516 'location': {'$ref': '#/definitions/packet'},
18517 'verificationId': {'$ref': '#/definitions/packet'}},
18518 'required': ['location',
18522 'packet': {'additionalProperties': False,
18523 'properties': {'headerLen': {'type': 'integer'},
18524 'start': {'type': 'integer'},
18525 'totalLen': {'type': 'integer'}},
18526 'required': ['start', 'totalLen', 'headerLen'],
18527 'type': 'object'}},
18528 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
18530 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
18532 'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18533 'Result': {'$ref': '#/definitions/ActionResults'}},
18535 'AddMetricBatches': {'properties': {'Params': {'$ref': '#/definitions/MetricBatchParams'},
18536 'Result': {'$ref': '#/definitions/ErrorResults'}},
18538 'AddUnitStorage': {'properties': {'Params': {'$ref': '#/definitions/StoragesAddParams'},
18539 'Result': {'$ref': '#/definitions/ErrorResults'}},
18541 'AllMachinePorts': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18542 'Result': {'$ref': '#/definitions/MachinePortsResults'}},
18544 'AssignedMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18545 'Result': {'$ref': '#/definitions/StringResults'}},
18547 'AvailabilityZone': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18548 'Result': {'$ref': '#/definitions/StringResults'}},
18550 'BeginActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18551 'Result': {'$ref': '#/definitions/ErrorResults'}},
18553 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
18555 'CharmArchiveSha256': {'properties': {'Params': {'$ref': '#/definitions/CharmURLs'},
18556 'Result': {'$ref': '#/definitions/StringResults'}},
18558 'CharmModifiedVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18559 'Result': {'$ref': '#/definitions/IntResults'}},
18561 'CharmURL': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18562 'Result': {'$ref': '#/definitions/StringBoolResults'}},
18564 'ClearResolved': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18565 'Result': {'$ref': '#/definitions/ErrorResults'}},
18567 'ClosePorts': {'properties': {'Params': {'$ref': '#/definitions/EntitiesPortRanges'},
18568 'Result': {'$ref': '#/definitions/ErrorResults'}},
18570 'ConfigSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18571 'Result': {'$ref': '#/definitions/ConfigSettingsResults'}},
18573 'CurrentModel': {'properties': {'Result': {'$ref': '#/definitions/ModelResult'}},
18575 'Destroy': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18576 'Result': {'$ref': '#/definitions/ErrorResults'}},
18578 'DestroyAllSubordinates': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18579 'Result': {'$ref': '#/definitions/ErrorResults'}},
18581 'DestroyUnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18582 'Result': {'$ref': '#/definitions/ErrorResults'}},
18584 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18585 'Result': {'$ref': '#/definitions/ErrorResults'}},
18587 'EnterScope': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
18588 'Result': {'$ref': '#/definitions/ErrorResults'}},
18590 'FinishActions': {'properties': {'Params': {'$ref': '#/definitions/ActionExecutionResults'},
18591 'Result': {'$ref': '#/definitions/ErrorResults'}},
18593 'GetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18594 'Result': {'$ref': '#/definitions/MeterStatusResults'}},
18596 'GetPrincipal': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18597 'Result': {'$ref': '#/definitions/StringBoolResults'}},
18599 'HasSubordinates': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18600 'Result': {'$ref': '#/definitions/BoolResults'}},
18602 'JoinedRelations': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18603 'Result': {'$ref': '#/definitions/StringsResults'}},
18605 'LeaveScope': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
18606 'Result': {'$ref': '#/definitions/ErrorResults'}},
18608 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18609 'Result': {'$ref': '#/definitions/LifeResults'}},
18611 'Merge': {'properties': {'Params': {'$ref': '#/definitions/MergeLeadershipSettingsBulkParams'},
18612 'Result': {'$ref': '#/definitions/ErrorResults'}},
18614 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
18616 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
18618 'NetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/UnitsNetworkConfig'},
18619 'Result': {'$ref': '#/definitions/UnitNetworkConfigResults'}},
18621 'OpenPorts': {'properties': {'Params': {'$ref': '#/definitions/EntitiesPortRanges'},
18622 'Result': {'$ref': '#/definitions/ErrorResults'}},
18624 'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18625 'Result': {'$ref': '#/definitions/StringResults'}},
18627 'ProviderType': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
18629 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18630 'Result': {'$ref': '#/definitions/StringResults'}},
18632 'Read': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18633 'Result': {'$ref': '#/definitions/GetLeadershipSettingsBulkResults'}},
18635 'ReadRemoteSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnitPairs'},
18636 'Result': {'$ref': '#/definitions/SettingsResults'}},
18638 'ReadSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
18639 'Result': {'$ref': '#/definitions/SettingsResults'}},
18641 'Relation': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
18642 'Result': {'$ref': '#/definitions/RelationResults'}},
18644 'RelationById': {'properties': {'Params': {'$ref': '#/definitions/RelationIds'},
18645 'Result': {'$ref': '#/definitions/RelationResults'}},
18647 'RemoveStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
18648 'Result': {'$ref': '#/definitions/ErrorResults'}},
18650 'RequestReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18651 'Result': {'$ref': '#/definitions/ErrorResults'}},
18653 'Resolved': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18654 'Result': {'$ref': '#/definitions/ResolvedModeResults'}},
18656 'ServiceOwner': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18657 'Result': {'$ref': '#/definitions/StringResults'}},
18659 'ServiceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18660 'Result': {'$ref': '#/definitions/ServiceStatusResults'}},
18662 'SetAgentStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
18663 'Result': {'$ref': '#/definitions/ErrorResults'}},
18665 'SetCharmURL': {'properties': {'Params': {'$ref': '#/definitions/EntitiesCharmURL'},
18666 'Result': {'$ref': '#/definitions/ErrorResults'}},
18668 'SetServiceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
18669 'Result': {'$ref': '#/definitions/ErrorResults'}},
18671 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
18672 'Result': {'$ref': '#/definitions/ErrorResults'}},
18674 'SetUnitStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
18675 'Result': {'$ref': '#/definitions/ErrorResults'}},
18677 'StorageAttachmentLife': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
18678 'Result': {'$ref': '#/definitions/LifeResults'}},
18680 'StorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
18681 'Result': {'$ref': '#/definitions/StorageAttachmentResults'}},
18683 'UnitStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18684 'Result': {'$ref': '#/definitions/StatusResults'}},
18686 'UnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18687 'Result': {'$ref': '#/definitions/StorageAttachmentIdsResults'}},
18689 'UpdateSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnitsSettings'},
18690 'Result': {'$ref': '#/definitions/ErrorResults'}},
18692 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18693 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18695 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
18697 'WatchActionNotifications': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18698 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
18700 'WatchConfigSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18701 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18703 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
18705 'WatchLeadershipSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18706 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18708 'WatchMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18709 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18711 'WatchRelationUnits': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
18712 'Result': {'$ref': '#/definitions/RelationUnitsWatchResults'}},
18714 'WatchServiceRelations': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18715 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
18717 'WatchStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
18718 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18720 'WatchUnitAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18721 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18723 'WatchUnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18724 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
18725 'type': 'object'}},
18729 @ReturnMapping(StringsResult
)
18730 async def APIAddresses(self
):
18733 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
18735 # map input types to rpc msg
18737 msg
= dict(Type
='Uniter', Request
='APIAddresses', Version
=3, Params
=params
)
18739 reply
= await self
.rpc(msg
)
18744 @ReturnMapping(APIHostPortsResult
)
18745 async def APIHostPorts(self
):
18748 Returns -> typing.Sequence[~HostPort]
18750 # map input types to rpc msg
18752 msg
= dict(Type
='Uniter', Request
='APIHostPorts', Version
=3, Params
=params
)
18754 reply
= await self
.rpc(msg
)
18759 @ReturnMapping(ActionResults
)
18760 async def Actions(self
, entities
):
18762 entities : typing.Sequence[~Entity]
18763 Returns -> typing.Sequence[~ActionResult]
18765 # map input types to rpc msg
18767 msg
= dict(Type
='Uniter', Request
='Actions', Version
=3, Params
=params
)
18768 params
['Entities'] = entities
18769 reply
= await self
.rpc(msg
)
18774 @ReturnMapping(ErrorResults
)
18775 async def AddMetricBatches(self
, batches
):
18777 batches : typing.Sequence[~MetricBatchParam]
18778 Returns -> typing.Sequence[~ErrorResult]
18780 # map input types to rpc msg
18782 msg
= dict(Type
='Uniter', Request
='AddMetricBatches', Version
=3, Params
=params
)
18783 params
['Batches'] = batches
18784 reply
= await self
.rpc(msg
)
18789 @ReturnMapping(ErrorResults
)
18790 async def AddUnitStorage(self
, storages
):
18792 storages : typing.Sequence[~StorageAddParams]
18793 Returns -> typing.Sequence[~ErrorResult]
18795 # map input types to rpc msg
18797 msg
= dict(Type
='Uniter', Request
='AddUnitStorage', Version
=3, Params
=params
)
18798 params
['storages'] = storages
18799 reply
= await self
.rpc(msg
)
18804 @ReturnMapping(MachinePortsResults
)
18805 async def AllMachinePorts(self
, entities
):
18807 entities : typing.Sequence[~Entity]
18808 Returns -> typing.Sequence[~MachinePortsResult]
18810 # map input types to rpc msg
18812 msg
= dict(Type
='Uniter', Request
='AllMachinePorts', Version
=3, Params
=params
)
18813 params
['Entities'] = entities
18814 reply
= await self
.rpc(msg
)
18819 @ReturnMapping(StringResults
)
18820 async def AssignedMachine(self
, entities
):
18822 entities : typing.Sequence[~Entity]
18823 Returns -> typing.Sequence[~StringResult]
18825 # map input types to rpc msg
18827 msg
= dict(Type
='Uniter', Request
='AssignedMachine', Version
=3, Params
=params
)
18828 params
['Entities'] = entities
18829 reply
= await self
.rpc(msg
)
18834 @ReturnMapping(StringResults
)
18835 async def AvailabilityZone(self
, entities
):
18837 entities : typing.Sequence[~Entity]
18838 Returns -> typing.Sequence[~StringResult]
18840 # map input types to rpc msg
18842 msg
= dict(Type
='Uniter', Request
='AvailabilityZone', Version
=3, Params
=params
)
18843 params
['Entities'] = entities
18844 reply
= await self
.rpc(msg
)
18849 @ReturnMapping(ErrorResults
)
18850 async def BeginActions(self
, entities
):
18852 entities : typing.Sequence[~Entity]
18853 Returns -> typing.Sequence[~ErrorResult]
18855 # map input types to rpc msg
18857 msg
= dict(Type
='Uniter', Request
='BeginActions', Version
=3, Params
=params
)
18858 params
['Entities'] = entities
18859 reply
= await self
.rpc(msg
)
18864 @ReturnMapping(BytesResult
)
18865 async def CACert(self
):
18868 Returns -> typing.Sequence[int]
18870 # map input types to rpc msg
18872 msg
= dict(Type
='Uniter', Request
='CACert', Version
=3, Params
=params
)
18874 reply
= await self
.rpc(msg
)
18879 @ReturnMapping(StringResults
)
18880 async def CharmArchiveSha256(self
, urls
):
18882 urls : typing.Sequence[~CharmURL]
18883 Returns -> typing.Sequence[~StringResult]
18885 # map input types to rpc msg
18887 msg
= dict(Type
='Uniter', Request
='CharmArchiveSha256', Version
=3, Params
=params
)
18888 params
['URLs'] = urls
18889 reply
= await self
.rpc(msg
)
18894 @ReturnMapping(IntResults
)
18895 async def CharmModifiedVersion(self
, entities
):
18897 entities : typing.Sequence[~Entity]
18898 Returns -> typing.Sequence[~IntResult]
18900 # map input types to rpc msg
18902 msg
= dict(Type
='Uniter', Request
='CharmModifiedVersion', Version
=3, Params
=params
)
18903 params
['Entities'] = entities
18904 reply
= await self
.rpc(msg
)
18909 @ReturnMapping(StringBoolResults
)
18910 async def CharmURL(self
, entities
):
18912 entities : typing.Sequence[~Entity]
18913 Returns -> typing.Sequence[~StringBoolResult]
18915 # map input types to rpc msg
18917 msg
= dict(Type
='Uniter', Request
='CharmURL', Version
=3, Params
=params
)
18918 params
['Entities'] = entities
18919 reply
= await self
.rpc(msg
)
18924 @ReturnMapping(ErrorResults
)
18925 async def ClearResolved(self
, entities
):
18927 entities : typing.Sequence[~Entity]
18928 Returns -> typing.Sequence[~ErrorResult]
18930 # map input types to rpc msg
18932 msg
= dict(Type
='Uniter', Request
='ClearResolved', Version
=3, Params
=params
)
18933 params
['Entities'] = entities
18934 reply
= await self
.rpc(msg
)
18939 @ReturnMapping(ErrorResults
)
18940 async def ClosePorts(self
, entities
):
18942 entities : typing.Sequence[~EntityPortRange]
18943 Returns -> typing.Sequence[~ErrorResult]
18945 # map input types to rpc msg
18947 msg
= dict(Type
='Uniter', Request
='ClosePorts', Version
=3, Params
=params
)
18948 params
['Entities'] = entities
18949 reply
= await self
.rpc(msg
)
18954 @ReturnMapping(ConfigSettingsResults
)
18955 async def ConfigSettings(self
, entities
):
18957 entities : typing.Sequence[~Entity]
18958 Returns -> typing.Sequence[~ConfigSettingsResult]
18960 # map input types to rpc msg
18962 msg
= dict(Type
='Uniter', Request
='ConfigSettings', Version
=3, Params
=params
)
18963 params
['Entities'] = entities
18964 reply
= await self
.rpc(msg
)
18969 @ReturnMapping(ModelResult
)
18970 async def CurrentModel(self
):
18973 Returns -> typing.Union[_ForwardRef('Error'), str]
18975 # map input types to rpc msg
18977 msg
= dict(Type
='Uniter', Request
='CurrentModel', Version
=3, Params
=params
)
18979 reply
= await self
.rpc(msg
)
18984 @ReturnMapping(ErrorResults
)
18985 async def Destroy(self
, entities
):
18987 entities : typing.Sequence[~Entity]
18988 Returns -> typing.Sequence[~ErrorResult]
18990 # map input types to rpc msg
18992 msg
= dict(Type
='Uniter', Request
='Destroy', Version
=3, Params
=params
)
18993 params
['Entities'] = entities
18994 reply
= await self
.rpc(msg
)
18999 @ReturnMapping(ErrorResults
)
19000 async def DestroyAllSubordinates(self
, entities
):
19002 entities : typing.Sequence[~Entity]
19003 Returns -> typing.Sequence[~ErrorResult]
19005 # map input types to rpc msg
19007 msg
= dict(Type
='Uniter', Request
='DestroyAllSubordinates', Version
=3, Params
=params
)
19008 params
['Entities'] = entities
19009 reply
= await self
.rpc(msg
)
19014 @ReturnMapping(ErrorResults
)
19015 async def DestroyUnitStorageAttachments(self
, entities
):
19017 entities : typing.Sequence[~Entity]
19018 Returns -> typing.Sequence[~ErrorResult]
19020 # map input types to rpc msg
19022 msg
= dict(Type
='Uniter', Request
='DestroyUnitStorageAttachments', Version
=3, Params
=params
)
19023 params
['Entities'] = entities
19024 reply
= await self
.rpc(msg
)
19029 @ReturnMapping(ErrorResults
)
19030 async def EnsureDead(self
, entities
):
19032 entities : typing.Sequence[~Entity]
19033 Returns -> typing.Sequence[~ErrorResult]
19035 # map input types to rpc msg
19037 msg
= dict(Type
='Uniter', Request
='EnsureDead', Version
=3, Params
=params
)
19038 params
['Entities'] = entities
19039 reply
= await self
.rpc(msg
)
19044 @ReturnMapping(ErrorResults
)
19045 async def EnterScope(self
, relationunits
):
19047 relationunits : typing.Sequence[~RelationUnit]
19048 Returns -> typing.Sequence[~ErrorResult]
19050 # map input types to rpc msg
19052 msg
= dict(Type
='Uniter', Request
='EnterScope', Version
=3, Params
=params
)
19053 params
['RelationUnits'] = relationunits
19054 reply
= await self
.rpc(msg
)
19059 @ReturnMapping(ErrorResults
)
19060 async def FinishActions(self
, results
):
19062 results : typing.Sequence[~ActionExecutionResult]
19063 Returns -> typing.Sequence[~ErrorResult]
19065 # map input types to rpc msg
19067 msg
= dict(Type
='Uniter', Request
='FinishActions', Version
=3, Params
=params
)
19068 params
['results'] = results
19069 reply
= await self
.rpc(msg
)
19074 @ReturnMapping(MeterStatusResults
)
19075 async def GetMeterStatus(self
, entities
):
19077 entities : typing.Sequence[~Entity]
19078 Returns -> typing.Sequence[~MeterStatusResult]
19080 # map input types to rpc msg
19082 msg
= dict(Type
='Uniter', Request
='GetMeterStatus', Version
=3, Params
=params
)
19083 params
['Entities'] = entities
19084 reply
= await self
.rpc(msg
)
19089 @ReturnMapping(StringBoolResults
)
19090 async def GetPrincipal(self
, entities
):
19092 entities : typing.Sequence[~Entity]
19093 Returns -> typing.Sequence[~StringBoolResult]
19095 # map input types to rpc msg
19097 msg
= dict(Type
='Uniter', Request
='GetPrincipal', Version
=3, Params
=params
)
19098 params
['Entities'] = entities
19099 reply
= await self
.rpc(msg
)
19104 @ReturnMapping(BoolResults
)
19105 async def HasSubordinates(self
, entities
):
19107 entities : typing.Sequence[~Entity]
19108 Returns -> typing.Sequence[~BoolResult]
19110 # map input types to rpc msg
19112 msg
= dict(Type
='Uniter', Request
='HasSubordinates', Version
=3, Params
=params
)
19113 params
['Entities'] = entities
19114 reply
= await self
.rpc(msg
)
19119 @ReturnMapping(StringsResults
)
19120 async def JoinedRelations(self
, entities
):
19122 entities : typing.Sequence[~Entity]
19123 Returns -> typing.Sequence[~StringsResult]
19125 # map input types to rpc msg
19127 msg
= dict(Type
='Uniter', Request
='JoinedRelations', Version
=3, Params
=params
)
19128 params
['Entities'] = entities
19129 reply
= await self
.rpc(msg
)
19134 @ReturnMapping(ErrorResults
)
19135 async def LeaveScope(self
, relationunits
):
19137 relationunits : typing.Sequence[~RelationUnit]
19138 Returns -> typing.Sequence[~ErrorResult]
19140 # map input types to rpc msg
19142 msg
= dict(Type
='Uniter', Request
='LeaveScope', Version
=3, Params
=params
)
19143 params
['RelationUnits'] = relationunits
19144 reply
= await self
.rpc(msg
)
19149 @ReturnMapping(LifeResults
)
19150 async def Life(self
, entities
):
19152 entities : typing.Sequence[~Entity]
19153 Returns -> typing.Sequence[~LifeResult]
19155 # map input types to rpc msg
19157 msg
= dict(Type
='Uniter', Request
='Life', Version
=3, Params
=params
)
19158 params
['Entities'] = entities
19159 reply
= await self
.rpc(msg
)
19164 @ReturnMapping(ErrorResults
)
19165 async def Merge(self
, params
):
19167 params : typing.Sequence[~MergeLeadershipSettingsParam]
19168 Returns -> typing.Sequence[~ErrorResult]
19170 # map input types to rpc msg
19172 msg
= dict(Type
='Uniter', Request
='Merge', Version
=3, Params
=params
)
19173 params
['Params'] = params
19174 reply
= await self
.rpc(msg
)
19179 @ReturnMapping(ModelConfigResult
)
19180 async def ModelConfig(self
):
19183 Returns -> typing.Mapping[str, typing.Any]
19185 # map input types to rpc msg
19187 msg
= dict(Type
='Uniter', Request
='ModelConfig', Version
=3, Params
=params
)
19189 reply
= await self
.rpc(msg
)
19194 @ReturnMapping(StringResult
)
19195 async def ModelUUID(self
):
19198 Returns -> typing.Union[_ForwardRef('Error'), str]
19200 # map input types to rpc msg
19202 msg
= dict(Type
='Uniter', Request
='ModelUUID', Version
=3, Params
=params
)
19204 reply
= await self
.rpc(msg
)
19209 @ReturnMapping(UnitNetworkConfigResults
)
19210 async def NetworkConfig(self
, args
):
19212 args : typing.Sequence[~UnitNetworkConfig]
19213 Returns -> typing.Sequence[~UnitNetworkConfigResult]
19215 # map input types to rpc msg
19217 msg
= dict(Type
='Uniter', Request
='NetworkConfig', Version
=3, Params
=params
)
19218 params
['Args'] = args
19219 reply
= await self
.rpc(msg
)
19224 @ReturnMapping(ErrorResults
)
19225 async def OpenPorts(self
, entities
):
19227 entities : typing.Sequence[~EntityPortRange]
19228 Returns -> typing.Sequence[~ErrorResult]
19230 # map input types to rpc msg
19232 msg
= dict(Type
='Uniter', Request
='OpenPorts', Version
=3, Params
=params
)
19233 params
['Entities'] = entities
19234 reply
= await self
.rpc(msg
)
19239 @ReturnMapping(StringResults
)
19240 async def PrivateAddress(self
, entities
):
19242 entities : typing.Sequence[~Entity]
19243 Returns -> typing.Sequence[~StringResult]
19245 # map input types to rpc msg
19247 msg
= dict(Type
='Uniter', Request
='PrivateAddress', Version
=3, Params
=params
)
19248 params
['Entities'] = entities
19249 reply
= await self
.rpc(msg
)
19254 @ReturnMapping(StringResult
)
19255 async def ProviderType(self
):
19258 Returns -> typing.Union[_ForwardRef('Error'), str]
19260 # map input types to rpc msg
19262 msg
= dict(Type
='Uniter', Request
='ProviderType', Version
=3, Params
=params
)
19264 reply
= await self
.rpc(msg
)
19269 @ReturnMapping(StringResults
)
19270 async def PublicAddress(self
, entities
):
19272 entities : typing.Sequence[~Entity]
19273 Returns -> typing.Sequence[~StringResult]
19275 # map input types to rpc msg
19277 msg
= dict(Type
='Uniter', Request
='PublicAddress', Version
=3, Params
=params
)
19278 params
['Entities'] = entities
19279 reply
= await self
.rpc(msg
)
19284 @ReturnMapping(GetLeadershipSettingsBulkResults
)
19285 async def Read(self
, entities
):
19287 entities : typing.Sequence[~Entity]
19288 Returns -> typing.Sequence[~GetLeadershipSettingsResult]
19290 # map input types to rpc msg
19292 msg
= dict(Type
='Uniter', Request
='Read', Version
=3, Params
=params
)
19293 params
['Entities'] = entities
19294 reply
= await self
.rpc(msg
)
19299 @ReturnMapping(SettingsResults
)
19300 async def ReadRemoteSettings(self
, relationunitpairs
):
19302 relationunitpairs : typing.Sequence[~RelationUnitPair]
19303 Returns -> typing.Sequence[~SettingsResult]
19305 # map input types to rpc msg
19307 msg
= dict(Type
='Uniter', Request
='ReadRemoteSettings', Version
=3, Params
=params
)
19308 params
['RelationUnitPairs'] = relationunitpairs
19309 reply
= await self
.rpc(msg
)
19314 @ReturnMapping(SettingsResults
)
19315 async def ReadSettings(self
, relationunits
):
19317 relationunits : typing.Sequence[~RelationUnit]
19318 Returns -> typing.Sequence[~SettingsResult]
19320 # map input types to rpc msg
19322 msg
= dict(Type
='Uniter', Request
='ReadSettings', Version
=3, Params
=params
)
19323 params
['RelationUnits'] = relationunits
19324 reply
= await self
.rpc(msg
)
19329 @ReturnMapping(RelationResults
)
19330 async def Relation(self
, relationunits
):
19332 relationunits : typing.Sequence[~RelationUnit]
19333 Returns -> typing.Sequence[~RelationResult]
19335 # map input types to rpc msg
19337 msg
= dict(Type
='Uniter', Request
='Relation', Version
=3, Params
=params
)
19338 params
['RelationUnits'] = relationunits
19339 reply
= await self
.rpc(msg
)
19344 @ReturnMapping(RelationResults
)
19345 async def RelationById(self
, relationids
):
19347 relationids : typing.Sequence[int]
19348 Returns -> typing.Sequence[~RelationResult]
19350 # map input types to rpc msg
19352 msg
= dict(Type
='Uniter', Request
='RelationById', Version
=3, Params
=params
)
19353 params
['RelationIds'] = relationids
19354 reply
= await self
.rpc(msg
)
19359 @ReturnMapping(ErrorResults
)
19360 async def RemoveStorageAttachments(self
, ids
):
19362 ids : typing.Sequence[~StorageAttachmentId]
19363 Returns -> typing.Sequence[~ErrorResult]
19365 # map input types to rpc msg
19367 msg
= dict(Type
='Uniter', Request
='RemoveStorageAttachments', Version
=3, Params
=params
)
19368 params
['ids'] = ids
19369 reply
= await self
.rpc(msg
)
19374 @ReturnMapping(ErrorResults
)
19375 async def RequestReboot(self
, entities
):
19377 entities : typing.Sequence[~Entity]
19378 Returns -> typing.Sequence[~ErrorResult]
19380 # map input types to rpc msg
19382 msg
= dict(Type
='Uniter', Request
='RequestReboot', Version
=3, Params
=params
)
19383 params
['Entities'] = entities
19384 reply
= await self
.rpc(msg
)
19389 @ReturnMapping(ResolvedModeResults
)
19390 async def Resolved(self
, entities
):
19392 entities : typing.Sequence[~Entity]
19393 Returns -> typing.Sequence[~ResolvedModeResult]
19395 # map input types to rpc msg
19397 msg
= dict(Type
='Uniter', Request
='Resolved', Version
=3, Params
=params
)
19398 params
['Entities'] = entities
19399 reply
= await self
.rpc(msg
)
19404 @ReturnMapping(StringResults
)
19405 async def ServiceOwner(self
, entities
):
19407 entities : typing.Sequence[~Entity]
19408 Returns -> typing.Sequence[~StringResult]
19410 # map input types to rpc msg
19412 msg
= dict(Type
='Uniter', Request
='ServiceOwner', Version
=3, Params
=params
)
19413 params
['Entities'] = entities
19414 reply
= await self
.rpc(msg
)
19419 @ReturnMapping(ServiceStatusResults
)
19420 async def ServiceStatus(self
, entities
):
19422 entities : typing.Sequence[~Entity]
19423 Returns -> typing.Sequence[~ServiceStatusResult]
19425 # map input types to rpc msg
19427 msg
= dict(Type
='Uniter', Request
='ServiceStatus', Version
=3, Params
=params
)
19428 params
['Entities'] = entities
19429 reply
= await self
.rpc(msg
)
19434 @ReturnMapping(ErrorResults
)
19435 async def SetAgentStatus(self
, entities
):
19437 entities : typing.Sequence[~EntityStatusArgs]
19438 Returns -> typing.Sequence[~ErrorResult]
19440 # map input types to rpc msg
19442 msg
= dict(Type
='Uniter', Request
='SetAgentStatus', Version
=3, Params
=params
)
19443 params
['Entities'] = entities
19444 reply
= await self
.rpc(msg
)
19449 @ReturnMapping(ErrorResults
)
19450 async def SetCharmURL(self
, entities
):
19452 entities : typing.Sequence[~EntityCharmURL]
19453 Returns -> typing.Sequence[~ErrorResult]
19455 # map input types to rpc msg
19457 msg
= dict(Type
='Uniter', Request
='SetCharmURL', Version
=3, Params
=params
)
19458 params
['Entities'] = entities
19459 reply
= await self
.rpc(msg
)
19464 @ReturnMapping(ErrorResults
)
19465 async def SetServiceStatus(self
, entities
):
19467 entities : typing.Sequence[~EntityStatusArgs]
19468 Returns -> typing.Sequence[~ErrorResult]
19470 # map input types to rpc msg
19472 msg
= dict(Type
='Uniter', Request
='SetServiceStatus', Version
=3, Params
=params
)
19473 params
['Entities'] = entities
19474 reply
= await self
.rpc(msg
)
19479 @ReturnMapping(ErrorResults
)
19480 async def SetStatus(self
, entities
):
19482 entities : typing.Sequence[~EntityStatusArgs]
19483 Returns -> typing.Sequence[~ErrorResult]
19485 # map input types to rpc msg
19487 msg
= dict(Type
='Uniter', Request
='SetStatus', Version
=3, Params
=params
)
19488 params
['Entities'] = entities
19489 reply
= await self
.rpc(msg
)
19494 @ReturnMapping(ErrorResults
)
19495 async def SetUnitStatus(self
, entities
):
19497 entities : typing.Sequence[~EntityStatusArgs]
19498 Returns -> typing.Sequence[~ErrorResult]
19500 # map input types to rpc msg
19502 msg
= dict(Type
='Uniter', Request
='SetUnitStatus', Version
=3, Params
=params
)
19503 params
['Entities'] = entities
19504 reply
= await self
.rpc(msg
)
19509 @ReturnMapping(LifeResults
)
19510 async def StorageAttachmentLife(self
, ids
):
19512 ids : typing.Sequence[~StorageAttachmentId]
19513 Returns -> typing.Sequence[~LifeResult]
19515 # map input types to rpc msg
19517 msg
= dict(Type
='Uniter', Request
='StorageAttachmentLife', Version
=3, Params
=params
)
19518 params
['ids'] = ids
19519 reply
= await self
.rpc(msg
)
19524 @ReturnMapping(StorageAttachmentResults
)
19525 async def StorageAttachments(self
, ids
):
19527 ids : typing.Sequence[~StorageAttachmentId]
19528 Returns -> typing.Sequence[~StorageAttachmentResult]
19530 # map input types to rpc msg
19532 msg
= dict(Type
='Uniter', Request
='StorageAttachments', Version
=3, Params
=params
)
19533 params
['ids'] = ids
19534 reply
= await self
.rpc(msg
)
19539 @ReturnMapping(StatusResults
)
19540 async def UnitStatus(self
, entities
):
19542 entities : typing.Sequence[~Entity]
19543 Returns -> typing.Sequence[~StatusResult]
19545 # map input types to rpc msg
19547 msg
= dict(Type
='Uniter', Request
='UnitStatus', Version
=3, Params
=params
)
19548 params
['Entities'] = entities
19549 reply
= await self
.rpc(msg
)
19554 @ReturnMapping(StorageAttachmentIdsResults
)
19555 async def UnitStorageAttachments(self
, entities
):
19557 entities : typing.Sequence[~Entity]
19558 Returns -> typing.Sequence[~StorageAttachmentIdsResult]
19560 # map input types to rpc msg
19562 msg
= dict(Type
='Uniter', Request
='UnitStorageAttachments', Version
=3, Params
=params
)
19563 params
['Entities'] = entities
19564 reply
= await self
.rpc(msg
)
19569 @ReturnMapping(ErrorResults
)
19570 async def UpdateSettings(self
, relationunits
):
19572 relationunits : typing.Sequence[~RelationUnitSettings]
19573 Returns -> typing.Sequence[~ErrorResult]
19575 # map input types to rpc msg
19577 msg
= dict(Type
='Uniter', Request
='UpdateSettings', Version
=3, Params
=params
)
19578 params
['RelationUnits'] = relationunits
19579 reply
= await self
.rpc(msg
)
19584 @ReturnMapping(NotifyWatchResults
)
19585 async def Watch(self
, entities
):
19587 entities : typing.Sequence[~Entity]
19588 Returns -> typing.Sequence[~NotifyWatchResult]
19590 # map input types to rpc msg
19592 msg
= dict(Type
='Uniter', Request
='Watch', Version
=3, Params
=params
)
19593 params
['Entities'] = entities
19594 reply
= await self
.rpc(msg
)
19599 @ReturnMapping(NotifyWatchResult
)
19600 async def WatchAPIHostPorts(self
):
19603 Returns -> typing.Union[_ForwardRef('Error'), str]
19605 # map input types to rpc msg
19607 msg
= dict(Type
='Uniter', Request
='WatchAPIHostPorts', Version
=3, Params
=params
)
19609 reply
= await self
.rpc(msg
)
19614 @ReturnMapping(StringsWatchResults
)
19615 async def WatchActionNotifications(self
, entities
):
19617 entities : typing.Sequence[~Entity]
19618 Returns -> typing.Sequence[~StringsWatchResult]
19620 # map input types to rpc msg
19622 msg
= dict(Type
='Uniter', Request
='WatchActionNotifications', Version
=3, Params
=params
)
19623 params
['Entities'] = entities
19624 reply
= await self
.rpc(msg
)
19629 @ReturnMapping(NotifyWatchResults
)
19630 async def WatchConfigSettings(self
, entities
):
19632 entities : typing.Sequence[~Entity]
19633 Returns -> typing.Sequence[~NotifyWatchResult]
19635 # map input types to rpc msg
19637 msg
= dict(Type
='Uniter', Request
='WatchConfigSettings', Version
=3, Params
=params
)
19638 params
['Entities'] = entities
19639 reply
= await self
.rpc(msg
)
19644 @ReturnMapping(NotifyWatchResult
)
19645 async def WatchForModelConfigChanges(self
):
19648 Returns -> typing.Union[_ForwardRef('Error'), str]
19650 # map input types to rpc msg
19652 msg
= dict(Type
='Uniter', Request
='WatchForModelConfigChanges', Version
=3, Params
=params
)
19654 reply
= await self
.rpc(msg
)
19659 @ReturnMapping(NotifyWatchResults
)
19660 async def WatchLeadershipSettings(self
, entities
):
19662 entities : typing.Sequence[~Entity]
19663 Returns -> typing.Sequence[~NotifyWatchResult]
19665 # map input types to rpc msg
19667 msg
= dict(Type
='Uniter', Request
='WatchLeadershipSettings', Version
=3, Params
=params
)
19668 params
['Entities'] = entities
19669 reply
= await self
.rpc(msg
)
19674 @ReturnMapping(NotifyWatchResults
)
19675 async def WatchMeterStatus(self
, entities
):
19677 entities : typing.Sequence[~Entity]
19678 Returns -> typing.Sequence[~NotifyWatchResult]
19680 # map input types to rpc msg
19682 msg
= dict(Type
='Uniter', Request
='WatchMeterStatus', Version
=3, Params
=params
)
19683 params
['Entities'] = entities
19684 reply
= await self
.rpc(msg
)
19689 @ReturnMapping(RelationUnitsWatchResults
)
19690 async def WatchRelationUnits(self
, relationunits
):
19692 relationunits : typing.Sequence[~RelationUnit]
19693 Returns -> typing.Sequence[~RelationUnitsWatchResult]
19695 # map input types to rpc msg
19697 msg
= dict(Type
='Uniter', Request
='WatchRelationUnits', Version
=3, Params
=params
)
19698 params
['RelationUnits'] = relationunits
19699 reply
= await self
.rpc(msg
)
19704 @ReturnMapping(StringsWatchResults
)
19705 async def WatchServiceRelations(self
, entities
):
19707 entities : typing.Sequence[~Entity]
19708 Returns -> typing.Sequence[~StringsWatchResult]
19710 # map input types to rpc msg
19712 msg
= dict(Type
='Uniter', Request
='WatchServiceRelations', Version
=3, Params
=params
)
19713 params
['Entities'] = entities
19714 reply
= await self
.rpc(msg
)
19719 @ReturnMapping(NotifyWatchResults
)
19720 async def WatchStorageAttachments(self
, ids
):
19722 ids : typing.Sequence[~StorageAttachmentId]
19723 Returns -> typing.Sequence[~NotifyWatchResult]
19725 # map input types to rpc msg
19727 msg
= dict(Type
='Uniter', Request
='WatchStorageAttachments', Version
=3, Params
=params
)
19728 params
['ids'] = ids
19729 reply
= await self
.rpc(msg
)
19734 @ReturnMapping(NotifyWatchResults
)
19735 async def WatchUnitAddresses(self
, entities
):
19737 entities : typing.Sequence[~Entity]
19738 Returns -> typing.Sequence[~NotifyWatchResult]
19740 # map input types to rpc msg
19742 msg
= dict(Type
='Uniter', Request
='WatchUnitAddresses', Version
=3, Params
=params
)
19743 params
['Entities'] = entities
19744 reply
= await self
.rpc(msg
)
19749 @ReturnMapping(StringsWatchResults
)
19750 async def WatchUnitStorageAttachments(self
, entities
):
19752 entities : typing.Sequence[~Entity]
19753 Returns -> typing.Sequence[~StringsWatchResult]
19755 # map input types to rpc msg
19757 msg
= dict(Type
='Uniter', Request
='WatchUnitStorageAttachments', Version
=3, Params
=params
)
19758 params
['Entities'] = entities
19759 reply
= await self
.rpc(msg
)
19763 class Upgrader(Type
):
19766 schema
= {'definitions': {'Binary': {'additionalProperties': False,
19767 'properties': {'Arch': {'type': 'string'},
19768 'Number': {'$ref': '#/definitions/Number'},
19769 'Series': {'type': 'string'}},
19770 'required': ['Number', 'Series', 'Arch'],
19772 'Entities': {'additionalProperties': False,
19773 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
19775 'required': ['Entities'],
19777 'EntitiesVersion': {'additionalProperties': False,
19778 'properties': {'AgentTools': {'items': {'$ref': '#/definitions/EntityVersion'},
19780 'required': ['AgentTools'],
19782 'Entity': {'additionalProperties': False,
19783 'properties': {'Tag': {'type': 'string'}},
19784 'required': ['Tag'],
19786 'EntityVersion': {'additionalProperties': False,
19787 'properties': {'Tag': {'type': 'string'},
19788 'Tools': {'$ref': '#/definitions/Version'}},
19789 'required': ['Tag', 'Tools'],
19791 'Error': {'additionalProperties': False,
19792 'properties': {'Code': {'type': 'string'},
19793 'Info': {'$ref': '#/definitions/ErrorInfo'},
19794 'Message': {'type': 'string'}},
19795 'required': ['Message', 'Code'],
19797 'ErrorInfo': {'additionalProperties': False,
19798 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
19799 'MacaroonPath': {'type': 'string'}},
19801 'ErrorResult': {'additionalProperties': False,
19802 'properties': {'Error': {'$ref': '#/definitions/Error'}},
19803 'required': ['Error'],
19805 'ErrorResults': {'additionalProperties': False,
19806 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
19808 'required': ['Results'],
19810 'Macaroon': {'additionalProperties': False,
19811 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
19813 'data': {'items': {'type': 'integer'},
19815 'id': {'$ref': '#/definitions/packet'},
19816 'location': {'$ref': '#/definitions/packet'},
19817 'sig': {'items': {'type': 'integer'},
19819 'required': ['data',
19825 'NotifyWatchResult': {'additionalProperties': False,
19826 'properties': {'Error': {'$ref': '#/definitions/Error'},
19827 'NotifyWatcherId': {'type': 'string'}},
19828 'required': ['NotifyWatcherId', 'Error'],
19830 'NotifyWatchResults': {'additionalProperties': False,
19831 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
19833 'required': ['Results'],
19835 'Number': {'additionalProperties': False,
19836 'properties': {'Build': {'type': 'integer'},
19837 'Major': {'type': 'integer'},
19838 'Minor': {'type': 'integer'},
19839 'Patch': {'type': 'integer'},
19840 'Tag': {'type': 'string'}},
19841 'required': ['Major',
19847 'Tools': {'additionalProperties': False,
19848 'properties': {'sha256': {'type': 'string'},
19849 'size': {'type': 'integer'},
19850 'url': {'type': 'string'},
19851 'version': {'$ref': '#/definitions/Binary'}},
19852 'required': ['version', 'url', 'size'],
19854 'ToolsResult': {'additionalProperties': False,
19855 'properties': {'DisableSSLHostnameVerification': {'type': 'boolean'},
19856 'Error': {'$ref': '#/definitions/Error'},
19857 'ToolsList': {'items': {'$ref': '#/definitions/Tools'},
19859 'required': ['ToolsList',
19860 'DisableSSLHostnameVerification',
19863 'ToolsResults': {'additionalProperties': False,
19864 'properties': {'Results': {'items': {'$ref': '#/definitions/ToolsResult'},
19866 'required': ['Results'],
19868 'Version': {'additionalProperties': False,
19869 'properties': {'Version': {'$ref': '#/definitions/Binary'}},
19870 'required': ['Version'],
19872 'VersionResult': {'additionalProperties': False,
19873 'properties': {'Error': {'$ref': '#/definitions/Error'},
19874 'Version': {'$ref': '#/definitions/Number'}},
19875 'required': ['Version', 'Error'],
19877 'VersionResults': {'additionalProperties': False,
19878 'properties': {'Results': {'items': {'$ref': '#/definitions/VersionResult'},
19880 'required': ['Results'],
19882 'caveat': {'additionalProperties': False,
19883 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
19884 'location': {'$ref': '#/definitions/packet'},
19885 'verificationId': {'$ref': '#/definitions/packet'}},
19886 'required': ['location',
19890 'packet': {'additionalProperties': False,
19891 'properties': {'headerLen': {'type': 'integer'},
19892 'start': {'type': 'integer'},
19893 'totalLen': {'type': 'integer'}},
19894 'required': ['start', 'totalLen', 'headerLen'],
19895 'type': 'object'}},
19896 'properties': {'DesiredVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19897 'Result': {'$ref': '#/definitions/VersionResults'}},
19899 'SetTools': {'properties': {'Params': {'$ref': '#/definitions/EntitiesVersion'},
19900 'Result': {'$ref': '#/definitions/ErrorResults'}},
19902 'Tools': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19903 'Result': {'$ref': '#/definitions/ToolsResults'}},
19905 'WatchAPIVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19906 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
19907 'type': 'object'}},
19911 @ReturnMapping(VersionResults
)
19912 async def DesiredVersion(self
, entities
):
19914 entities : typing.Sequence[~Entity]
19915 Returns -> typing.Sequence[~VersionResult]
19917 # map input types to rpc msg
19919 msg
= dict(Type
='Upgrader', Request
='DesiredVersion', Version
=1, Params
=params
)
19920 params
['Entities'] = entities
19921 reply
= await self
.rpc(msg
)
19926 @ReturnMapping(ErrorResults
)
19927 async def SetTools(self
, agenttools
):
19929 agenttools : typing.Sequence[~EntityVersion]
19930 Returns -> typing.Sequence[~ErrorResult]
19932 # map input types to rpc msg
19934 msg
= dict(Type
='Upgrader', Request
='SetTools', Version
=1, Params
=params
)
19935 params
['AgentTools'] = agenttools
19936 reply
= await self
.rpc(msg
)
19941 @ReturnMapping(ToolsResults
)
19942 async def Tools(self
, entities
):
19944 entities : typing.Sequence[~Entity]
19945 Returns -> typing.Sequence[~ToolsResult]
19947 # map input types to rpc msg
19949 msg
= dict(Type
='Upgrader', Request
='Tools', Version
=1, Params
=params
)
19950 params
['Entities'] = entities
19951 reply
= await self
.rpc(msg
)
19956 @ReturnMapping(NotifyWatchResults
)
19957 async def WatchAPIVersion(self
, entities
):
19959 entities : typing.Sequence[~Entity]
19960 Returns -> typing.Sequence[~NotifyWatchResult]
19962 # map input types to rpc msg
19964 msg
= dict(Type
='Upgrader', Request
='WatchAPIVersion', Version
=1, Params
=params
)
19965 params
['Entities'] = entities
19966 reply
= await self
.rpc(msg
)
19970 class UserManager(Type
):
19971 name
= 'UserManager'
19973 schema
= {'definitions': {'AddUser': {'additionalProperties': False,
19974 'properties': {'display-name': {'type': 'string'},
19975 'model-access-permission': {'type': 'string'},
19976 'password': {'type': 'string'},
19977 'shared-model-tags': {'items': {'type': 'string'},
19979 'username': {'type': 'string'}},
19980 'required': ['username',
19982 'shared-model-tags'],
19984 'AddUserResult': {'additionalProperties': False,
19985 'properties': {'error': {'$ref': '#/definitions/Error'},
19986 'secret-key': {'items': {'type': 'integer'},
19988 'tag': {'type': 'string'}},
19990 'AddUserResults': {'additionalProperties': False,
19991 'properties': {'results': {'items': {'$ref': '#/definitions/AddUserResult'},
19993 'required': ['results'],
19995 'AddUsers': {'additionalProperties': False,
19996 'properties': {'users': {'items': {'$ref': '#/definitions/AddUser'},
19998 'required': ['users'],
20000 'Entities': {'additionalProperties': False,
20001 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
20003 'required': ['Entities'],
20005 'Entity': {'additionalProperties': False,
20006 'properties': {'Tag': {'type': 'string'}},
20007 'required': ['Tag'],
20009 'EntityPassword': {'additionalProperties': False,
20010 'properties': {'Password': {'type': 'string'},
20011 'Tag': {'type': 'string'}},
20012 'required': ['Tag', 'Password'],
20014 'EntityPasswords': {'additionalProperties': False,
20015 'properties': {'Changes': {'items': {'$ref': '#/definitions/EntityPassword'},
20017 'required': ['Changes'],
20019 'Error': {'additionalProperties': False,
20020 'properties': {'Code': {'type': 'string'},
20021 'Info': {'$ref': '#/definitions/ErrorInfo'},
20022 'Message': {'type': 'string'}},
20023 'required': ['Message', 'Code'],
20025 'ErrorInfo': {'additionalProperties': False,
20026 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
20027 'MacaroonPath': {'type': 'string'}},
20029 'ErrorResult': {'additionalProperties': False,
20030 'properties': {'Error': {'$ref': '#/definitions/Error'}},
20031 'required': ['Error'],
20033 'ErrorResults': {'additionalProperties': False,
20034 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
20036 'required': ['Results'],
20038 'Macaroon': {'additionalProperties': False,
20039 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
20041 'data': {'items': {'type': 'integer'},
20043 'id': {'$ref': '#/definitions/packet'},
20044 'location': {'$ref': '#/definitions/packet'},
20045 'sig': {'items': {'type': 'integer'},
20047 'required': ['data',
20053 'MacaroonResult': {'additionalProperties': False,
20054 'properties': {'error': {'$ref': '#/definitions/Error'},
20055 'result': {'$ref': '#/definitions/Macaroon'}},
20057 'MacaroonResults': {'additionalProperties': False,
20058 'properties': {'results': {'items': {'$ref': '#/definitions/MacaroonResult'},
20060 'required': ['results'],
20062 'UserInfo': {'additionalProperties': False,
20063 'properties': {'created-by': {'type': 'string'},
20064 'date-created': {'format': 'date-time',
20066 'disabled': {'type': 'boolean'},
20067 'display-name': {'type': 'string'},
20068 'last-connection': {'format': 'date-time',
20070 'username': {'type': 'string'}},
20071 'required': ['username',
20077 'UserInfoRequest': {'additionalProperties': False,
20078 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
20080 'include-disabled': {'type': 'boolean'}},
20081 'required': ['entities',
20082 'include-disabled'],
20084 'UserInfoResult': {'additionalProperties': False,
20085 'properties': {'error': {'$ref': '#/definitions/Error'},
20086 'result': {'$ref': '#/definitions/UserInfo'}},
20088 'UserInfoResults': {'additionalProperties': False,
20089 'properties': {'results': {'items': {'$ref': '#/definitions/UserInfoResult'},
20091 'required': ['results'],
20093 'caveat': {'additionalProperties': False,
20094 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
20095 'location': {'$ref': '#/definitions/packet'},
20096 'verificationId': {'$ref': '#/definitions/packet'}},
20097 'required': ['location',
20101 'packet': {'additionalProperties': False,
20102 'properties': {'headerLen': {'type': 'integer'},
20103 'start': {'type': 'integer'},
20104 'totalLen': {'type': 'integer'}},
20105 'required': ['start', 'totalLen', 'headerLen'],
20106 'type': 'object'}},
20107 'properties': {'AddUser': {'properties': {'Params': {'$ref': '#/definitions/AddUsers'},
20108 'Result': {'$ref': '#/definitions/AddUserResults'}},
20110 'CreateLocalLoginMacaroon': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20111 'Result': {'$ref': '#/definitions/MacaroonResults'}},
20113 'DisableUser': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20114 'Result': {'$ref': '#/definitions/ErrorResults'}},
20116 'EnableUser': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20117 'Result': {'$ref': '#/definitions/ErrorResults'}},
20119 'SetPassword': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
20120 'Result': {'$ref': '#/definitions/ErrorResults'}},
20122 'UserInfo': {'properties': {'Params': {'$ref': '#/definitions/UserInfoRequest'},
20123 'Result': {'$ref': '#/definitions/UserInfoResults'}},
20124 'type': 'object'}},
20128 @ReturnMapping(AddUserResults
)
20129 async def AddUser(self
, users
):
20131 users : typing.Sequence[~AddUser]
20132 Returns -> typing.Sequence[~AddUserResult]
20134 # map input types to rpc msg
20136 msg
= dict(Type
='UserManager', Request
='AddUser', Version
=1, Params
=params
)
20137 params
['users'] = users
20138 reply
= await self
.rpc(msg
)
20143 @ReturnMapping(MacaroonResults
)
20144 async def CreateLocalLoginMacaroon(self
, entities
):
20146 entities : typing.Sequence[~Entity]
20147 Returns -> typing.Sequence[~MacaroonResult]
20149 # map input types to rpc msg
20151 msg
= dict(Type
='UserManager', Request
='CreateLocalLoginMacaroon', Version
=1, Params
=params
)
20152 params
['Entities'] = entities
20153 reply
= await self
.rpc(msg
)
20158 @ReturnMapping(ErrorResults
)
20159 async def DisableUser(self
, entities
):
20161 entities : typing.Sequence[~Entity]
20162 Returns -> typing.Sequence[~ErrorResult]
20164 # map input types to rpc msg
20166 msg
= dict(Type
='UserManager', Request
='DisableUser', Version
=1, Params
=params
)
20167 params
['Entities'] = entities
20168 reply
= await self
.rpc(msg
)
20173 @ReturnMapping(ErrorResults
)
20174 async def EnableUser(self
, entities
):
20176 entities : typing.Sequence[~Entity]
20177 Returns -> typing.Sequence[~ErrorResult]
20179 # map input types to rpc msg
20181 msg
= dict(Type
='UserManager', Request
='EnableUser', Version
=1, Params
=params
)
20182 params
['Entities'] = entities
20183 reply
= await self
.rpc(msg
)
20188 @ReturnMapping(ErrorResults
)
20189 async def SetPassword(self
, changes
):
20191 changes : typing.Sequence[~EntityPassword]
20192 Returns -> typing.Sequence[~ErrorResult]
20194 # map input types to rpc msg
20196 msg
= dict(Type
='UserManager', Request
='SetPassword', Version
=1, Params
=params
)
20197 params
['Changes'] = changes
20198 reply
= await self
.rpc(msg
)
20203 @ReturnMapping(UserInfoResults
)
20204 async def UserInfo(self
, entities
, include_disabled
):
20206 entities : typing.Sequence[~Entity]
20207 include_disabled : bool
20208 Returns -> typing.Sequence[~UserInfoResult]
20210 # map input types to rpc msg
20212 msg
= dict(Type
='UserManager', Request
='UserInfo', Version
=1, Params
=params
)
20213 params
['entities'] = entities
20214 params
['include-disabled'] = include_disabled
20215 reply
= await self
.rpc(msg
)
20219 class VolumeAttachmentsWatcher(Type
):
20220 name
= 'VolumeAttachmentsWatcher'
20222 schema
= {'definitions': {'Error': {'additionalProperties': False,
20223 'properties': {'Code': {'type': 'string'},
20224 'Info': {'$ref': '#/definitions/ErrorInfo'},
20225 'Message': {'type': 'string'}},
20226 'required': ['Message', 'Code'],
20228 'ErrorInfo': {'additionalProperties': False,
20229 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
20230 'MacaroonPath': {'type': 'string'}},
20232 'Macaroon': {'additionalProperties': False,
20233 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
20235 'data': {'items': {'type': 'integer'},
20237 'id': {'$ref': '#/definitions/packet'},
20238 'location': {'$ref': '#/definitions/packet'},
20239 'sig': {'items': {'type': 'integer'},
20241 'required': ['data',
20247 'MachineStorageId': {'additionalProperties': False,
20248 'properties': {'attachmenttag': {'type': 'string'},
20249 'machinetag': {'type': 'string'}},
20250 'required': ['machinetag',
20253 'MachineStorageIdsWatchResult': {'additionalProperties': False,
20254 'properties': {'Changes': {'items': {'$ref': '#/definitions/MachineStorageId'},
20256 'Error': {'$ref': '#/definitions/Error'},
20257 'MachineStorageIdsWatcherId': {'type': 'string'}},
20258 'required': ['MachineStorageIdsWatcherId',
20262 'caveat': {'additionalProperties': False,
20263 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
20264 'location': {'$ref': '#/definitions/packet'},
20265 'verificationId': {'$ref': '#/definitions/packet'}},
20266 'required': ['location',
20270 'packet': {'additionalProperties': False,
20271 'properties': {'headerLen': {'type': 'integer'},
20272 'start': {'type': 'integer'},
20273 'totalLen': {'type': 'integer'}},
20274 'required': ['start', 'totalLen', 'headerLen'],
20275 'type': 'object'}},
20276 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResult'}},
20278 'Stop': {'type': 'object'}},
20282 @ReturnMapping(MachineStorageIdsWatchResult
)
20283 async def Next(self
):
20286 Returns -> typing.Union[typing.Sequence[~MachineStorageId], _ForwardRef('Error')]
20288 # map input types to rpc msg
20290 msg
= dict(Type
='VolumeAttachmentsWatcher', Request
='Next', Version
=2, Params
=params
)
20292 reply
= await self
.rpc(msg
)
20297 @ReturnMapping(None)
20298 async def Stop(self
):
20303 # map input types to rpc msg
20305 msg
= dict(Type
='VolumeAttachmentsWatcher', Request
='Stop', Version
=2, Params
=params
)
20307 reply
= await self
.rpc(msg
)