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', 'parameters': 'parameters', 'name': 'name', 'tag': 'tag'}
9 _toPy
= {'receiver': 'receiver', 'parameters': 'parameters', 'name': 'name', 'tag': 'tag'}
10 def __init__(self
, name
=None, parameters
=None, receiver
=None, tag
=None):
13 parameters : typing.Mapping<~KT, +VT_co>[str, typing.Any]
18 self
.parameters
= parameters
19 self
.receiver
= receiver
23 class ActionResult(Type
):
24 _toSchema
= {'enqueued': 'enqueued', 'completed': 'completed', 'output': 'output', 'started': 'started', 'action': 'action', 'status': 'status', 'error': 'error', 'message': 'message'}
25 _toPy
= {'enqueued': 'enqueued', 'completed': 'completed', 'output': 'output', 'started': 'started', 'action': 'action', 'status': 'status', 'error': 'error', 'message': 'message'}
26 def __init__(self
, action
=None, completed
=None, enqueued
=None, error
=None, message
=None, output
=None, started
=None, status
=None):
33 output : typing.Mapping<~KT, +VT_co>[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<+T_co>[~ActionResult]<~ActionResult>
54 self
.results
= [ActionResult
.from_json(o
) for o
in results
or []]
57 class ActionSpec(Type
):
58 _toSchema
= {'description': 'description', 'params': 'params'}
59 _toPy
= {'description': 'description', 'params': 'params'}
60 def __init__(self
, description
=None, params
=None):
63 params : typing.Mapping<~KT, +VT_co>[str, typing.Any]
65 self
.description
= description
70 _toSchema
= {'actions': 'actions'}
71 _toPy
= {'actions': 'actions'}
72 def __init__(self
, actions
=None):
74 actions : typing.Sequence<+T_co>[~Action]<~Action>
76 self
.actions
= [Action
.from_json(o
) for o
in actions
or []]
79 class ActionsByName(Type
):
80 _toSchema
= {'actions': 'actions', 'error': 'error', 'name': 'name'}
81 _toPy
= {'actions': 'actions', 'error': 'error', 'name': 'name'}
82 def __init__(self
, actions
=None, error
=None, name
=None):
84 actions : typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
88 self
.actions
= [ActionResult
.from_json(o
) for o
in actions
or []]
89 self
.error
= Error
.from_json(error
) if error
else None
93 class ActionsByNames(Type
):
94 _toSchema
= {'actions': 'actions'}
95 _toPy
= {'actions': 'actions'}
96 def __init__(self
, actions
=None):
98 actions : typing.Sequence<+T_co>[~ActionsByName]<~ActionsByName>
100 self
.actions
= [ActionsByName
.from_json(o
) for o
in actions
or []]
103 class ActionsByReceiver(Type
):
104 _toSchema
= {'actions': 'actions', 'receiver': 'receiver', 'error': 'error'}
105 _toPy
= {'actions': 'actions', 'receiver': 'receiver', 'error': 'error'}
106 def __init__(self
, actions
=None, error
=None, receiver
=None):
108 actions : typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
112 self
.actions
= [ActionResult
.from_json(o
) for o
in actions
or []]
113 self
.error
= Error
.from_json(error
) if error
else None
114 self
.receiver
= receiver
117 class ActionsByReceivers(Type
):
118 _toSchema
= {'actions': 'actions'}
119 _toPy
= {'actions': 'actions'}
120 def __init__(self
, actions
=None):
122 actions : typing.Sequence<+T_co>[~ActionsByReceiver]<~ActionsByReceiver>
124 self
.actions
= [ActionsByReceiver
.from_json(o
) for o
in actions
or []]
127 class ApplicationCharmActionsResult(Type
):
128 _toSchema
= {'application_tag': 'application-tag', 'actions': 'actions', 'error': 'error'}
129 _toPy
= {'actions': 'actions', 'error': 'error', 'application-tag': 'application_tag'}
130 def __init__(self
, actions
=None, application_tag
=None, error
=None):
132 actions : typing.Mapping<~KT, +VT_co>[str, ~ActionSpec]<~ActionSpec>
133 application_tag : str
136 self
.actions
= actions
137 self
.application_tag
= application_tag
138 self
.error
= Error
.from_json(error
) if error
else None
141 class ApplicationsCharmActionsResults(Type
):
142 _toSchema
= {'results': 'results'}
143 _toPy
= {'results': 'results'}
144 def __init__(self
, results
=None):
146 results : typing.Sequence<+T_co>[~ApplicationCharmActionsResult]<~ApplicationCharmActionsResult>
148 self
.results
= [ApplicationCharmActionsResult
.from_json(o
) for o
in results
or []]
151 class Entities(Type
):
152 _toSchema
= {'entities': 'entities'}
153 _toPy
= {'entities': 'entities'}
154 def __init__(self
, entities
=None):
156 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
158 self
.entities
= [Entity
.from_json(o
) for o
in entities
or []]
162 _toSchema
= {'tag': 'tag'}
163 _toPy
= {'tag': 'tag'}
164 def __init__(self
, tag
=None):
172 _toSchema
= {'code': 'code', 'info': 'info', 'message': 'message'}
173 _toPy
= {'code': 'code', 'info': 'info', 'message': 'message'}
174 def __init__(self
, code
=None, info
=None, message
=None):
181 self
.info
= ErrorInfo
.from_json(info
) if info
else None
182 self
.message
= message
185 class ErrorInfo(Type
):
186 _toSchema
= {'macaroon_path': 'macaroon-path', 'macaroon': 'macaroon'}
187 _toPy
= {'macaroon-path': 'macaroon_path', 'macaroon': 'macaroon'}
188 def __init__(self
, macaroon
=None, macaroon_path
=None):
193 self
.macaroon
= Macaroon
.from_json(macaroon
) if macaroon
else None
194 self
.macaroon_path
= macaroon_path
197 class FindActionsByNames(Type
):
198 _toSchema
= {'names': 'names'}
199 _toPy
= {'names': 'names'}
200 def __init__(self
, names
=None):
202 names : typing.Sequence<+T_co>[str]
207 class FindTags(Type
):
208 _toSchema
= {'prefixes': 'prefixes'}
209 _toPy
= {'prefixes': 'prefixes'}
210 def __init__(self
, prefixes
=None):
212 prefixes : typing.Sequence<+T_co>[str]
214 self
.prefixes
= prefixes
217 class FindTagsResults(Type
):
218 _toSchema
= {'matches': 'matches'}
219 _toPy
= {'matches': 'matches'}
220 def __init__(self
, matches
=None):
222 matches : typing.Sequence<+T_co>[~Entity]<~Entity>
224 self
.matches
= [Entity
.from_json(o
) for o
in matches
or []]
227 class Macaroon(Type
):
237 class RunParams(Type
):
238 _toSchema
= {'commands': 'commands', 'units': 'units', 'timeout': 'timeout', 'machines': 'machines', 'applications': 'applications'}
239 _toPy
= {'commands': 'commands', 'units': 'units', 'timeout': 'timeout', 'machines': 'machines', 'applications': 'applications'}
240 def __init__(self
, applications
=None, commands
=None, machines
=None, timeout
=None, units
=None):
242 applications : typing.Sequence<+T_co>[str]
244 machines : typing.Sequence<+T_co>[str]
246 units : typing.Sequence<+T_co>[str]
248 self
.applications
= applications
249 self
.commands
= commands
250 self
.machines
= machines
251 self
.timeout
= timeout
255 class AgentGetEntitiesResult(Type
):
256 _toSchema
= {'jobs': 'jobs', 'life': 'life', 'error': 'error', 'container_type': 'container-type'}
257 _toPy
= {'jobs': 'jobs', 'container-type': 'container_type', 'error': 'error', 'life': 'life'}
258 def __init__(self
, container_type
=None, error
=None, jobs
=None, life
=None):
262 jobs : typing.Sequence<+T_co>[str]
265 self
.container_type
= container_type
266 self
.error
= Error
.from_json(error
) if error
else None
271 class AgentGetEntitiesResults(Type
):
272 _toSchema
= {'entities': 'entities'}
273 _toPy
= {'entities': 'entities'}
274 def __init__(self
, entities
=None):
276 entities : typing.Sequence<+T_co>[~AgentGetEntitiesResult]<~AgentGetEntitiesResult>
278 self
.entities
= [AgentGetEntitiesResult
.from_json(o
) for o
in entities
or []]
281 class CloudCredential(Type
):
282 _toSchema
= {'attrs': 'attrs', 'auth_type': 'auth-type', 'redacted': 'redacted'}
283 _toPy
= {'attrs': 'attrs', 'redacted': 'redacted', 'auth-type': 'auth_type'}
284 def __init__(self
, attrs
=None, auth_type
=None, redacted
=None):
286 attrs : typing.Mapping<~KT, +VT_co>[str, str]
288 redacted : typing.Sequence<+T_co>[str]
291 self
.auth_type
= auth_type
292 self
.redacted
= redacted
295 class CloudSpec(Type
):
296 _toSchema
= {'region': 'region', 'storage_endpoint': 'storage-endpoint', 'type_': 'type', 'endpoint': 'endpoint', 'name': 'name', 'credential': 'credential', 'identity_endpoint': 'identity-endpoint'}
297 _toPy
= {'region': 'region', 'type': 'type_', 'storage-endpoint': 'storage_endpoint', 'identity-endpoint': 'identity_endpoint', 'name': 'name', 'credential': 'credential', 'endpoint': 'endpoint'}
298 def __init__(self
, credential
=None, endpoint
=None, identity_endpoint
=None, name
=None, region
=None, storage_endpoint
=None, type_
=None):
300 credential : CloudCredential
302 identity_endpoint : str
305 storage_endpoint : str
308 self
.credential
= CloudCredential
.from_json(credential
) if credential
else None
309 self
.endpoint
= endpoint
310 self
.identity_endpoint
= identity_endpoint
313 self
.storage_endpoint
= storage_endpoint
317 class CloudSpecResult(Type
):
318 _toSchema
= {'result': 'result', 'error': 'error'}
319 _toPy
= {'result': 'result', 'error': 'error'}
320 def __init__(self
, error
=None, result
=None):
325 self
.error
= Error
.from_json(error
) if error
else None
326 self
.result
= CloudSpec
.from_json(result
) if result
else None
329 class CloudSpecResults(Type
):
330 _toSchema
= {'results': 'results'}
331 _toPy
= {'results': 'results'}
332 def __init__(self
, results
=None):
334 results : typing.Sequence<+T_co>[~CloudSpecResult]<~CloudSpecResult>
336 self
.results
= [CloudSpecResult
.from_json(o
) for o
in results
or []]
339 class ControllerConfigResult(Type
):
340 _toSchema
= {'config': 'config'}
341 _toPy
= {'config': 'config'}
342 def __init__(self
, config
=None):
344 config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
349 class EntityPassword(Type
):
350 _toSchema
= {'password': 'password', 'tag': 'tag'}
351 _toPy
= {'password': 'password', 'tag': 'tag'}
352 def __init__(self
, password
=None, tag
=None):
357 self
.password
= password
361 class EntityPasswords(Type
):
362 _toSchema
= {'changes': 'changes'}
363 _toPy
= {'changes': 'changes'}
364 def __init__(self
, changes
=None):
366 changes : typing.Sequence<+T_co>[~EntityPassword]<~EntityPassword>
368 self
.changes
= [EntityPassword
.from_json(o
) for o
in changes
or []]
371 class ErrorResult(Type
):
372 _toSchema
= {'error': 'error'}
373 _toPy
= {'error': 'error'}
374 def __init__(self
, error
=None):
378 self
.error
= Error
.from_json(error
) if error
else None
381 class ErrorResults(Type
):
382 _toSchema
= {'results': 'results'}
383 _toPy
= {'results': 'results'}
384 def __init__(self
, results
=None):
386 results : typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
388 self
.results
= [ErrorResult
.from_json(o
) for o
in results
or []]
391 class IsMasterResult(Type
):
392 _toSchema
= {'master': 'master'}
393 _toPy
= {'master': 'master'}
394 def __init__(self
, master
=None):
401 class ModelConfigResult(Type
):
402 _toSchema
= {'config': 'config'}
403 _toPy
= {'config': 'config'}
404 def __init__(self
, config
=None):
406 config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
411 class NotifyWatchResult(Type
):
412 _toSchema
= {'notifywatcherid': 'NotifyWatcherId', 'error': 'error'}
413 _toPy
= {'NotifyWatcherId': 'notifywatcherid', 'error': 'error'}
414 def __init__(self
, notifywatcherid
=None, error
=None):
416 notifywatcherid : str
419 self
.notifywatcherid
= notifywatcherid
420 self
.error
= Error
.from_json(error
) if error
else None
423 class StateServingInfo(Type
):
424 _toSchema
= {'shared_secret': 'shared-secret', 'state_port': 'state-port', 'system_identity': 'system-identity', 'private_key': 'private-key', 'cert': 'cert', 'ca_private_key': 'ca-private-key', 'api_port': 'api-port'}
425 _toPy
= {'state-port': 'state_port', 'ca-private-key': 'ca_private_key', 'api-port': 'api_port', 'shared-secret': 'shared_secret', 'system-identity': 'system_identity', 'private-key': 'private_key', 'cert': 'cert'}
426 def __init__(self
, api_port
=None, ca_private_key
=None, cert
=None, private_key
=None, shared_secret
=None, state_port
=None, system_identity
=None):
434 system_identity : str
436 self
.api_port
= api_port
437 self
.ca_private_key
= ca_private_key
439 self
.private_key
= private_key
440 self
.shared_secret
= shared_secret
441 self
.state_port
= state_port
442 self
.system_identity
= system_identity
445 class AllWatcherNextResults(Type
):
446 _toSchema
= {'deltas': 'deltas'}
447 _toPy
= {'deltas': 'deltas'}
448 def __init__(self
, deltas
=None):
450 deltas : typing.Sequence<+T_co>[~Delta]<~Delta>
452 self
.deltas
= [Delta
.from_json(o
) for o
in deltas
or []]
456 _toSchema
= {'entity': 'entity', 'removed': 'removed'}
457 _toPy
= {'entity': 'entity', 'removed': 'removed'}
458 def __init__(self
, entity
=None, removed
=None):
460 entity : typing.Mapping<~KT, +VT_co>[str, typing.Any]
464 self
.removed
= removed
467 class AnnotationsGetResult(Type
):
468 _toSchema
= {'annotations': 'annotations', 'entity': 'entity', 'error': 'error'}
469 _toPy
= {'annotations': 'annotations', 'entity': 'entity', 'error': 'error'}
470 def __init__(self
, annotations
=None, entity
=None, error
=None):
472 annotations : typing.Mapping<~KT, +VT_co>[str, str]
476 self
.annotations
= annotations
478 self
.error
= ErrorResult
.from_json(error
) if error
else None
481 class AnnotationsGetResults(Type
):
482 _toSchema
= {'results': 'results'}
483 _toPy
= {'results': 'results'}
484 def __init__(self
, results
=None):
486 results : typing.Sequence<+T_co>[~AnnotationsGetResult]<~AnnotationsGetResult>
488 self
.results
= [AnnotationsGetResult
.from_json(o
) for o
in results
or []]
491 class AnnotationsSet(Type
):
492 _toSchema
= {'annotations': 'annotations'}
493 _toPy
= {'annotations': 'annotations'}
494 def __init__(self
, annotations
=None):
496 annotations : typing.Sequence<+T_co>[~EntityAnnotations]<~EntityAnnotations>
498 self
.annotations
= [EntityAnnotations
.from_json(o
) for o
in annotations
or []]
501 class EntityAnnotations(Type
):
502 _toSchema
= {'annotations': 'annotations', 'entity': 'entity'}
503 _toPy
= {'annotations': 'annotations', 'entity': 'entity'}
504 def __init__(self
, annotations
=None, entity
=None):
506 annotations : typing.Mapping<~KT, +VT_co>[str, str]
509 self
.annotations
= annotations
513 class AddApplicationUnits(Type
):
514 _toSchema
= {'application': 'application', 'placement': 'placement', 'num_units': 'num-units'}
515 _toPy
= {'application': 'application', 'num-units': 'num_units', 'placement': 'placement'}
516 def __init__(self
, application
=None, num_units
=None, placement
=None):
520 placement : typing.Sequence<+T_co>[~Placement]<~Placement>
522 self
.application
= application
523 self
.num_units
= num_units
524 self
.placement
= [Placement
.from_json(o
) for o
in placement
or []]
527 class AddApplicationUnitsResults(Type
):
528 _toSchema
= {'units': 'units'}
529 _toPy
= {'units': 'units'}
530 def __init__(self
, units
=None):
532 units : typing.Sequence<+T_co>[str]
537 class AddRelation(Type
):
538 _toSchema
= {'endpoints': 'endpoints'}
539 _toPy
= {'endpoints': 'endpoints'}
540 def __init__(self
, endpoints
=None):
542 endpoints : typing.Sequence<+T_co>[str]
544 self
.endpoints
= endpoints
547 class AddRelationResults(Type
):
548 _toSchema
= {'endpoints': 'endpoints'}
549 _toPy
= {'endpoints': 'endpoints'}
550 def __init__(self
, endpoints
=None):
552 endpoints : typing.Mapping<~KT, +VT_co>[str, ~CharmRelation]<~CharmRelation>
554 self
.endpoints
= endpoints
557 class ApplicationCharmRelations(Type
):
558 _toSchema
= {'application': 'application'}
559 _toPy
= {'application': 'application'}
560 def __init__(self
, application
=None):
564 self
.application
= application
567 class ApplicationCharmRelationsResults(Type
):
568 _toSchema
= {'charm_relations': 'charm-relations'}
569 _toPy
= {'charm-relations': 'charm_relations'}
570 def __init__(self
, charm_relations
=None):
572 charm_relations : typing.Sequence<+T_co>[str]
574 self
.charm_relations
= charm_relations
577 class ApplicationDeploy(Type
):
578 _toSchema
= {'storage': 'storage', 'config': 'config', 'endpoint_bindings': 'endpoint-bindings', 'num_units': 'num-units', 'placement': 'placement', 'series': 'series', 'charm_url': 'charm-url', 'config_yaml': 'config-yaml', 'constraints': 'constraints', 'application': 'application', 'resources': 'resources', 'channel': 'channel'}
579 _toPy
= {'storage': 'storage', 'config': 'config', 'num-units': 'num_units', 'series': 'series', 'placement': 'placement', 'config-yaml': 'config_yaml', 'constraints': 'constraints', 'charm-url': 'charm_url', 'application': 'application', 'resources': 'resources', 'endpoint-bindings': 'endpoint_bindings', 'channel': 'channel'}
580 def __init__(self
, application
=None, channel
=None, charm_url
=None, config
=None, config_yaml
=None, constraints
=None, endpoint_bindings
=None, num_units
=None, placement
=None, resources
=None, series
=None, storage
=None):
585 config : typing.Mapping<~KT, +VT_co>[str, str]
588 endpoint_bindings : typing.Mapping<~KT, +VT_co>[str, str]
590 placement : typing.Sequence<+T_co>[~Placement]<~Placement>
591 resources : typing.Mapping<~KT, +VT_co>[str, str]
593 storage : typing.Mapping<~KT, +VT_co>[str, ~Constraints]<~Constraints>
595 self
.application
= application
596 self
.channel
= channel
597 self
.charm_url
= charm_url
599 self
.config_yaml
= config_yaml
600 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
601 self
.endpoint_bindings
= endpoint_bindings
602 self
.num_units
= num_units
603 self
.placement
= [Placement
.from_json(o
) for o
in placement
or []]
604 self
.resources
= resources
606 self
.storage
= storage
609 class ApplicationDestroy(Type
):
610 _toSchema
= {'application': 'application'}
611 _toPy
= {'application': 'application'}
612 def __init__(self
, application
=None):
616 self
.application
= application
619 class ApplicationExpose(Type
):
620 _toSchema
= {'application': 'application'}
621 _toPy
= {'application': 'application'}
622 def __init__(self
, application
=None):
626 self
.application
= application
629 class ApplicationGet(Type
):
630 _toSchema
= {'application': 'application'}
631 _toPy
= {'application': 'application'}
632 def __init__(self
, application
=None):
636 self
.application
= application
639 class ApplicationGetResults(Type
):
640 _toSchema
= {'series': 'series', 'application': 'application', 'config': 'config', 'charm': 'charm', 'constraints': 'constraints'}
641 _toPy
= {'series': 'series', 'application': 'application', 'config': 'config', 'charm': 'charm', 'constraints': 'constraints'}
642 def __init__(self
, application
=None, charm
=None, config
=None, constraints
=None, series
=None):
646 config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
650 self
.application
= application
653 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
657 class ApplicationMetricCredential(Type
):
658 _toSchema
= {'metrics_credentials': 'metrics-credentials', 'application': 'application'}
659 _toPy
= {'application': 'application', 'metrics-credentials': 'metrics_credentials'}
660 def __init__(self
, application
=None, metrics_credentials
=None):
663 metrics_credentials : typing.Sequence<+T_co>[int]
665 self
.application
= application
666 self
.metrics_credentials
= metrics_credentials
669 class ApplicationMetricCredentials(Type
):
670 _toSchema
= {'creds': 'creds'}
671 _toPy
= {'creds': 'creds'}
672 def __init__(self
, creds
=None):
674 creds : typing.Sequence<+T_co>[~ApplicationMetricCredential]<~ApplicationMetricCredential>
676 self
.creds
= [ApplicationMetricCredential
.from_json(o
) for o
in creds
or []]
679 class ApplicationSet(Type
):
680 _toSchema
= {'application': 'application', 'options': 'options'}
681 _toPy
= {'application': 'application', 'options': 'options'}
682 def __init__(self
, application
=None, options
=None):
685 options : typing.Mapping<~KT, +VT_co>[str, str]
687 self
.application
= application
688 self
.options
= options
691 class ApplicationSetCharm(Type
):
692 _toSchema
= {'charm_url': 'charm-url', 'force_units': 'force-units', 'resource_ids': 'resource-ids', 'application': 'application', 'force_series': 'force-series', 'channel': 'channel'}
693 _toPy
= {'force-series': 'force_series', 'resource-ids': 'resource_ids', 'force-units': 'force_units', 'charm-url': 'charm_url', 'application': 'application', 'channel': 'channel'}
694 def __init__(self
, application
=None, channel
=None, charm_url
=None, force_series
=None, force_units
=None, resource_ids
=None):
701 resource_ids : typing.Mapping<~KT, +VT_co>[str, str]
703 self
.application
= application
704 self
.channel
= channel
705 self
.charm_url
= charm_url
706 self
.force_series
= force_series
707 self
.force_units
= force_units
708 self
.resource_ids
= resource_ids
711 class ApplicationUnexpose(Type
):
712 _toSchema
= {'application': 'application'}
713 _toPy
= {'application': 'application'}
714 def __init__(self
, application
=None):
718 self
.application
= application
721 class ApplicationUnset(Type
):
722 _toSchema
= {'application': 'application', 'options': 'options'}
723 _toPy
= {'application': 'application', 'options': 'options'}
724 def __init__(self
, application
=None, options
=None):
727 options : typing.Sequence<+T_co>[str]
729 self
.application
= application
730 self
.options
= options
733 class ApplicationUpdate(Type
):
734 _toSchema
= {'charm_url': 'charm-url', 'force_charm_url': 'force-charm-url', 'settings_yaml': 'settings-yaml', 'constraints': 'constraints', 'min_units': 'min-units', 'application': 'application', 'force_series': 'force-series', 'settings': 'settings'}
735 _toPy
= {'force-series': 'force_series', 'force-charm-url': 'force_charm_url', 'settings-yaml': 'settings_yaml', 'constraints': 'constraints', 'charm-url': 'charm_url', 'application': 'application', 'min-units': 'min_units', 'settings': 'settings'}
736 def __init__(self
, application
=None, charm_url
=None, constraints
=None, force_charm_url
=None, force_series
=None, min_units
=None, settings
=None, settings_yaml
=None):
741 force_charm_url : bool
744 settings : typing.Mapping<~KT, +VT_co>[str, str]
747 self
.application
= application
748 self
.charm_url
= charm_url
749 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
750 self
.force_charm_url
= force_charm_url
751 self
.force_series
= force_series
752 self
.min_units
= min_units
753 self
.settings
= settings
754 self
.settings_yaml
= settings_yaml
757 class ApplicationsDeploy(Type
):
758 _toSchema
= {'applications': 'applications'}
759 _toPy
= {'applications': 'applications'}
760 def __init__(self
, applications
=None):
762 applications : typing.Sequence<+T_co>[~ApplicationDeploy]<~ApplicationDeploy>
764 self
.applications
= [ApplicationDeploy
.from_json(o
) for o
in applications
or []]
767 class CharmRelation(Type
):
768 _toSchema
= {'role': 'role', 'limit': 'limit', 'scope': 'scope', 'interface': 'interface', 'optional': 'optional', 'name': 'name'}
769 _toPy
= {'role': 'role', 'limit': 'limit', 'scope': 'scope', 'interface': 'interface', 'optional': 'optional', 'name': 'name'}
770 def __init__(self
, interface
=None, limit
=None, name
=None, optional
=None, role
=None, scope
=None):
779 self
.interface
= interface
782 self
.optional
= optional
787 class Constraints(Type
):
788 _toSchema
= {'size': 'Size', 'pool': 'Pool', 'count': 'Count'}
789 _toPy
= {'Count': 'count', 'Size': 'size', 'Pool': 'pool'}
790 def __init__(self
, count
=None, pool
=None, size
=None):
801 class DestroyApplicationUnits(Type
):
802 _toSchema
= {'unit_names': 'unit-names'}
803 _toPy
= {'unit-names': 'unit_names'}
804 def __init__(self
, unit_names
=None):
806 unit_names : typing.Sequence<+T_co>[str]
808 self
.unit_names
= unit_names
811 class DestroyRelation(Type
):
812 _toSchema
= {'endpoints': 'endpoints'}
813 _toPy
= {'endpoints': 'endpoints'}
814 def __init__(self
, endpoints
=None):
816 endpoints : typing.Sequence<+T_co>[str]
818 self
.endpoints
= endpoints
821 class GetApplicationConstraints(Type
):
822 _toSchema
= {'application': 'application'}
823 _toPy
= {'application': 'application'}
824 def __init__(self
, application
=None):
828 self
.application
= application
831 class GetConstraintsResults(Type
):
832 _toSchema
= {'constraints': 'constraints'}
833 _toPy
= {'constraints': 'constraints'}
834 def __init__(self
, constraints
=None):
838 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
841 class Placement(Type
):
842 _toSchema
= {'scope': 'scope', 'directive': 'directive'}
843 _toPy
= {'scope': 'scope', 'directive': 'directive'}
844 def __init__(self
, directive
=None, scope
=None):
849 self
.directive
= directive
853 class SetConstraints(Type
):
854 _toSchema
= {'application': 'application', 'constraints': 'constraints'}
855 _toPy
= {'application': 'application', 'constraints': 'constraints'}
856 def __init__(self
, application
=None, constraints
=None):
861 self
.application
= application
862 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
865 class StringResult(Type
):
866 _toSchema
= {'result': 'result', 'error': 'error'}
867 _toPy
= {'result': 'result', 'error': 'error'}
868 def __init__(self
, error
=None, result
=None):
873 self
.error
= Error
.from_json(error
) if error
else None
878 _toSchema
= {'root_disk': 'root-disk', 'instance_type': 'instance-type', 'container': 'container', 'cpu_power': 'cpu-power', 'tags': 'tags', 'cpu_cores': 'cpu-cores', 'spaces': 'spaces', 'virt_type': 'virt-type', 'arch': 'arch', 'mem': 'mem'}
879 _toPy
= {'root-disk': 'root_disk', 'container': 'container', 'virt-type': 'virt_type', 'tags': 'tags', 'spaces': 'spaces', 'arch': 'arch', 'cpu-cores': 'cpu_cores', 'instance-type': 'instance_type', 'mem': 'mem', 'cpu-power': 'cpu_power'}
880 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):
889 spaces : typing.Sequence<+T_co>[str]
890 tags : typing.Sequence<+T_co>[str]
894 self
.container
= container
895 self
.cpu_cores
= cpu_cores
896 self
.cpu_power
= cpu_power
897 self
.instance_type
= instance_type
899 self
.root_disk
= root_disk
902 self
.virt_type
= virt_type
905 class StringsWatchResult(Type
):
906 _toSchema
= {'changes': 'changes', 'watcher_id': 'watcher-id', 'error': 'error'}
907 _toPy
= {'changes': 'changes', 'error': 'error', 'watcher-id': 'watcher_id'}
908 def __init__(self
, changes
=None, error
=None, watcher_id
=None):
910 changes : typing.Sequence<+T_co>[str]
914 self
.changes
= changes
915 self
.error
= Error
.from_json(error
) if error
else None
916 self
.watcher_id
= watcher_id
919 class BackupsCreateArgs(Type
):
920 _toSchema
= {'notes': 'notes'}
921 _toPy
= {'notes': 'notes'}
922 def __init__(self
, notes
=None):
929 class BackupsInfoArgs(Type
):
930 _toSchema
= {'id_': 'id'}
931 _toPy
= {'id': 'id_'}
932 def __init__(self
, id_
=None):
939 class BackupsListArgs(Type
):
949 class BackupsListResult(Type
):
950 _toSchema
= {'list_': 'list'}
951 _toPy
= {'list': 'list_'}
952 def __init__(self
, list_
=None):
954 list_ : typing.Sequence<+T_co>[~BackupsMetadataResult]<~BackupsMetadataResult>
956 self
.list_
= [BackupsMetadataResult
.from_json(o
) for o
in list_
or []]
959 class BackupsMetadataResult(Type
):
960 _toSchema
= {'model': 'model', 'finished': 'finished', 'ca_cert': 'ca-cert', 'ca_private_key': 'ca-private-key', 'machine': 'machine', 'series': 'series', 'checksum_format': 'checksum-format', 'version': 'version', 'started': 'started', 'stored': 'stored', 'checksum': 'checksum', 'size': 'size', 'notes': 'notes', 'hostname': 'hostname', 'id_': 'id'}
961 _toPy
= {'model': 'model', 'checksum-format': 'checksum_format', 'finished': 'finished', 'ca-private-key': 'ca_private_key', 'started': 'started', 'machine': 'machine', 'series': 'series', 'version': 'version', 'ca-cert': 'ca_cert', 'stored': 'stored', 'checksum': 'checksum', 'size': 'size', 'notes': 'notes', 'hostname': 'hostname', 'id': 'id_'}
962 def __init__(self
, ca_cert
=None, ca_private_key
=None, checksum
=None, checksum_format
=None, finished
=None, hostname
=None, id_
=None, machine
=None, model
=None, notes
=None, series
=None, size
=None, started
=None, stored
=None, version
=None):
967 checksum_format : str
980 self
.ca_cert
= ca_cert
981 self
.ca_private_key
= ca_private_key
982 self
.checksum
= checksum
983 self
.checksum_format
= checksum_format
984 self
.finished
= finished
985 self
.hostname
= hostname
987 self
.machine
= machine
992 self
.started
= started
994 self
.version
= Number
.from_json(version
) if version
else None
997 class BackupsRemoveArgs(Type
):
998 _toSchema
= {'id_': 'id'}
999 _toPy
= {'id': 'id_'}
1000 def __init__(self
, id_
=None):
1008 _toSchema
= {'patch': 'Patch', 'minor': 'Minor', 'build': 'Build', 'tag': 'Tag', 'major': 'Major'}
1009 _toPy
= {'Tag': 'tag', 'Major': 'major', 'Build': 'build', 'Patch': 'patch', 'Minor': 'minor'}
1010 def __init__(self
, build
=None, major
=None, minor
=None, patch
=None, tag
=None):
1025 class RestoreArgs(Type
):
1026 _toSchema
= {'backup_id': 'backup-id'}
1027 _toPy
= {'backup-id': 'backup_id'}
1028 def __init__(self
, backup_id
=None):
1032 self
.backup_id
= backup_id
1036 _toSchema
= {'tag': 'tag', 'type_': 'type', 'id_': 'id', 'message': 'message'}
1037 _toPy
= {'tag': 'tag', 'message': 'message', 'type': 'type_', 'id': 'id_'}
1038 def __init__(self
, id_
=None, message
=None, tag
=None, type_
=None):
1046 self
.message
= message
1051 class BlockResult(Type
):
1052 _toSchema
= {'result': 'result', 'error': 'error'}
1053 _toPy
= {'result': 'result', 'error': 'error'}
1054 def __init__(self
, error
=None, result
=None):
1059 self
.error
= Error
.from_json(error
) if error
else None
1060 self
.result
= Block
.from_json(result
) if result
else None
1063 class BlockResults(Type
):
1064 _toSchema
= {'results': 'results'}
1065 _toPy
= {'results': 'results'}
1066 def __init__(self
, results
=None):
1068 results : typing.Sequence<+T_co>[~BlockResult]<~BlockResult>
1070 self
.results
= [BlockResult
.from_json(o
) for o
in results
or []]
1073 class BlockSwitchParams(Type
):
1074 _toSchema
= {'type_': 'type', 'message': 'message'}
1075 _toPy
= {'type': 'type_', 'message': 'message'}
1076 def __init__(self
, message
=None, type_
=None):
1081 self
.message
= message
1085 class CharmActionSpec(Type
):
1086 _toSchema
= {'description': 'description', 'params': 'params'}
1087 _toPy
= {'description': 'description', 'params': 'params'}
1088 def __init__(self
, description
=None, params
=None):
1091 params : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1093 self
.description
= description
1094 self
.params
= params
1097 class CharmActions(Type
):
1098 _toSchema
= {'specs': 'specs'}
1099 _toPy
= {'specs': 'specs'}
1100 def __init__(self
, specs
=None):
1102 specs : typing.Mapping<~KT, +VT_co>[str, ~CharmActionSpec]<~CharmActionSpec>
1107 class CharmInfo(Type
):
1108 _toSchema
= {'actions': 'actions', 'meta': 'meta', 'metrics': 'metrics', 'url': 'url', 'config': 'config', 'revision': 'revision'}
1109 _toPy
= {'actions': 'actions', 'meta': 'meta', 'metrics': 'metrics', 'url': 'url', 'config': 'config', 'revision': 'revision'}
1110 def __init__(self
, actions
=None, config
=None, meta
=None, metrics
=None, revision
=None, url
=None):
1112 actions : CharmActions
1113 config : typing.Mapping<~KT, +VT_co>[str, ~CharmOption]<~CharmOption>
1115 metrics : CharmMetrics
1119 self
.actions
= CharmActions
.from_json(actions
) if actions
else None
1120 self
.config
= config
1121 self
.meta
= CharmMeta
.from_json(meta
) if meta
else None
1122 self
.metrics
= CharmMetrics
.from_json(metrics
) if metrics
else None
1123 self
.revision
= revision
1127 class CharmMeta(Type
):
1128 _toSchema
= {'tags': 'tags', 'storage': 'storage', 'payload_classes': 'payload-classes', 'min_juju_version': 'min-juju-version', 'requires': 'requires', 'subordinate': 'subordinate', 'series': 'series', 'categories': 'categories', 'terms': 'terms', 'extra_bindings': 'extra-bindings', 'provides': 'provides', 'summary': 'summary', 'resources': 'resources', 'description': 'description', 'name': 'name', 'peers': 'peers'}
1129 _toPy
= {'tags': 'tags', 'storage': 'storage', 'subordinate': 'subordinate', 'requires': 'requires', 'description': 'description', 'min-juju-version': 'min_juju_version', 'series': 'series', 'categories': 'categories', 'terms': 'terms', 'payload-classes': 'payload_classes', 'provides': 'provides', 'summary': 'summary', 'resources': 'resources', 'extra-bindings': 'extra_bindings', 'name': 'name', 'peers': 'peers'}
1130 def __init__(self
, categories
=None, description
=None, extra_bindings
=None, min_juju_version
=None, name
=None, payload_classes
=None, peers
=None, provides
=None, requires
=None, resources
=None, series
=None, storage
=None, subordinate
=None, summary
=None, tags
=None, terms
=None):
1132 categories : typing.Sequence<+T_co>[str]
1134 extra_bindings : typing.Mapping<~KT, +VT_co>[str, str]
1135 min_juju_version : str
1137 payload_classes : typing.Mapping<~KT, +VT_co>[str, ~CharmPayloadClass]<~CharmPayloadClass>
1138 peers : typing.Mapping<~KT, +VT_co>[str, ~CharmRelation]<~CharmRelation>
1139 provides : typing.Mapping<~KT, +VT_co>[str, ~CharmRelation]<~CharmRelation>
1140 requires : typing.Mapping<~KT, +VT_co>[str, ~CharmRelation]<~CharmRelation>
1141 resources : typing.Mapping<~KT, +VT_co>[str, ~CharmResourceMeta]<~CharmResourceMeta>
1142 series : typing.Sequence<+T_co>[str]
1143 storage : typing.Mapping<~KT, +VT_co>[str, ~CharmStorage]<~CharmStorage>
1146 tags : typing.Sequence<+T_co>[str]
1147 terms : typing.Sequence<+T_co>[str]
1149 self
.categories
= categories
1150 self
.description
= description
1151 self
.extra_bindings
= extra_bindings
1152 self
.min_juju_version
= min_juju_version
1154 self
.payload_classes
= payload_classes
1156 self
.provides
= provides
1157 self
.requires
= requires
1158 self
.resources
= resources
1159 self
.series
= series
1160 self
.storage
= storage
1161 self
.subordinate
= subordinate
1162 self
.summary
= summary
1167 class CharmMetric(Type
):
1168 _toSchema
= {'type_': 'type', 'description': 'description'}
1169 _toPy
= {'description': 'description', 'type': 'type_'}
1170 def __init__(self
, description
=None, type_
=None):
1175 self
.description
= description
1179 class CharmMetrics(Type
):
1180 _toSchema
= {'plan': 'plan', 'metrics': 'metrics'}
1181 _toPy
= {'plan': 'plan', 'metrics': 'metrics'}
1182 def __init__(self
, metrics
=None, plan
=None):
1184 metrics : typing.Mapping<~KT, +VT_co>[str, ~CharmMetric]<~CharmMetric>
1187 self
.metrics
= metrics
1188 self
.plan
= CharmPlan
.from_json(plan
) if plan
else None
1191 class CharmOption(Type
):
1192 _toSchema
= {'type_': 'type', 'default': 'default', 'description': 'description'}
1193 _toPy
= {'default': 'default', 'description': 'description', 'type': 'type_'}
1194 def __init__(self
, default
=None, description
=None, type_
=None):
1196 default : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1200 self
.default
= default
1201 self
.description
= description
1205 class CharmPayloadClass(Type
):
1206 _toSchema
= {'type_': 'type', 'name': 'name'}
1207 _toPy
= {'name': 'name', 'type': 'type_'}
1208 def __init__(self
, name
=None, type_
=None):
1217 class CharmPlan(Type
):
1218 _toSchema
= {'required': 'required'}
1219 _toPy
= {'required': 'required'}
1220 def __init__(self
, required
=None):
1224 self
.required
= required
1227 class CharmResourceMeta(Type
):
1228 _toSchema
= {'path': 'path', 'type_': 'type', 'description': 'description', 'name': 'name'}
1229 _toPy
= {'path': 'path', 'description': 'description', 'name': 'name', 'type': 'type_'}
1230 def __init__(self
, description
=None, name
=None, path
=None, type_
=None):
1237 self
.description
= description
1243 class CharmStorage(Type
):
1244 _toSchema
= {'name': 'name', 'properties': 'properties', 'shared': 'shared', 'read_only': 'read-only', 'type_': 'type', 'minimum_size': 'minimum-size', 'count_max': 'count-max', 'description': 'description', 'count_min': 'count-min', 'location': 'location'}
1245 _toPy
= {'properties': 'properties', 'shared': 'shared', 'read-only': 'read_only', 'minimum-size': 'minimum_size', 'count-max': 'count_max', 'count-min': 'count_min', 'description': 'description', 'location': 'location', 'type': 'type_', 'name': 'name'}
1246 def __init__(self
, count_max
=None, count_min
=None, description
=None, location
=None, minimum_size
=None, name
=None, properties
=None, read_only
=None, shared
=None, type_
=None):
1254 properties : typing.Sequence<+T_co>[str]
1259 self
.count_max
= count_max
1260 self
.count_min
= count_min
1261 self
.description
= description
1262 self
.location
= location
1263 self
.minimum_size
= minimum_size
1265 self
.properties
= properties
1266 self
.read_only
= read_only
1267 self
.shared
= shared
1271 class CharmURL(Type
):
1272 _toSchema
= {'url': 'url'}
1273 _toPy
= {'url': 'url'}
1274 def __init__(self
, url
=None):
1281 class CharmsList(Type
):
1282 _toSchema
= {'names': 'names'}
1283 _toPy
= {'names': 'names'}
1284 def __init__(self
, names
=None):
1286 names : typing.Sequence<+T_co>[str]
1291 class CharmsListResult(Type
):
1292 _toSchema
= {'charm_urls': 'charm-urls'}
1293 _toPy
= {'charm-urls': 'charm_urls'}
1294 def __init__(self
, charm_urls
=None):
1296 charm_urls : typing.Sequence<+T_co>[str]
1298 self
.charm_urls
= charm_urls
1301 class IsMeteredResult(Type
):
1302 _toSchema
= {'metered': 'metered'}
1303 _toPy
= {'metered': 'metered'}
1304 def __init__(self
, metered
=None):
1308 self
.metered
= metered
1311 class APIHostPortsResult(Type
):
1312 _toSchema
= {'servers': 'servers'}
1313 _toPy
= {'servers': 'servers'}
1314 def __init__(self
, servers
=None):
1316 servers : typing.Sequence<+T_co>[~HostPort]<~HostPort>
1318 self
.servers
= [HostPort
.from_json(o
) for o
in servers
or []]
1321 class AddCharm(Type
):
1322 _toSchema
= {'url': 'url', 'channel': 'channel'}
1323 _toPy
= {'url': 'url', 'channel': 'channel'}
1324 def __init__(self
, channel
=None, url
=None):
1329 self
.channel
= channel
1333 class AddCharmWithAuthorization(Type
):
1334 _toSchema
= {'macaroon': 'macaroon', 'url': 'url', 'channel': 'channel'}
1335 _toPy
= {'macaroon': 'macaroon', 'url': 'url', 'channel': 'channel'}
1336 def __init__(self
, channel
=None, macaroon
=None, url
=None):
1342 self
.channel
= channel
1343 self
.macaroon
= Macaroon
.from_json(macaroon
) if macaroon
else None
1347 class AddMachineParams(Type
):
1348 _toSchema
= {'series': 'series', 'placement': 'placement', 'jobs': 'jobs', 'parent_id': 'parent-id', 'hardware_characteristics': 'hardware-characteristics', 'constraints': 'constraints', 'instance_id': 'instance-id', 'container_type': 'container-type', 'disks': 'disks', 'nonce': 'nonce', 'addresses': 'addresses'}
1349 _toPy
= {'parent-id': 'parent_id', 'placement': 'placement', 'container-type': 'container_type', 'series': 'series', 'constraints': 'constraints', 'instance-id': 'instance_id', 'jobs': 'jobs', 'addresses': 'addresses', 'hardware-characteristics': 'hardware_characteristics', 'nonce': 'nonce', 'disks': 'disks'}
1350 def __init__(self
, addresses
=None, constraints
=None, container_type
=None, disks
=None, hardware_characteristics
=None, instance_id
=None, jobs
=None, nonce
=None, parent_id
=None, placement
=None, series
=None):
1352 addresses : typing.Sequence<+T_co>[~Address]<~Address>
1354 container_type : str
1355 disks : typing.Sequence<+T_co>[~Constraints]<~Constraints>
1356 hardware_characteristics : HardwareCharacteristics
1358 jobs : typing.Sequence<+T_co>[str]
1361 placement : Placement
1364 self
.addresses
= [Address
.from_json(o
) for o
in addresses
or []]
1365 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
1366 self
.container_type
= container_type
1367 self
.disks
= [Constraints
.from_json(o
) for o
in disks
or []]
1368 self
.hardware_characteristics
= HardwareCharacteristics
.from_json(hardware_characteristics
) if hardware_characteristics
else None
1369 self
.instance_id
= instance_id
1372 self
.parent_id
= parent_id
1373 self
.placement
= Placement
.from_json(placement
) if placement
else None
1374 self
.series
= series
1377 class AddMachines(Type
):
1378 _toSchema
= {'params': 'params'}
1379 _toPy
= {'params': 'params'}
1380 def __init__(self
, params
=None):
1382 params : typing.Sequence<+T_co>[~AddMachineParams]<~AddMachineParams>
1384 self
.params
= [AddMachineParams
.from_json(o
) for o
in params
or []]
1387 class AddMachinesResult(Type
):
1388 _toSchema
= {'machine': 'machine', 'error': 'error'}
1389 _toPy
= {'machine': 'machine', 'error': 'error'}
1390 def __init__(self
, error
=None, machine
=None):
1395 self
.error
= Error
.from_json(error
) if error
else None
1396 self
.machine
= machine
1399 class AddMachinesResults(Type
):
1400 _toSchema
= {'machines': 'machines'}
1401 _toPy
= {'machines': 'machines'}
1402 def __init__(self
, machines
=None):
1404 machines : typing.Sequence<+T_co>[~AddMachinesResult]<~AddMachinesResult>
1406 self
.machines
= [AddMachinesResult
.from_json(o
) for o
in machines
or []]
1409 class Address(Type
):
1410 _toSchema
= {'scope': 'scope', 'type_': 'type', 'value': 'value', 'space_name': 'space-name'}
1411 _toPy
= {'scope': 'scope', 'space-name': 'space_name', 'value': 'value', 'type': 'type_'}
1412 def __init__(self
, scope
=None, space_name
=None, type_
=None, value
=None):
1420 self
.space_name
= space_name
1425 class AgentVersionResult(Type
):
1426 _toSchema
= {'version': 'version'}
1427 _toPy
= {'version': 'version'}
1428 def __init__(self
, version
=None):
1432 self
.version
= Number
.from_json(version
) if version
else None
1435 class AllWatcherId(Type
):
1436 _toSchema
= {'watcher_id': 'watcher-id'}
1437 _toPy
= {'watcher-id': 'watcher_id'}
1438 def __init__(self
, watcher_id
=None):
1442 self
.watcher_id
= watcher_id
1445 class ApplicationStatus(Type
):
1446 _toSchema
= {'status': 'status', 'charm': 'charm', 'relations': 'relations', 'subordinate_to': 'subordinate-to', 'err': 'err', 'series': 'series', 'exposed': 'exposed', 'workload_version': 'workload-version', 'can_upgrade_to': 'can-upgrade-to', 'meter_statuses': 'meter-statuses', 'life': 'life', 'units': 'units'}
1447 _toPy
= {'status': 'status', 'charm': 'charm', 'can-upgrade-to': 'can_upgrade_to', 'relations': 'relations', 'workload-version': 'workload_version', 'err': 'err', 'series': 'series', 'exposed': 'exposed', 'meter-statuses': 'meter_statuses', 'life': 'life', 'subordinate-to': 'subordinate_to', 'units': 'units'}
1448 def __init__(self
, can_upgrade_to
=None, charm
=None, err
=None, exposed
=None, life
=None, meter_statuses
=None, relations
=None, series
=None, status
=None, subordinate_to
=None, units
=None, workload_version
=None):
1450 can_upgrade_to : str
1452 err : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1455 meter_statuses : typing.Mapping<~KT, +VT_co>[str, ~MeterStatus]<~MeterStatus>
1456 relations : typing.Sequence<+T_co>[str]
1458 status : DetailedStatus
1459 subordinate_to : typing.Sequence<+T_co>[str]
1460 units : typing.Mapping<~KT, +VT_co>[str, ~UnitStatus]<~UnitStatus>
1461 workload_version : str
1463 self
.can_upgrade_to
= can_upgrade_to
1466 self
.exposed
= exposed
1468 self
.meter_statuses
= meter_statuses
1469 self
.relations
= relations
1470 self
.series
= series
1471 self
.status
= DetailedStatus
.from_json(status
) if status
else None
1472 self
.subordinate_to
= subordinate_to
1474 self
.workload_version
= workload_version
1478 _toSchema
= {'series': 'Series', 'arch': 'Arch', 'number': 'Number'}
1479 _toPy
= {'Series': 'series', 'Arch': 'arch', 'Number': 'number'}
1480 def __init__(self
, arch
=None, number
=None, series
=None):
1487 self
.number
= Number
.from_json(number
) if number
else None
1488 self
.series
= series
1491 class BundleChangesChange(Type
):
1492 _toSchema
= {'requires': 'requires', 'args': 'args', 'method': 'method', 'id_': 'id'}
1493 _toPy
= {'requires': 'requires', 'args': 'args', 'method': 'method', 'id': 'id_'}
1494 def __init__(self
, args
=None, id_
=None, method
=None, requires
=None):
1496 args : typing.Sequence<+T_co>[typing.Any]
1499 requires : typing.Sequence<+T_co>[str]
1503 self
.method
= method
1504 self
.requires
= requires
1507 class ConfigValue(Type
):
1508 _toSchema
= {'source': 'source', 'value': 'value'}
1509 _toPy
= {'source': 'source', 'value': 'value'}
1510 def __init__(self
, source
=None, value
=None):
1513 value : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1515 self
.source
= source
1519 class DestroyMachines(Type
):
1520 _toSchema
= {'machine_names': 'machine-names', 'force': 'force'}
1521 _toPy
= {'machine-names': 'machine_names', 'force': 'force'}
1522 def __init__(self
, force
=None, machine_names
=None):
1525 machine_names : typing.Sequence<+T_co>[str]
1528 self
.machine_names
= machine_names
1531 class DetailedStatus(Type
):
1532 _toSchema
= {'kind': 'kind', 'since': 'since', 'version': 'version', 'status': 'status', 'data': 'data', 'err': 'err', 'info': 'info', 'life': 'life'}
1533 _toPy
= {'kind': 'kind', 'since': 'since', 'version': 'version', 'status': 'status', 'data': 'data', 'err': 'err', 'info': 'info', 'life': 'life'}
1534 def __init__(self
, data
=None, err
=None, info
=None, kind
=None, life
=None, since
=None, status
=None, version
=None):
1536 data : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1537 err : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1551 self
.status
= status
1552 self
.version
= version
1555 class EndpointStatus(Type
):
1556 _toSchema
= {'role': 'role', 'application': 'application', 'name': 'name', 'subordinate': 'subordinate'}
1557 _toPy
= {'role': 'role', 'application': 'application', 'name': 'name', 'subordinate': 'subordinate'}
1558 def __init__(self
, application
=None, name
=None, role
=None, subordinate
=None):
1565 self
.application
= application
1568 self
.subordinate
= subordinate
1571 class EntityStatus(Type
):
1572 _toSchema
= {'since': 'since', 'info': 'info', 'data': 'data', 'status': 'status'}
1573 _toPy
= {'since': 'since', 'info': 'info', 'data': 'data', 'status': 'status'}
1574 def __init__(self
, data
=None, info
=None, since
=None, status
=None):
1576 data : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1584 self
.status
= status
1587 class FindToolsParams(Type
):
1588 _toSchema
= {'series': 'series', 'number': 'number', 'arch': 'arch', 'minor': 'minor', 'major': 'major'}
1589 _toPy
= {'series': 'series', 'number': 'number', 'arch': 'arch', 'minor': 'minor', 'major': 'major'}
1590 def __init__(self
, arch
=None, major
=None, minor
=None, number
=None, series
=None):
1601 self
.number
= Number
.from_json(number
) if number
else None
1602 self
.series
= series
1605 class FindToolsResult(Type
):
1606 _toSchema
= {'error': 'error', 'list_': 'list'}
1607 _toPy
= {'error': 'error', 'list': 'list_'}
1608 def __init__(self
, error
=None, list_
=None):
1611 list_ : typing.Sequence<+T_co>[~Tools]<~Tools>
1613 self
.error
= Error
.from_json(error
) if error
else None
1614 self
.list_
= [Tools
.from_json(o
) for o
in list_
or []]
1617 class FullStatus(Type
):
1618 _toSchema
= {'model': 'model', 'relations': 'relations', 'machines': 'machines', 'applications': 'applications'}
1619 _toPy
= {'model': 'model', 'relations': 'relations', 'machines': 'machines', 'applications': 'applications'}
1620 def __init__(self
, applications
=None, machines
=None, model
=None, relations
=None):
1622 applications : typing.Mapping<~KT, +VT_co>[str, ~ApplicationStatus]<~ApplicationStatus>
1623 machines : typing.Mapping<~KT, +VT_co>[str, ~MachineStatus]<~MachineStatus>
1624 model : ModelStatusInfo
1625 relations : typing.Sequence<+T_co>[~RelationStatus]<~RelationStatus>
1627 self
.applications
= applications
1628 self
.machines
= machines
1629 self
.model
= ModelStatusInfo
.from_json(model
) if model
else None
1630 self
.relations
= [RelationStatus
.from_json(o
) for o
in relations
or []]
1633 class GetBundleChangesParams(Type
):
1634 _toSchema
= {'yaml': 'yaml'}
1635 _toPy
= {'yaml': 'yaml'}
1636 def __init__(self
, yaml
=None):
1643 class GetBundleChangesResults(Type
):
1644 _toSchema
= {'changes': 'changes', 'errors': 'errors'}
1645 _toPy
= {'changes': 'changes', 'errors': 'errors'}
1646 def __init__(self
, changes
=None, errors
=None):
1648 changes : typing.Sequence<+T_co>[~BundleChangesChange]<~BundleChangesChange>
1649 errors : typing.Sequence<+T_co>[str]
1651 self
.changes
= [BundleChangesChange
.from_json(o
) for o
in changes
or []]
1652 self
.errors
= errors
1655 class HardwareCharacteristics(Type
):
1656 _toSchema
= {'root_disk': 'root-disk', 'cpu_power': 'cpu-power', 'tags': 'tags', 'cpu_cores': 'cpu-cores', 'arch': 'arch', 'mem': 'mem', 'availability_zone': 'availability-zone'}
1657 _toPy
= {'root-disk': 'root_disk', 'tags': 'tags', 'cpu-cores': 'cpu_cores', 'cpu-power': 'cpu_power', 'arch': 'arch', 'availability-zone': 'availability_zone', 'mem': 'mem'}
1658 def __init__(self
, arch
=None, availability_zone
=None, cpu_cores
=None, cpu_power
=None, mem
=None, root_disk
=None, tags
=None):
1661 availability_zone : str
1666 tags : typing.Sequence<+T_co>[str]
1669 self
.availability_zone
= availability_zone
1670 self
.cpu_cores
= cpu_cores
1671 self
.cpu_power
= cpu_power
1673 self
.root_disk
= root_disk
1677 class History(Type
):
1678 _toSchema
= {'error': 'error', 'statuses': 'statuses'}
1679 _toPy
= {'error': 'error', 'statuses': 'statuses'}
1680 def __init__(self
, error
=None, statuses
=None):
1683 statuses : typing.Sequence<+T_co>[~DetailedStatus]<~DetailedStatus>
1685 self
.error
= Error
.from_json(error
) if error
else None
1686 self
.statuses
= [DetailedStatus
.from_json(o
) for o
in statuses
or []]
1689 class HostPort(Type
):
1690 _toSchema
= {'address': 'Address', 'port': 'port'}
1691 _toPy
= {'Address': 'address', 'port': 'port'}
1692 def __init__(self
, address
=None, port
=None):
1697 self
.address
= Address
.from_json(address
) if address
else None
1701 class MachineHardware(Type
):
1702 _toSchema
= {'root_disk': 'root-disk', 'cpu_power': 'cpu-power', 'cores': 'cores', 'tags': 'tags', 'arch': 'arch', 'mem': 'mem', 'availability_zone': 'availability-zone'}
1703 _toPy
= {'tags': 'tags', 'cores': 'cores', 'root-disk': 'root_disk', 'cpu-power': 'cpu_power', 'arch': 'arch', 'mem': 'mem', 'availability-zone': 'availability_zone'}
1704 def __init__(self
, arch
=None, availability_zone
=None, cores
=None, cpu_power
=None, mem
=None, root_disk
=None, tags
=None):
1707 availability_zone : str
1712 tags : typing.Sequence<+T_co>[str]
1715 self
.availability_zone
= availability_zone
1717 self
.cpu_power
= cpu_power
1719 self
.root_disk
= root_disk
1723 class MachineStatus(Type
):
1724 _toSchema
= {'series': 'series', 'containers': 'containers', 'instance_status': 'instance-status', 'hardware': 'hardware', 'agent_status': 'agent-status', 'dns_name': 'dns-name', 'instance_id': 'instance-id', 'jobs': 'jobs', 'has_vote': 'has-vote', 'id_': 'id', 'wants_vote': 'wants-vote'}
1725 _toPy
= {'series': 'series', 'containers': 'containers', 'has-vote': 'has_vote', 'hardware': 'hardware', 'dns-name': 'dns_name', 'instance-status': 'instance_status', 'instance-id': 'instance_id', 'jobs': 'jobs', 'agent-status': 'agent_status', 'wants-vote': 'wants_vote', 'id': 'id_'}
1726 def __init__(self
, agent_status
=None, containers
=None, dns_name
=None, hardware
=None, has_vote
=None, id_
=None, instance_id
=None, instance_status
=None, jobs
=None, series
=None, wants_vote
=None):
1728 agent_status : DetailedStatus
1729 containers : typing.Mapping<~KT, +VT_co>[str, ~MachineStatus]<~MachineStatus>
1735 instance_status : DetailedStatus
1736 jobs : typing.Sequence<+T_co>[str]
1740 self
.agent_status
= DetailedStatus
.from_json(agent_status
) if agent_status
else None
1741 self
.containers
= containers
1742 self
.dns_name
= dns_name
1743 self
.hardware
= hardware
1744 self
.has_vote
= has_vote
1746 self
.instance_id
= instance_id
1747 self
.instance_status
= DetailedStatus
.from_json(instance_status
) if instance_status
else None
1749 self
.series
= series
1750 self
.wants_vote
= wants_vote
1753 class MeterStatus(Type
):
1754 _toSchema
= {'color': 'color', 'message': 'message'}
1755 _toPy
= {'color': 'color', 'message': 'message'}
1756 def __init__(self
, color
=None, message
=None):
1762 self
.message
= message
1765 class ModelConfigResults(Type
):
1766 _toSchema
= {'config': 'config'}
1767 _toPy
= {'config': 'config'}
1768 def __init__(self
, config
=None):
1770 config : typing.Mapping<~KT, +VT_co>[str, ~ConfigValue]<~ConfigValue>
1772 self
.config
= config
1775 class ModelDefaultValues(Type
):
1776 _toSchema
= {'cloud_tag': 'cloud-tag', 'cloud_region': 'cloud-region', 'config': 'config'}
1777 _toPy
= {'cloud-region': 'cloud_region', 'cloud-tag': 'cloud_tag', 'config': 'config'}
1778 def __init__(self
, cloud_region
=None, cloud_tag
=None, config
=None):
1782 config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1784 self
.cloud_region
= cloud_region
1785 self
.cloud_tag
= cloud_tag
1786 self
.config
= config
1789 class ModelDefaults(Type
):
1790 _toSchema
= {'regions': 'regions', 'controller': 'controller', 'default': 'default'}
1791 _toPy
= {'regions': 'regions', 'controller': 'controller', 'default': 'default'}
1792 def __init__(self
, controller
=None, default
=None, regions
=None):
1794 controller : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1795 default : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1796 regions : typing.Sequence<+T_co>[~RegionDefaults]<~RegionDefaults>
1798 self
.controller
= controller
1799 self
.default
= default
1800 self
.regions
= [RegionDefaults
.from_json(o
) for o
in regions
or []]
1803 class ModelDefaultsResult(Type
):
1804 _toSchema
= {'config': 'config'}
1805 _toPy
= {'config': 'config'}
1806 def __init__(self
, config
=None):
1808 config : typing.Mapping<~KT, +VT_co>[str, ~ModelDefaults]<~ModelDefaults>
1810 self
.config
= config
1813 class ModelInfo(Type
):
1814 _toSchema
= {'status': 'status', 'machines': 'machines', 'users': 'users', 'uuid': 'uuid', 'life': 'life', 'cloud_region': 'cloud-region', 'owner_tag': 'owner-tag', 'cloud': 'cloud', 'controller_uuid': 'controller-uuid', 'provider_type': 'provider-type', 'default_series': 'default-series', 'name': 'name', 'cloud_credential_tag': 'cloud-credential-tag'}
1815 _toPy
= {'machines': 'machines', 'users': 'users', 'owner-tag': 'owner_tag', 'uuid': 'uuid', 'life': 'life', 'default-series': 'default_series', 'cloud': 'cloud', 'controller-uuid': 'controller_uuid', 'cloud-credential-tag': 'cloud_credential_tag', 'cloud-region': 'cloud_region', 'provider-type': 'provider_type', 'name': 'name', 'status': 'status'}
1816 def __init__(self
, cloud
=None, cloud_credential_tag
=None, cloud_region
=None, controller_uuid
=None, default_series
=None, life
=None, machines
=None, name
=None, owner_tag
=None, provider_type
=None, status
=None, users
=None, uuid
=None):
1819 cloud_credential_tag : str
1821 controller_uuid : str
1822 default_series : str
1824 machines : typing.Sequence<+T_co>[~ModelMachineInfo]<~ModelMachineInfo>
1828 status : EntityStatus
1829 users : typing.Sequence<+T_co>[~ModelUserInfo]<~ModelUserInfo>
1833 self
.cloud_credential_tag
= cloud_credential_tag
1834 self
.cloud_region
= cloud_region
1835 self
.controller_uuid
= controller_uuid
1836 self
.default_series
= default_series
1838 self
.machines
= [ModelMachineInfo
.from_json(o
) for o
in machines
or []]
1840 self
.owner_tag
= owner_tag
1841 self
.provider_type
= provider_type
1842 self
.status
= EntityStatus
.from_json(status
) if status
else None
1843 self
.users
= [ModelUserInfo
.from_json(o
) for o
in users
or []]
1847 class ModelMachineInfo(Type
):
1848 _toSchema
= {'hardware': 'hardware', 'id_': 'id'}
1849 _toPy
= {'hardware': 'hardware', 'id': 'id_'}
1850 def __init__(self
, hardware
=None, id_
=None):
1852 hardware : MachineHardware
1855 self
.hardware
= MachineHardware
.from_json(hardware
) if hardware
else None
1859 class ModelSet(Type
):
1860 _toSchema
= {'config': 'config'}
1861 _toPy
= {'config': 'config'}
1862 def __init__(self
, config
=None):
1864 config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1866 self
.config
= config
1869 class ModelStatusInfo(Type
):
1870 _toSchema
= {'region': 'region', 'available_version': 'available-version', 'migration': 'migration', 'cloud': 'cloud', 'version': 'version', 'name': 'name'}
1871 _toPy
= {'region': 'region', 'version': 'version', 'migration': 'migration', 'cloud': 'cloud', 'available-version': 'available_version', 'name': 'name'}
1872 def __init__(self
, available_version
=None, cloud
=None, migration
=None, name
=None, region
=None, version
=None):
1874 available_version : str
1881 self
.available_version
= available_version
1883 self
.migration
= migration
1885 self
.region
= region
1886 self
.version
= version
1889 class ModelUnset(Type
):
1890 _toSchema
= {'keys': 'keys'}
1891 _toPy
= {'keys': 'keys'}
1892 def __init__(self
, keys
=None):
1894 keys : typing.Sequence<+T_co>[str]
1899 class ModelUnsetKeys(Type
):
1900 _toSchema
= {'cloud_tag': 'cloud-tag', 'cloud_region': 'cloud-region', 'keys': 'keys'}
1901 _toPy
= {'cloud-region': 'cloud_region', 'cloud-tag': 'cloud_tag', 'keys': 'keys'}
1902 def __init__(self
, cloud_region
=None, cloud_tag
=None, keys
=None):
1906 keys : typing.Sequence<+T_co>[str]
1908 self
.cloud_region
= cloud_region
1909 self
.cloud_tag
= cloud_tag
1913 class ModelUserInfo(Type
):
1914 _toSchema
= {'display_name': 'display-name', 'last_connection': 'last-connection', 'access': 'access', 'user': 'user'}
1915 _toPy
= {'access': 'access', 'display-name': 'display_name', 'user': 'user', 'last-connection': 'last_connection'}
1916 def __init__(self
, access
=None, display_name
=None, last_connection
=None, user
=None):
1920 last_connection : str
1923 self
.access
= access
1924 self
.display_name
= display_name
1925 self
.last_connection
= last_connection
1929 class ModelUserInfoResult(Type
):
1930 _toSchema
= {'result': 'result', 'error': 'error'}
1931 _toPy
= {'result': 'result', 'error': 'error'}
1932 def __init__(self
, error
=None, result
=None):
1935 result : ModelUserInfo
1937 self
.error
= Error
.from_json(error
) if error
else None
1938 self
.result
= ModelUserInfo
.from_json(result
) if result
else None
1941 class ModelUserInfoResults(Type
):
1942 _toSchema
= {'results': 'results'}
1943 _toPy
= {'results': 'results'}
1944 def __init__(self
, results
=None):
1946 results : typing.Sequence<+T_co>[~ModelUserInfoResult]<~ModelUserInfoResult>
1948 self
.results
= [ModelUserInfoResult
.from_json(o
) for o
in results
or []]
1951 class PrivateAddress(Type
):
1952 _toSchema
= {'target': 'target'}
1953 _toPy
= {'target': 'target'}
1954 def __init__(self
, target
=None):
1958 self
.target
= target
1961 class PrivateAddressResults(Type
):
1962 _toSchema
= {'private_address': 'private-address'}
1963 _toPy
= {'private-address': 'private_address'}
1964 def __init__(self
, private_address
=None):
1966 private_address : str
1968 self
.private_address
= private_address
1971 class ProvisioningScriptParams(Type
):
1972 _toSchema
= {'disable_package_commands': 'disable-package-commands', 'machine_id': 'machine-id', 'nonce': 'nonce', 'data_dir': 'data-dir'}
1973 _toPy
= {'data-dir': 'data_dir', 'nonce': 'nonce', 'disable-package-commands': 'disable_package_commands', 'machine-id': 'machine_id'}
1974 def __init__(self
, data_dir
=None, disable_package_commands
=None, machine_id
=None, nonce
=None):
1977 disable_package_commands : bool
1981 self
.data_dir
= data_dir
1982 self
.disable_package_commands
= disable_package_commands
1983 self
.machine_id
= machine_id
1987 class ProvisioningScriptResult(Type
):
1988 _toSchema
= {'script': 'script'}
1989 _toPy
= {'script': 'script'}
1990 def __init__(self
, script
=None):
1994 self
.script
= script
1997 class PublicAddress(Type
):
1998 _toSchema
= {'target': 'target'}
1999 _toPy
= {'target': 'target'}
2000 def __init__(self
, target
=None):
2004 self
.target
= target
2007 class PublicAddressResults(Type
):
2008 _toSchema
= {'public_address': 'public-address'}
2009 _toPy
= {'public-address': 'public_address'}
2010 def __init__(self
, public_address
=None):
2012 public_address : str
2014 self
.public_address
= public_address
2017 class RegionDefaults(Type
):
2018 _toSchema
= {'value': 'value', 'region_name': 'region-name'}
2019 _toPy
= {'value': 'value', 'region-name': 'region_name'}
2020 def __init__(self
, region_name
=None, value
=None):
2023 value : typing.Mapping<~KT, +VT_co>[str, typing.Any]
2025 self
.region_name
= region_name
2029 class RelationStatus(Type
):
2030 _toSchema
= {'scope': 'scope', 'key': 'key', 'endpoints': 'endpoints', 'id_': 'id', 'interface': 'interface'}
2031 _toPy
= {'scope': 'scope', 'key': 'key', 'interface': 'interface', 'endpoints': 'endpoints', 'id': 'id_'}
2032 def __init__(self
, endpoints
=None, id_
=None, interface
=None, key
=None, scope
=None):
2034 endpoints : typing.Sequence<+T_co>[~EndpointStatus]<~EndpointStatus>
2040 self
.endpoints
= [EndpointStatus
.from_json(o
) for o
in endpoints
or []]
2042 self
.interface
= interface
2047 class ResolveCharmResult(Type
):
2048 _toSchema
= {'error': 'error', 'url': 'url'}
2049 _toPy
= {'error': 'error', 'url': 'url'}
2050 def __init__(self
, error
=None, url
=None):
2059 class ResolveCharmResults(Type
):
2060 _toSchema
= {'urls': 'urls'}
2061 _toPy
= {'urls': 'urls'}
2062 def __init__(self
, urls
=None):
2064 urls : typing.Sequence<+T_co>[~ResolveCharmResult]<~ResolveCharmResult>
2066 self
.urls
= [ResolveCharmResult
.from_json(o
) for o
in urls
or []]
2069 class ResolveCharms(Type
):
2070 _toSchema
= {'references': 'references'}
2071 _toPy
= {'references': 'references'}
2072 def __init__(self
, references
=None):
2074 references : typing.Sequence<+T_co>[str]
2076 self
.references
= references
2079 class Resolved(Type
):
2080 _toSchema
= {'retry': 'retry', 'unit_name': 'unit-name'}
2081 _toPy
= {'unit-name': 'unit_name', 'retry': 'retry'}
2082 def __init__(self
, retry
=None, unit_name
=None):
2088 self
.unit_name
= unit_name
2091 class SetModelAgentVersion(Type
):
2092 _toSchema
= {'version': 'version'}
2093 _toPy
= {'version': 'version'}
2094 def __init__(self
, version
=None):
2098 self
.version
= Number
.from_json(version
) if version
else None
2101 class SetModelDefaults(Type
):
2102 _toSchema
= {'config': 'config'}
2103 _toPy
= {'config': 'config'}
2104 def __init__(self
, config
=None):
2106 config : typing.Sequence<+T_co>[~ModelDefaultValues]<~ModelDefaultValues>
2108 self
.config
= [ModelDefaultValues
.from_json(o
) for o
in config
or []]
2111 class StatusHistoryFilter(Type
):
2112 _toSchema
= {'delta': 'delta', 'date': 'date', 'size': 'size'}
2113 _toPy
= {'delta': 'delta', 'date': 'date', 'size': 'size'}
2114 def __init__(self
, date
=None, delta
=None, size
=None):
2125 class StatusHistoryRequest(Type
):
2126 _toSchema
= {'tag': 'tag', 'historykind': 'historyKind', 'size': 'size', 'filter_': 'filter'}
2127 _toPy
= {'tag': 'tag', 'size': 'size', 'historyKind': 'historykind', 'filter': 'filter_'}
2128 def __init__(self
, filter_
=None, historykind
=None, size
=None, tag
=None):
2130 filter_ : StatusHistoryFilter
2135 self
.filter_
= StatusHistoryFilter
.from_json(filter_
) if filter_
else None
2136 self
.historykind
= historykind
2141 class StatusHistoryRequests(Type
):
2142 _toSchema
= {'requests': 'requests'}
2143 _toPy
= {'requests': 'requests'}
2144 def __init__(self
, requests
=None):
2146 requests : typing.Sequence<+T_co>[~StatusHistoryRequest]<~StatusHistoryRequest>
2148 self
.requests
= [StatusHistoryRequest
.from_json(o
) for o
in requests
or []]
2151 class StatusHistoryResult(Type
):
2152 _toSchema
= {'error': 'error', 'history': 'history'}
2153 _toPy
= {'error': 'error', 'history': 'history'}
2154 def __init__(self
, error
=None, history
=None):
2159 self
.error
= Error
.from_json(error
) if error
else None
2160 self
.history
= History
.from_json(history
) if history
else None
2163 class StatusHistoryResults(Type
):
2164 _toSchema
= {'results': 'results'}
2165 _toPy
= {'results': 'results'}
2166 def __init__(self
, results
=None):
2168 results : typing.Sequence<+T_co>[~StatusHistoryResult]<~StatusHistoryResult>
2170 self
.results
= [StatusHistoryResult
.from_json(o
) for o
in results
or []]
2173 class StatusParams(Type
):
2174 _toSchema
= {'patterns': 'patterns'}
2175 _toPy
= {'patterns': 'patterns'}
2176 def __init__(self
, patterns
=None):
2178 patterns : typing.Sequence<+T_co>[str]
2180 self
.patterns
= patterns
2184 _toSchema
= {'sha256': 'sha256', 'version': 'version', 'url': 'url', 'size': 'size'}
2185 _toPy
= {'sha256': 'sha256', 'version': 'version', 'url': 'url', 'size': 'size'}
2186 def __init__(self
, sha256
=None, size
=None, url
=None, version
=None):
2193 self
.sha256
= sha256
2196 self
.version
= Binary
.from_json(version
) if version
else None
2199 class UnitStatus(Type
):
2200 _toSchema
= {'machine': 'machine', 'opened_ports': 'opened-ports', 'public_address': 'public-address', 'workload_version': 'workload-version', 'agent_status': 'agent-status', 'charm': 'charm', 'subordinates': 'subordinates', 'workload_status': 'workload-status'}
2201 _toPy
= {'machine': 'machine', 'opened-ports': 'opened_ports', 'subordinates': 'subordinates', 'charm': 'charm', 'workload-status': 'workload_status', 'public-address': 'public_address', 'workload-version': 'workload_version', 'agent-status': 'agent_status'}
2202 def __init__(self
, agent_status
=None, charm
=None, machine
=None, opened_ports
=None, public_address
=None, subordinates
=None, workload_status
=None, workload_version
=None):
2204 agent_status : DetailedStatus
2207 opened_ports : typing.Sequence<+T_co>[str]
2208 public_address : str
2209 subordinates : typing.Mapping<~KT, +VT_co>[str, ~UnitStatus]<~UnitStatus>
2210 workload_status : DetailedStatus
2211 workload_version : str
2213 self
.agent_status
= DetailedStatus
.from_json(agent_status
) if agent_status
else None
2215 self
.machine
= machine
2216 self
.opened_ports
= opened_ports
2217 self
.public_address
= public_address
2218 self
.subordinates
= subordinates
2219 self
.workload_status
= DetailedStatus
.from_json(workload_status
) if workload_status
else None
2220 self
.workload_version
= workload_version
2223 class UnsetModelDefaults(Type
):
2224 _toSchema
= {'keys': 'keys'}
2225 _toPy
= {'keys': 'keys'}
2226 def __init__(self
, keys
=None):
2228 keys : typing.Sequence<+T_co>[~ModelUnsetKeys]<~ModelUnsetKeys>
2230 self
.keys
= [ModelUnsetKeys
.from_json(o
) for o
in keys
or []]
2234 _toSchema
= {'regions': 'regions', 'auth_types': 'auth-types', 'type_': 'type', 'endpoint': 'endpoint', 'storage_endpoint': 'storage-endpoint', 'identity_endpoint': 'identity-endpoint'}
2235 _toPy
= {'regions': 'regions', 'auth-types': 'auth_types', 'storage-endpoint': 'storage_endpoint', 'identity-endpoint': 'identity_endpoint', 'type': 'type_', 'endpoint': 'endpoint'}
2236 def __init__(self
, auth_types
=None, endpoint
=None, identity_endpoint
=None, regions
=None, storage_endpoint
=None, type_
=None):
2238 auth_types : typing.Sequence<+T_co>[str]
2240 identity_endpoint : str
2241 regions : typing.Sequence<+T_co>[~CloudRegion]<~CloudRegion>
2242 storage_endpoint : str
2245 self
.auth_types
= auth_types
2246 self
.endpoint
= endpoint
2247 self
.identity_endpoint
= identity_endpoint
2248 self
.regions
= [CloudRegion
.from_json(o
) for o
in regions
or []]
2249 self
.storage_endpoint
= storage_endpoint
2253 class CloudCredentialResult(Type
):
2254 _toSchema
= {'result': 'result', 'error': 'error'}
2255 _toPy
= {'result': 'result', 'error': 'error'}
2256 def __init__(self
, error
=None, result
=None):
2259 result : CloudCredential
2261 self
.error
= Error
.from_json(error
) if error
else None
2262 self
.result
= CloudCredential
.from_json(result
) if result
else None
2265 class CloudCredentialResults(Type
):
2266 _toSchema
= {'results': 'results'}
2267 _toPy
= {'results': 'results'}
2268 def __init__(self
, results
=None):
2270 results : typing.Sequence<+T_co>[~CloudCredentialResult]<~CloudCredentialResult>
2272 self
.results
= [CloudCredentialResult
.from_json(o
) for o
in results
or []]
2275 class CloudRegion(Type
):
2276 _toSchema
= {'identity_endpoint': 'identity-endpoint', 'name': 'name', 'storage_endpoint': 'storage-endpoint', 'endpoint': 'endpoint'}
2277 _toPy
= {'storage-endpoint': 'storage_endpoint', 'identity-endpoint': 'identity_endpoint', 'name': 'name', 'endpoint': 'endpoint'}
2278 def __init__(self
, endpoint
=None, identity_endpoint
=None, name
=None, storage_endpoint
=None):
2281 identity_endpoint : str
2283 storage_endpoint : str
2285 self
.endpoint
= endpoint
2286 self
.identity_endpoint
= identity_endpoint
2288 self
.storage_endpoint
= storage_endpoint
2291 class CloudResult(Type
):
2292 _toSchema
= {'error': 'error', 'cloud': 'cloud'}
2293 _toPy
= {'error': 'error', 'cloud': 'cloud'}
2294 def __init__(self
, cloud
=None, error
=None):
2299 self
.cloud
= Cloud
.from_json(cloud
) if cloud
else None
2300 self
.error
= Error
.from_json(error
) if error
else None
2303 class CloudResults(Type
):
2304 _toSchema
= {'results': 'results'}
2305 _toPy
= {'results': 'results'}
2306 def __init__(self
, results
=None):
2308 results : typing.Sequence<+T_co>[~CloudResult]<~CloudResult>
2310 self
.results
= [CloudResult
.from_json(o
) for o
in results
or []]
2313 class CloudsResult(Type
):
2314 _toSchema
= {'clouds': 'clouds'}
2315 _toPy
= {'clouds': 'clouds'}
2316 def __init__(self
, clouds
=None):
2318 clouds : typing.Mapping<~KT, +VT_co>[str, ~Cloud]<~Cloud>
2320 self
.clouds
= clouds
2323 class StringsResult(Type
):
2324 _toSchema
= {'result': 'result', 'error': 'error'}
2325 _toPy
= {'result': 'result', 'error': 'error'}
2326 def __init__(self
, error
=None, result
=None):
2329 result : typing.Sequence<+T_co>[str]
2331 self
.error
= Error
.from_json(error
) if error
else None
2332 self
.result
= result
2335 class StringsResults(Type
):
2336 _toSchema
= {'results': 'results'}
2337 _toPy
= {'results': 'results'}
2338 def __init__(self
, results
=None):
2340 results : typing.Sequence<+T_co>[~StringsResult]<~StringsResult>
2342 self
.results
= [StringsResult
.from_json(o
) for o
in results
or []]
2345 class UpdateCloudCredential(Type
):
2346 _toSchema
= {'tag': 'tag', 'credential': 'credential'}
2347 _toPy
= {'tag': 'tag', 'credential': 'credential'}
2348 def __init__(self
, credential
=None, tag
=None):
2350 credential : CloudCredential
2353 self
.credential
= CloudCredential
.from_json(credential
) if credential
else None
2357 class UpdateCloudCredentials(Type
):
2358 _toSchema
= {'credentials': 'credentials'}
2359 _toPy
= {'credentials': 'credentials'}
2360 def __init__(self
, credentials
=None):
2362 credentials : typing.Sequence<+T_co>[~UpdateCloudCredential]<~UpdateCloudCredential>
2364 self
.credentials
= [UpdateCloudCredential
.from_json(o
) for o
in credentials
or []]
2367 class UserCloud(Type
):
2368 _toSchema
= {'cloud_tag': 'cloud-tag', 'user_tag': 'user-tag'}
2369 _toPy
= {'user-tag': 'user_tag', 'cloud-tag': 'cloud_tag'}
2370 def __init__(self
, cloud_tag
=None, user_tag
=None):
2375 self
.cloud_tag
= cloud_tag
2376 self
.user_tag
= user_tag
2379 class UserClouds(Type
):
2380 _toSchema
= {'user_clouds': 'user-clouds'}
2381 _toPy
= {'user-clouds': 'user_clouds'}
2382 def __init__(self
, user_clouds
=None):
2384 user_clouds : typing.Sequence<+T_co>[~UserCloud]<~UserCloud>
2386 self
.user_clouds
= [UserCloud
.from_json(o
) for o
in user_clouds
or []]
2389 class DestroyControllerArgs(Type
):
2390 _toSchema
= {'destroy_models': 'destroy-models'}
2391 _toPy
= {'destroy-models': 'destroy_models'}
2392 def __init__(self
, destroy_models
=None):
2394 destroy_models : bool
2396 self
.destroy_models
= destroy_models
2399 class InitiateMigrationArgs(Type
):
2400 _toSchema
= {'specs': 'specs'}
2401 _toPy
= {'specs': 'specs'}
2402 def __init__(self
, specs
=None):
2404 specs : typing.Sequence<+T_co>[~MigrationSpec]<~MigrationSpec>
2406 self
.specs
= [MigrationSpec
.from_json(o
) for o
in specs
or []]
2409 class InitiateMigrationResult(Type
):
2410 _toSchema
= {'migration_id': 'migration-id', 'error': 'error', 'model_tag': 'model-tag'}
2411 _toPy
= {'error': 'error', 'migration-id': 'migration_id', 'model-tag': 'model_tag'}
2412 def __init__(self
, error
=None, migration_id
=None, model_tag
=None):
2418 self
.error
= Error
.from_json(error
) if error
else None
2419 self
.migration_id
= migration_id
2420 self
.model_tag
= model_tag
2423 class InitiateMigrationResults(Type
):
2424 _toSchema
= {'results': 'results'}
2425 _toPy
= {'results': 'results'}
2426 def __init__(self
, results
=None):
2428 results : typing.Sequence<+T_co>[~InitiateMigrationResult]<~InitiateMigrationResult>
2430 self
.results
= [InitiateMigrationResult
.from_json(o
) for o
in results
or []]
2433 class MigrationSpec(Type
):
2434 _toSchema
= {'external_control': 'external-control', 'model_tag': 'model-tag', 'target_info': 'target-info'}
2435 _toPy
= {'model-tag': 'model_tag', 'target-info': 'target_info', 'external-control': 'external_control'}
2436 def __init__(self
, external_control
=None, model_tag
=None, target_info
=None):
2438 external_control : bool
2440 target_info : MigrationTargetInfo
2442 self
.external_control
= external_control
2443 self
.model_tag
= model_tag
2444 self
.target_info
= MigrationTargetInfo
.from_json(target_info
) if target_info
else None
2447 class MigrationTargetInfo(Type
):
2448 _toSchema
= {'macaroons': 'macaroons', 'password': 'password', 'ca_cert': 'ca-cert', 'auth_tag': 'auth-tag', 'controller_tag': 'controller-tag', 'addrs': 'addrs'}
2449 _toPy
= {'macaroons': 'macaroons', 'password': 'password', 'ca-cert': 'ca_cert', 'addrs': 'addrs', 'auth-tag': 'auth_tag', 'controller-tag': 'controller_tag'}
2450 def __init__(self
, addrs
=None, auth_tag
=None, ca_cert
=None, controller_tag
=None, macaroons
=None, password
=None):
2452 addrs : typing.Sequence<+T_co>[str]
2455 controller_tag : str
2460 self
.auth_tag
= auth_tag
2461 self
.ca_cert
= ca_cert
2462 self
.controller_tag
= controller_tag
2463 self
.macaroons
= macaroons
2464 self
.password
= password
2468 _toSchema
= {'name': 'name', 'uuid': 'uuid', 'owner_tag': 'owner-tag'}
2469 _toPy
= {'owner-tag': 'owner_tag', 'name': 'name', 'uuid': 'uuid'}
2470 def __init__(self
, name
=None, owner_tag
=None, uuid
=None):
2477 self
.owner_tag
= owner_tag
2481 class ModelBlockInfo(Type
):
2482 _toSchema
= {'model_uuid': 'model-uuid', 'name': 'name', 'blocks': 'blocks', 'owner_tag': 'owner-tag'}
2483 _toPy
= {'model-uuid': 'model_uuid', 'owner-tag': 'owner_tag', 'name': 'name', 'blocks': 'blocks'}
2484 def __init__(self
, blocks
=None, model_uuid
=None, name
=None, owner_tag
=None):
2486 blocks : typing.Sequence<+T_co>[str]
2491 self
.blocks
= blocks
2492 self
.model_uuid
= model_uuid
2494 self
.owner_tag
= owner_tag
2497 class ModelBlockInfoList(Type
):
2498 _toSchema
= {'models': 'models'}
2499 _toPy
= {'models': 'models'}
2500 def __init__(self
, models
=None):
2502 models : typing.Sequence<+T_co>[~ModelBlockInfo]<~ModelBlockInfo>
2504 self
.models
= [ModelBlockInfo
.from_json(o
) for o
in models
or []]
2507 class ModelStatus(Type
):
2508 _toSchema
= {'hosted_machine_count': 'hosted-machine-count', 'machines': 'machines', 'owner_tag': 'owner-tag', 'application_count': 'application-count', 'model_tag': 'model-tag', 'life': 'life'}
2509 _toPy
= {'machines': 'machines', 'model-tag': 'model_tag', 'application-count': 'application_count', 'owner-tag': 'owner_tag', 'hosted-machine-count': 'hosted_machine_count', 'life': 'life'}
2510 def __init__(self
, application_count
=None, hosted_machine_count
=None, life
=None, machines
=None, model_tag
=None, owner_tag
=None):
2512 application_count : int
2513 hosted_machine_count : int
2515 machines : typing.Sequence<+T_co>[~ModelMachineInfo]<~ModelMachineInfo>
2519 self
.application_count
= application_count
2520 self
.hosted_machine_count
= hosted_machine_count
2522 self
.machines
= [ModelMachineInfo
.from_json(o
) for o
in machines
or []]
2523 self
.model_tag
= model_tag
2524 self
.owner_tag
= owner_tag
2527 class ModelStatusResults(Type
):
2528 _toSchema
= {'models': 'models'}
2529 _toPy
= {'models': 'models'}
2530 def __init__(self
, models
=None):
2532 models : typing.Sequence<+T_co>[~ModelStatus]<~ModelStatus>
2534 self
.models
= [ModelStatus
.from_json(o
) for o
in models
or []]
2537 class ModifyControllerAccess(Type
):
2538 _toSchema
= {'user_tag': 'user-tag', 'action': 'action', 'access': 'access'}
2539 _toPy
= {'user-tag': 'user_tag', 'action': 'action', 'access': 'access'}
2540 def __init__(self
, access
=None, action
=None, user_tag
=None):
2546 self
.access
= access
2547 self
.action
= action
2548 self
.user_tag
= user_tag
2551 class ModifyControllerAccessRequest(Type
):
2552 _toSchema
= {'changes': 'changes'}
2553 _toPy
= {'changes': 'changes'}
2554 def __init__(self
, changes
=None):
2556 changes : typing.Sequence<+T_co>[~ModifyControllerAccess]<~ModifyControllerAccess>
2558 self
.changes
= [ModifyControllerAccess
.from_json(o
) for o
in changes
or []]
2561 class RemoveBlocksArgs(Type
):
2562 _toSchema
= {'all_': 'all'}
2563 _toPy
= {'all': 'all_'}
2564 def __init__(self
, all_
=None):
2571 class UserAccess(Type
):
2572 _toSchema
= {'user_tag': 'user-tag', 'access': 'access'}
2573 _toPy
= {'user-tag': 'user_tag', 'access': 'access'}
2574 def __init__(self
, access
=None, user_tag
=None):
2579 self
.access
= access
2580 self
.user_tag
= user_tag
2583 class UserAccessResult(Type
):
2584 _toSchema
= {'result': 'result', 'error': 'error'}
2585 _toPy
= {'result': 'result', 'error': 'error'}
2586 def __init__(self
, error
=None, result
=None):
2591 self
.error
= Error
.from_json(error
) if error
else None
2592 self
.result
= UserAccess
.from_json(result
) if result
else None
2595 class UserAccessResults(Type
):
2596 _toSchema
= {'results': 'results'}
2597 _toPy
= {'results': 'results'}
2598 def __init__(self
, results
=None):
2600 results : typing.Sequence<+T_co>[~UserAccessResult]<~UserAccessResult>
2602 self
.results
= [UserAccessResult
.from_json(o
) for o
in results
or []]
2605 class UserModel(Type
):
2606 _toSchema
= {'model': 'model', 'last_connection': 'last-connection'}
2607 _toPy
= {'model': 'model', 'last-connection': 'last_connection'}
2608 def __init__(self
, last_connection
=None, model
=None):
2610 last_connection : str
2613 self
.last_connection
= last_connection
2614 self
.model
= Model
.from_json(model
) if model
else None
2617 class UserModelList(Type
):
2618 _toSchema
= {'user_models': 'user-models'}
2619 _toPy
= {'user-models': 'user_models'}
2620 def __init__(self
, user_models
=None):
2622 user_models : typing.Sequence<+T_co>[~UserModel]<~UserModel>
2624 self
.user_models
= [UserModel
.from_json(o
) for o
in user_models
or []]
2627 class BytesResult(Type
):
2628 _toSchema
= {'result': 'result'}
2629 _toPy
= {'result': 'result'}
2630 def __init__(self
, result
=None):
2632 result : typing.Sequence<+T_co>[int]
2634 self
.result
= result
2637 class DeployerConnectionValues(Type
):
2638 _toSchema
= {'api_addresses': 'api-addresses', 'state_addresses': 'state-addresses'}
2639 _toPy
= {'api-addresses': 'api_addresses', 'state-addresses': 'state_addresses'}
2640 def __init__(self
, api_addresses
=None, state_addresses
=None):
2642 api_addresses : typing.Sequence<+T_co>[str]
2643 state_addresses : typing.Sequence<+T_co>[str]
2645 self
.api_addresses
= api_addresses
2646 self
.state_addresses
= state_addresses
2649 class LifeResult(Type
):
2650 _toSchema
= {'error': 'error', 'life': 'life'}
2651 _toPy
= {'error': 'error', 'life': 'life'}
2652 def __init__(self
, error
=None, life
=None):
2657 self
.error
= Error
.from_json(error
) if error
else None
2661 class LifeResults(Type
):
2662 _toSchema
= {'results': 'results'}
2663 _toPy
= {'results': 'results'}
2664 def __init__(self
, results
=None):
2666 results : typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
2668 self
.results
= [LifeResult
.from_json(o
) for o
in results
or []]
2671 class StringsWatchResults(Type
):
2672 _toSchema
= {'results': 'results'}
2673 _toPy
= {'results': 'results'}
2674 def __init__(self
, results
=None):
2676 results : typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
2678 self
.results
= [StringsWatchResult
.from_json(o
) for o
in results
or []]
2681 class AddSubnetParams(Type
):
2682 _toSchema
= {'zones': 'zones', 'subnet_provider_id': 'subnet-provider-id', 'subnet_tag': 'subnet-tag', 'space_tag': 'space-tag'}
2683 _toPy
= {'space-tag': 'space_tag', 'subnet-provider-id': 'subnet_provider_id', 'zones': 'zones', 'subnet-tag': 'subnet_tag'}
2684 def __init__(self
, space_tag
=None, subnet_provider_id
=None, subnet_tag
=None, zones
=None):
2687 subnet_provider_id : str
2689 zones : typing.Sequence<+T_co>[str]
2691 self
.space_tag
= space_tag
2692 self
.subnet_provider_id
= subnet_provider_id
2693 self
.subnet_tag
= subnet_tag
2697 class AddSubnetsParams(Type
):
2698 _toSchema
= {'subnets': 'subnets'}
2699 _toPy
= {'subnets': 'subnets'}
2700 def __init__(self
, subnets
=None):
2702 subnets : typing.Sequence<+T_co>[~AddSubnetParams]<~AddSubnetParams>
2704 self
.subnets
= [AddSubnetParams
.from_json(o
) for o
in subnets
or []]
2707 class CreateSpaceParams(Type
):
2708 _toSchema
= {'subnet_tags': 'subnet-tags', 'public': 'public', 'space_tag': 'space-tag', 'provider_id': 'provider-id'}
2709 _toPy
= {'space-tag': 'space_tag', 'public': 'public', 'provider-id': 'provider_id', 'subnet-tags': 'subnet_tags'}
2710 def __init__(self
, provider_id
=None, public
=None, space_tag
=None, subnet_tags
=None):
2715 subnet_tags : typing.Sequence<+T_co>[str]
2717 self
.provider_id
= provider_id
2718 self
.public
= public
2719 self
.space_tag
= space_tag
2720 self
.subnet_tags
= subnet_tags
2723 class CreateSpacesParams(Type
):
2724 _toSchema
= {'spaces': 'spaces'}
2725 _toPy
= {'spaces': 'spaces'}
2726 def __init__(self
, spaces
=None):
2728 spaces : typing.Sequence<+T_co>[~CreateSpaceParams]<~CreateSpaceParams>
2730 self
.spaces
= [CreateSpaceParams
.from_json(o
) for o
in spaces
or []]
2733 class DiscoverSpacesResults(Type
):
2734 _toSchema
= {'results': 'results'}
2735 _toPy
= {'results': 'results'}
2736 def __init__(self
, results
=None):
2738 results : typing.Sequence<+T_co>[~ProviderSpace]<~ProviderSpace>
2740 self
.results
= [ProviderSpace
.from_json(o
) for o
in results
or []]
2743 class ListSubnetsResults(Type
):
2744 _toSchema
= {'results': 'results'}
2745 _toPy
= {'results': 'results'}
2746 def __init__(self
, results
=None):
2748 results : typing.Sequence<+T_co>[~Subnet]<~Subnet>
2750 self
.results
= [Subnet
.from_json(o
) for o
in results
or []]
2753 class ProviderSpace(Type
):
2754 _toSchema
= {'subnets': 'subnets', 'provider_id': 'provider-id', 'error': 'error', 'name': 'name'}
2755 _toPy
= {'subnets': 'subnets', 'provider-id': 'provider_id', 'error': 'error', 'name': 'name'}
2756 def __init__(self
, error
=None, name
=None, provider_id
=None, subnets
=None):
2761 subnets : typing.Sequence<+T_co>[~Subnet]<~Subnet>
2763 self
.error
= Error
.from_json(error
) if error
else None
2765 self
.provider_id
= provider_id
2766 self
.subnets
= [Subnet
.from_json(o
) for o
in subnets
or []]
2770 _toSchema
= {'vlan_tag': 'vlan-tag', 'zones': 'zones', 'cidr': 'cidr', 'life': 'life', 'status': 'status', 'space_tag': 'space-tag', 'provider_id': 'provider-id'}
2771 _toPy
= {'zones': 'zones', 'cidr': 'cidr', 'provider-id': 'provider_id', 'status': 'status', 'space-tag': 'space_tag', 'vlan-tag': 'vlan_tag', 'life': 'life'}
2772 def __init__(self
, cidr
=None, life
=None, provider_id
=None, space_tag
=None, status
=None, vlan_tag
=None, zones
=None):
2780 zones : typing.Sequence<+T_co>[str]
2784 self
.provider_id
= provider_id
2785 self
.space_tag
= space_tag
2786 self
.status
= status
2787 self
.vlan_tag
= vlan_tag
2791 class SubnetsFilters(Type
):
2792 _toSchema
= {'zone': 'zone', 'space_tag': 'space-tag'}
2793 _toPy
= {'space-tag': 'space_tag', 'zone': 'zone'}
2794 def __init__(self
, space_tag
=None, zone
=None):
2799 self
.space_tag
= space_tag
2803 class BlockDevice(Type
):
2804 _toSchema
= {'devicename': 'DeviceName', 'hardwareid': 'HardwareId', 'busaddress': 'BusAddress', 'devicelinks': 'DeviceLinks', 'inuse': 'InUse', 'size': 'Size', 'mountpoint': 'MountPoint', 'label': 'Label', 'uuid': 'UUID', 'filesystemtype': 'FilesystemType'}
2805 _toPy
= {'HardwareId': 'hardwareid', 'UUID': 'uuid', 'Size': 'size', 'BusAddress': 'busaddress', 'MountPoint': 'mountpoint', 'DeviceLinks': 'devicelinks', 'DeviceName': 'devicename', 'InUse': 'inuse', 'FilesystemType': 'filesystemtype', 'Label': 'label'}
2806 def __init__(self
, busaddress
=None, devicelinks
=None, devicename
=None, filesystemtype
=None, hardwareid
=None, inuse
=None, label
=None, mountpoint
=None, size
=None, uuid
=None):
2809 devicelinks : typing.Sequence<+T_co>[str]
2811 filesystemtype : str
2819 self
.busaddress
= busaddress
2820 self
.devicelinks
= devicelinks
2821 self
.devicename
= devicename
2822 self
.filesystemtype
= filesystemtype
2823 self
.hardwareid
= hardwareid
2826 self
.mountpoint
= mountpoint
2831 class MachineBlockDevices(Type
):
2832 _toSchema
= {'machine': 'machine', 'block_devices': 'block-devices'}
2833 _toPy
= {'machine': 'machine', 'block-devices': 'block_devices'}
2834 def __init__(self
, block_devices
=None, machine
=None):
2836 block_devices : typing.Sequence<+T_co>[~BlockDevice]<~BlockDevice>
2839 self
.block_devices
= [BlockDevice
.from_json(o
) for o
in block_devices
or []]
2840 self
.machine
= machine
2843 class SetMachineBlockDevices(Type
):
2844 _toSchema
= {'machine_block_devices': 'machine-block-devices'}
2845 _toPy
= {'machine-block-devices': 'machine_block_devices'}
2846 def __init__(self
, machine_block_devices
=None):
2848 machine_block_devices : typing.Sequence<+T_co>[~MachineBlockDevices]<~MachineBlockDevices>
2850 self
.machine_block_devices
= [MachineBlockDevices
.from_json(o
) for o
in machine_block_devices
or []]
2853 class EntitiesWatchResult(Type
):
2854 _toSchema
= {'changes': 'changes', 'watcher_id': 'watcher-id', 'error': 'error'}
2855 _toPy
= {'changes': 'changes', 'error': 'error', 'watcher-id': 'watcher_id'}
2856 def __init__(self
, changes
=None, error
=None, watcher_id
=None):
2858 changes : typing.Sequence<+T_co>[str]
2862 self
.changes
= changes
2863 self
.error
= Error
.from_json(error
) if error
else None
2864 self
.watcher_id
= watcher_id
2867 class MachineStorageId(Type
):
2868 _toSchema
= {'machine_tag': 'machine-tag', 'attachment_tag': 'attachment-tag'}
2869 _toPy
= {'attachment-tag': 'attachment_tag', 'machine-tag': 'machine_tag'}
2870 def __init__(self
, attachment_tag
=None, machine_tag
=None):
2872 attachment_tag : str
2875 self
.attachment_tag
= attachment_tag
2876 self
.machine_tag
= machine_tag
2879 class MachineStorageIdsWatchResult(Type
):
2880 _toSchema
= {'changes': 'changes', 'watcher_id': 'watcher-id', 'error': 'error'}
2881 _toPy
= {'changes': 'changes', 'error': 'error', 'watcher-id': 'watcher_id'}
2882 def __init__(self
, changes
=None, error
=None, watcher_id
=None):
2884 changes : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
2888 self
.changes
= [MachineStorageId
.from_json(o
) for o
in changes
or []]
2889 self
.error
= Error
.from_json(error
) if error
else None
2890 self
.watcher_id
= watcher_id
2893 class BoolResult(Type
):
2894 _toSchema
= {'result': 'result', 'error': 'error'}
2895 _toPy
= {'result': 'result', 'error': 'error'}
2896 def __init__(self
, error
=None, result
=None):
2901 self
.error
= Error
.from_json(error
) if error
else None
2902 self
.result
= result
2905 class BoolResults(Type
):
2906 _toSchema
= {'results': 'results'}
2907 _toPy
= {'results': 'results'}
2908 def __init__(self
, results
=None):
2910 results : typing.Sequence<+T_co>[~BoolResult]<~BoolResult>
2912 self
.results
= [BoolResult
.from_json(o
) for o
in results
or []]
2915 class MachinePortRange(Type
):
2916 _toSchema
= {'port_range': 'port-range', 'unit_tag': 'unit-tag', 'relation_tag': 'relation-tag'}
2917 _toPy
= {'relation-tag': 'relation_tag', 'unit-tag': 'unit_tag', 'port-range': 'port_range'}
2918 def __init__(self
, port_range
=None, relation_tag
=None, unit_tag
=None):
2920 port_range : PortRange
2924 self
.port_range
= PortRange
.from_json(port_range
) if port_range
else None
2925 self
.relation_tag
= relation_tag
2926 self
.unit_tag
= unit_tag
2929 class MachinePorts(Type
):
2930 _toSchema
= {'machine_tag': 'machine-tag', 'subnet_tag': 'subnet-tag'}
2931 _toPy
= {'machine-tag': 'machine_tag', 'subnet-tag': 'subnet_tag'}
2932 def __init__(self
, machine_tag
=None, subnet_tag
=None):
2937 self
.machine_tag
= machine_tag
2938 self
.subnet_tag
= subnet_tag
2941 class MachinePortsParams(Type
):
2942 _toSchema
= {'params': 'params'}
2943 _toPy
= {'params': 'params'}
2944 def __init__(self
, params
=None):
2946 params : typing.Sequence<+T_co>[~MachinePorts]<~MachinePorts>
2948 self
.params
= [MachinePorts
.from_json(o
) for o
in params
or []]
2951 class MachinePortsResult(Type
):
2952 _toSchema
= {'ports': 'ports', 'error': 'error'}
2953 _toPy
= {'ports': 'ports', 'error': 'error'}
2954 def __init__(self
, error
=None, ports
=None):
2957 ports : typing.Sequence<+T_co>[~MachinePortRange]<~MachinePortRange>
2959 self
.error
= Error
.from_json(error
) if error
else None
2960 self
.ports
= [MachinePortRange
.from_json(o
) for o
in ports
or []]
2963 class MachinePortsResults(Type
):
2964 _toSchema
= {'results': 'results'}
2965 _toPy
= {'results': 'results'}
2966 def __init__(self
, results
=None):
2968 results : typing.Sequence<+T_co>[~MachinePortsResult]<~MachinePortsResult>
2970 self
.results
= [MachinePortsResult
.from_json(o
) for o
in results
or []]
2973 class NotifyWatchResults(Type
):
2974 _toSchema
= {'results': 'results'}
2975 _toPy
= {'results': 'results'}
2976 def __init__(self
, results
=None):
2978 results : typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
2980 self
.results
= [NotifyWatchResult
.from_json(o
) for o
in results
or []]
2983 class PortRange(Type
):
2984 _toSchema
= {'from_port': 'from-port', 'protocol': 'protocol', 'to_port': 'to-port'}
2985 _toPy
= {'from-port': 'from_port', 'protocol': 'protocol', 'to-port': 'to_port'}
2986 def __init__(self
, from_port
=None, protocol
=None, to_port
=None):
2992 self
.from_port
= from_port
2993 self
.protocol
= protocol
2994 self
.to_port
= to_port
2997 class StringResults(Type
):
2998 _toSchema
= {'results': 'results'}
2999 _toPy
= {'results': 'results'}
3000 def __init__(self
, results
=None):
3002 results : typing.Sequence<+T_co>[~StringResult]<~StringResult>
3004 self
.results
= [StringResult
.from_json(o
) for o
in results
or []]
3007 class ControllersChangeResult(Type
):
3008 _toSchema
= {'result': 'result', 'error': 'error'}
3009 _toPy
= {'result': 'result', 'error': 'error'}
3010 def __init__(self
, error
=None, result
=None):
3013 result : ControllersChanges
3015 self
.error
= Error
.from_json(error
) if error
else None
3016 self
.result
= ControllersChanges
.from_json(result
) if result
else None
3019 class ControllersChangeResults(Type
):
3020 _toSchema
= {'results': 'results'}
3021 _toPy
= {'results': 'results'}
3022 def __init__(self
, results
=None):
3024 results : typing.Sequence<+T_co>[~ControllersChangeResult]<~ControllersChangeResult>
3026 self
.results
= [ControllersChangeResult
.from_json(o
) for o
in results
or []]
3029 class ControllersChanges(Type
):
3030 _toSchema
= {'removed': 'removed', 'added': 'added', 'converted': 'converted', 'demoted': 'demoted', 'maintained': 'maintained', 'promoted': 'promoted'}
3031 _toPy
= {'removed': 'removed', 'added': 'added', 'converted': 'converted', 'demoted': 'demoted', 'maintained': 'maintained', 'promoted': 'promoted'}
3032 def __init__(self
, added
=None, converted
=None, demoted
=None, maintained
=None, promoted
=None, removed
=None):
3034 added : typing.Sequence<+T_co>[str]
3035 converted : typing.Sequence<+T_co>[str]
3036 demoted : typing.Sequence<+T_co>[str]
3037 maintained : typing.Sequence<+T_co>[str]
3038 promoted : typing.Sequence<+T_co>[str]
3039 removed : typing.Sequence<+T_co>[str]
3042 self
.converted
= converted
3043 self
.demoted
= demoted
3044 self
.maintained
= maintained
3045 self
.promoted
= promoted
3046 self
.removed
= removed
3049 class ControllersSpec(Type
):
3050 _toSchema
= {'series': 'series', 'placement': 'placement', 'num_controllers': 'num-controllers', 'model_tag': 'model-tag', 'constraints': 'constraints'}
3051 _toPy
= {'num-controllers': 'num_controllers', 'placement': 'placement', 'model-tag': 'model_tag', 'series': 'series', 'constraints': 'constraints'}
3052 def __init__(self
, constraints
=None, model_tag
=None, num_controllers
=None, placement
=None, series
=None):
3056 num_controllers : int
3057 placement : typing.Sequence<+T_co>[str]
3060 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
3061 self
.model_tag
= model_tag
3062 self
.num_controllers
= num_controllers
3063 self
.placement
= placement
3064 self
.series
= series
3067 class ControllersSpecs(Type
):
3068 _toSchema
= {'specs': 'specs'}
3069 _toPy
= {'specs': 'specs'}
3070 def __init__(self
, specs
=None):
3072 specs : typing.Sequence<+T_co>[~ControllersSpec]<~ControllersSpec>
3074 self
.specs
= [ControllersSpec
.from_json(o
) for o
in specs
or []]
3077 class HAMember(Type
):
3078 _toSchema
= {'series': 'series', 'tag': 'tag', 'public_address': 'public-address'}
3079 _toPy
= {'public-address': 'public_address', 'tag': 'tag', 'series': 'series'}
3080 def __init__(self
, public_address
=None, series
=None, tag
=None):
3082 public_address : Address
3086 self
.public_address
= Address
.from_json(public_address
) if public_address
else None
3087 self
.series
= series
3092 _toSchema
= {'address': 'Address', 'tags': 'Tags', 'votes': 'Votes', 'buildindexes': 'BuildIndexes', 'arbiter': 'Arbiter', 'hidden': 'Hidden', 'slavedelay': 'SlaveDelay', 'id_': 'Id', 'priority': 'Priority'}
3093 _toPy
= {'Id': 'id_', 'Votes': 'votes', 'Hidden': 'hidden', 'Priority': 'priority', 'Arbiter': 'arbiter', 'Tags': 'tags', 'Address': 'address', 'BuildIndexes': 'buildindexes', 'SlaveDelay': 'slavedelay'}
3094 def __init__(self
, address
=None, arbiter
=None, buildindexes
=None, hidden
=None, id_
=None, priority
=None, slavedelay
=None, tags
=None, votes
=None):
3103 tags : typing.Mapping<~KT, +VT_co>[str, str]
3106 self
.address
= address
3107 self
.arbiter
= arbiter
3108 self
.buildindexes
= buildindexes
3109 self
.hidden
= hidden
3111 self
.priority
= priority
3112 self
.slavedelay
= slavedelay
3117 class MongoUpgradeResults(Type
):
3118 _toSchema
= {'ha_members': 'ha-members', 'master': 'master', 'rs_members': 'rs-members'}
3119 _toPy
= {'ha-members': 'ha_members', 'master': 'master', 'rs-members': 'rs_members'}
3120 def __init__(self
, ha_members
=None, master
=None, rs_members
=None):
3122 ha_members : typing.Sequence<+T_co>[~HAMember]<~HAMember>
3124 rs_members : typing.Sequence<+T_co>[~Member]<~Member>
3126 self
.ha_members
= [HAMember
.from_json(o
) for o
in ha_members
or []]
3127 self
.master
= HAMember
.from_json(master
) if master
else None
3128 self
.rs_members
= [Member
.from_json(o
) for o
in rs_members
or []]
3131 class MongoVersion(Type
):
3132 _toSchema
= {'patch': 'patch', 'minor': 'minor', 'engine': 'engine', 'major': 'major'}
3133 _toPy
= {'patch': 'patch', 'minor': 'minor', 'engine': 'engine', 'major': 'major'}
3134 def __init__(self
, engine
=None, major
=None, minor
=None, patch
=None):
3141 self
.engine
= engine
3147 class ResumeReplicationParams(Type
):
3148 _toSchema
= {'members': 'members'}
3149 _toPy
= {'members': 'members'}
3150 def __init__(self
, members
=None):
3152 members : typing.Sequence<+T_co>[~Member]<~Member>
3154 self
.members
= [Member
.from_json(o
) for o
in members
or []]
3157 class UpgradeMongoParams(Type
):
3158 _toSchema
= {'target': 'target'}
3159 _toPy
= {'target': 'target'}
3160 def __init__(self
, target
=None):
3162 target : MongoVersion
3164 self
.target
= MongoVersion
.from_json(target
) if target
else None
3167 class SSHHostKeySet(Type
):
3168 _toSchema
= {'entity_keys': 'entity-keys'}
3169 _toPy
= {'entity-keys': 'entity_keys'}
3170 def __init__(self
, entity_keys
=None):
3172 entity_keys : typing.Sequence<+T_co>[~SSHHostKeys]<~SSHHostKeys>
3174 self
.entity_keys
= [SSHHostKeys
.from_json(o
) for o
in entity_keys
or []]
3177 class SSHHostKeys(Type
):
3178 _toSchema
= {'tag': 'tag', 'public_keys': 'public-keys'}
3179 _toPy
= {'public-keys': 'public_keys', 'tag': 'tag'}
3180 def __init__(self
, public_keys
=None, tag
=None):
3182 public_keys : typing.Sequence<+T_co>[str]
3185 self
.public_keys
= public_keys
3189 class ImageFilterParams(Type
):
3190 _toSchema
= {'images': 'images'}
3191 _toPy
= {'images': 'images'}
3192 def __init__(self
, images
=None):
3194 images : typing.Sequence<+T_co>[~ImageSpec]<~ImageSpec>
3196 self
.images
= [ImageSpec
.from_json(o
) for o
in images
or []]
3199 class ImageMetadata(Type
):
3200 _toSchema
= {'series': 'series', 'created': 'created', 'arch': 'arch', 'kind': 'kind', 'url': 'url'}
3201 _toPy
= {'series': 'series', 'created': 'created', 'arch': 'arch', 'kind': 'kind', 'url': 'url'}
3202 def __init__(self
, arch
=None, created
=None, kind
=None, series
=None, url
=None):
3211 self
.created
= created
3213 self
.series
= series
3217 class ImageSpec(Type
):
3218 _toSchema
= {'series': 'series', 'kind': 'kind', 'arch': 'arch'}
3219 _toPy
= {'series': 'series', 'kind': 'kind', 'arch': 'arch'}
3220 def __init__(self
, arch
=None, kind
=None, series
=None):
3228 self
.series
= series
3231 class ListImageResult(Type
):
3232 _toSchema
= {'result': 'result'}
3233 _toPy
= {'result': 'result'}
3234 def __init__(self
, result
=None):
3236 result : typing.Sequence<+T_co>[~ImageMetadata]<~ImageMetadata>
3238 self
.result
= [ImageMetadata
.from_json(o
) for o
in result
or []]
3241 class CloudImageMetadata(Type
):
3242 _toSchema
= {'root_storage_size': 'root-storage-size', 'region': 'region', 'virt_type': 'virt-type', 'version': 'version', 'root_storage_type': 'root-storage-type', 'series': 'series', 'stream': 'stream', 'source': 'source', 'arch': 'arch', 'image_id': 'image-id', 'priority': 'priority'}
3243 _toPy
= {'region': 'region', 'image-id': 'image_id', 'version': 'version', 'root-storage-size': 'root_storage_size', 'series': 'series', 'virt-type': 'virt_type', 'stream': 'stream', 'source': 'source', 'arch': 'arch', 'root-storage-type': 'root_storage_type', 'priority': 'priority'}
3244 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):
3250 root_storage_size : int
3251 root_storage_type : str
3259 self
.image_id
= image_id
3260 self
.priority
= priority
3261 self
.region
= region
3262 self
.root_storage_size
= root_storage_size
3263 self
.root_storage_type
= root_storage_type
3264 self
.series
= series
3265 self
.source
= source
3266 self
.stream
= stream
3267 self
.version
= version
3268 self
.virt_type
= virt_type
3271 class CloudImageMetadataList(Type
):
3272 _toSchema
= {'metadata': 'metadata'}
3273 _toPy
= {'metadata': 'metadata'}
3274 def __init__(self
, metadata
=None):
3276 metadata : typing.Sequence<+T_co>[~CloudImageMetadata]<~CloudImageMetadata>
3278 self
.metadata
= [CloudImageMetadata
.from_json(o
) for o
in metadata
or []]
3281 class ImageMetadataFilter(Type
):
3282 _toSchema
= {'region': 'region', 'arches': 'arches', 'root_storage_type': 'root-storage-type', 'series': 'series', 'stream': 'stream', 'virt_type': 'virt-type'}
3283 _toPy
= {'region': 'region', 'root-storage-type': 'root_storage_type', 'arches': 'arches', 'series': 'series', 'virt-type': 'virt_type', 'stream': 'stream'}
3284 def __init__(self
, arches
=None, region
=None, root_storage_type
=None, series
=None, stream
=None, virt_type
=None):
3286 arches : typing.Sequence<+T_co>[str]
3288 root_storage_type : str
3289 series : typing.Sequence<+T_co>[str]
3293 self
.arches
= arches
3294 self
.region
= region
3295 self
.root_storage_type
= root_storage_type
3296 self
.series
= series
3297 self
.stream
= stream
3298 self
.virt_type
= virt_type
3301 class ListCloudImageMetadataResult(Type
):
3302 _toSchema
= {'result': 'result'}
3303 _toPy
= {'result': 'result'}
3304 def __init__(self
, result
=None):
3306 result : typing.Sequence<+T_co>[~CloudImageMetadata]<~CloudImageMetadata>
3308 self
.result
= [CloudImageMetadata
.from_json(o
) for o
in result
or []]
3311 class MetadataImageIds(Type
):
3312 _toSchema
= {'image_ids': 'image-ids'}
3313 _toPy
= {'image-ids': 'image_ids'}
3314 def __init__(self
, image_ids
=None):
3316 image_ids : typing.Sequence<+T_co>[str]
3318 self
.image_ids
= image_ids
3321 class MetadataSaveParams(Type
):
3322 _toSchema
= {'metadata': 'metadata'}
3323 _toPy
= {'metadata': 'metadata'}
3324 def __init__(self
, metadata
=None):
3326 metadata : typing.Sequence<+T_co>[~CloudImageMetadataList]<~CloudImageMetadataList>
3328 self
.metadata
= [CloudImageMetadataList
.from_json(o
) for o
in metadata
or []]
3331 class EntityStatusArgs(Type
):
3332 _toSchema
= {'tag': 'tag', 'info': 'info', 'data': 'data', 'status': 'status'}
3333 _toPy
= {'tag': 'tag', 'info': 'info', 'data': 'data', 'status': 'status'}
3334 def __init__(self
, data
=None, info
=None, status
=None, tag
=None):
3336 data : typing.Mapping<~KT, +VT_co>[str, typing.Any]
3343 self
.status
= status
3347 class MachineAddresses(Type
):
3348 _toSchema
= {'tag': 'tag', 'addresses': 'addresses'}
3349 _toPy
= {'tag': 'tag', 'addresses': 'addresses'}
3350 def __init__(self
, addresses
=None, tag
=None):
3352 addresses : typing.Sequence<+T_co>[~Address]<~Address>
3355 self
.addresses
= [Address
.from_json(o
) for o
in addresses
or []]
3359 class MachineAddressesResult(Type
):
3360 _toSchema
= {'error': 'error', 'addresses': 'addresses'}
3361 _toPy
= {'error': 'error', 'addresses': 'addresses'}
3362 def __init__(self
, addresses
=None, error
=None):
3364 addresses : typing.Sequence<+T_co>[~Address]<~Address>
3367 self
.addresses
= [Address
.from_json(o
) for o
in addresses
or []]
3368 self
.error
= Error
.from_json(error
) if error
else None
3371 class MachineAddressesResults(Type
):
3372 _toSchema
= {'results': 'results'}
3373 _toPy
= {'results': 'results'}
3374 def __init__(self
, results
=None):
3376 results : typing.Sequence<+T_co>[~MachineAddressesResult]<~MachineAddressesResult>
3378 self
.results
= [MachineAddressesResult
.from_json(o
) for o
in results
or []]
3381 class SetMachinesAddresses(Type
):
3382 _toSchema
= {'machine_addresses': 'machine-addresses'}
3383 _toPy
= {'machine-addresses': 'machine_addresses'}
3384 def __init__(self
, machine_addresses
=None):
3386 machine_addresses : typing.Sequence<+T_co>[~MachineAddresses]<~MachineAddresses>
3388 self
.machine_addresses
= [MachineAddresses
.from_json(o
) for o
in machine_addresses
or []]
3391 class SetStatus(Type
):
3392 _toSchema
= {'entities': 'entities'}
3393 _toPy
= {'entities': 'entities'}
3394 def __init__(self
, entities
=None):
3396 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
3398 self
.entities
= [EntityStatusArgs
.from_json(o
) for o
in entities
or []]
3401 class StatusResult(Type
):
3402 _toSchema
= {'info': 'info', 'status': 'status', 'data': 'data', 'since': 'since', 'error': 'error', 'id_': 'id', 'life': 'life'}
3403 _toPy
= {'since': 'since', 'status': 'status', 'data': 'data', 'id': 'id_', 'error': 'error', 'info': 'info', 'life': 'life'}
3404 def __init__(self
, data
=None, error
=None, id_
=None, info
=None, life
=None, since
=None, status
=None):
3406 data : typing.Mapping<~KT, +VT_co>[str, typing.Any]
3415 self
.error
= Error
.from_json(error
) if error
else None
3420 self
.status
= status
3423 class StatusResults(Type
):
3424 _toSchema
= {'results': 'results'}
3425 _toPy
= {'results': 'results'}
3426 def __init__(self
, results
=None):
3428 results : typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
3430 self
.results
= [StatusResult
.from_json(o
) for o
in results
or []]
3433 class ListSSHKeys(Type
):
3434 _toSchema
= {'mode': 'mode', 'entities': 'entities'}
3435 _toPy
= {'mode': 'mode', 'entities': 'entities'}
3436 def __init__(self
, entities
=None, mode
=None):
3441 self
.entities
= Entities
.from_json(entities
) if entities
else None
3445 class ModifyUserSSHKeys(Type
):
3446 _toSchema
= {'ssh_keys': 'ssh-keys', 'user': 'user'}
3447 _toPy
= {'ssh-keys': 'ssh_keys', 'user': 'user'}
3448 def __init__(self
, ssh_keys
=None, user
=None):
3450 ssh_keys : typing.Sequence<+T_co>[str]
3453 self
.ssh_keys
= ssh_keys
3457 class ApplicationTag(Type
):
3458 _toSchema
= {'name': 'Name'}
3459 _toPy
= {'Name': 'name'}
3460 def __init__(self
, name
=None):
3467 class ClaimLeadershipBulkParams(Type
):
3468 _toSchema
= {'params': 'params'}
3469 _toPy
= {'params': 'params'}
3470 def __init__(self
, params
=None):
3472 params : typing.Sequence<+T_co>[~ClaimLeadershipParams]<~ClaimLeadershipParams>
3474 self
.params
= [ClaimLeadershipParams
.from_json(o
) for o
in params
or []]
3477 class ClaimLeadershipBulkResults(Type
):
3478 _toSchema
= {'results': 'results'}
3479 _toPy
= {'results': 'results'}
3480 def __init__(self
, results
=None):
3482 results : typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
3484 self
.results
= [ErrorResult
.from_json(o
) for o
in results
or []]
3487 class ClaimLeadershipParams(Type
):
3488 _toSchema
= {'duration': 'duration', 'application_tag': 'application-tag', 'unit_tag': 'unit-tag'}
3489 _toPy
= {'duration': 'duration', 'unit-tag': 'unit_tag', 'application-tag': 'application_tag'}
3490 def __init__(self
, application_tag
=None, duration
=None, unit_tag
=None):
3492 application_tag : str
3496 self
.application_tag
= application_tag
3497 self
.duration
= duration
3498 self
.unit_tag
= unit_tag
3501 class LogForwardingGetLastSentParams(Type
):
3502 _toSchema
= {'ids': 'ids'}
3503 _toPy
= {'ids': 'ids'}
3504 def __init__(self
, ids
=None):
3506 ids : typing.Sequence<+T_co>[~LogForwardingID]<~LogForwardingID>
3508 self
.ids
= [LogForwardingID
.from_json(o
) for o
in ids
or []]
3511 class LogForwardingGetLastSentResult(Type
):
3512 _toSchema
= {'record_id': 'record-id', 'record_timestamp': 'record-timestamp', 'err': 'err'}
3513 _toPy
= {'record-timestamp': 'record_timestamp', 'record-id': 'record_id', 'err': 'err'}
3514 def __init__(self
, err
=None, record_id
=None, record_timestamp
=None):
3518 record_timestamp : int
3520 self
.err
= Error
.from_json(err
) if err
else None
3521 self
.record_id
= record_id
3522 self
.record_timestamp
= record_timestamp
3525 class LogForwardingGetLastSentResults(Type
):
3526 _toSchema
= {'results': 'results'}
3527 _toPy
= {'results': 'results'}
3528 def __init__(self
, results
=None):
3530 results : typing.Sequence<+T_co>[~LogForwardingGetLastSentResult]<~LogForwardingGetLastSentResult>
3532 self
.results
= [LogForwardingGetLastSentResult
.from_json(o
) for o
in results
or []]
3535 class LogForwardingID(Type
):
3536 _toSchema
= {'model': 'model', 'sink': 'sink'}
3537 _toPy
= {'model': 'model', 'sink': 'sink'}
3538 def __init__(self
, model
=None, sink
=None):
3547 class LogForwardingSetLastSentParam(Type
):
3548 _toSchema
= {'logforwardingid': 'LogForwardingID', 'record_id': 'record-id', 'record_timestamp': 'record-timestamp'}
3549 _toPy
= {'record-timestamp': 'record_timestamp', 'record-id': 'record_id', 'LogForwardingID': 'logforwardingid'}
3550 def __init__(self
, logforwardingid
=None, record_id
=None, record_timestamp
=None):
3552 logforwardingid : LogForwardingID
3554 record_timestamp : int
3556 self
.logforwardingid
= LogForwardingID
.from_json(logforwardingid
) if logforwardingid
else None
3557 self
.record_id
= record_id
3558 self
.record_timestamp
= record_timestamp
3561 class LogForwardingSetLastSentParams(Type
):
3562 _toSchema
= {'params': 'params'}
3563 _toPy
= {'params': 'params'}
3564 def __init__(self
, params
=None):
3566 params : typing.Sequence<+T_co>[~LogForwardingSetLastSentParam]<~LogForwardingSetLastSentParam>
3568 self
.params
= [LogForwardingSetLastSentParam
.from_json(o
) for o
in params
or []]
3571 class ActionExecutionResult(Type
):
3572 _toSchema
= {'results': 'results', 'action_tag': 'action-tag', 'status': 'status', 'message': 'message'}
3573 _toPy
= {'action-tag': 'action_tag', 'status': 'status', 'results': 'results', 'message': 'message'}
3574 def __init__(self
, action_tag
=None, message
=None, results
=None, status
=None):
3578 results : typing.Mapping<~KT, +VT_co>[str, typing.Any]
3581 self
.action_tag
= action_tag
3582 self
.message
= message
3583 self
.results
= results
3584 self
.status
= status
3587 class ActionExecutionResults(Type
):
3588 _toSchema
= {'results': 'results'}
3589 _toPy
= {'results': 'results'}
3590 def __init__(self
, results
=None):
3592 results : typing.Sequence<+T_co>[~ActionExecutionResult]<~ActionExecutionResult>
3594 self
.results
= [ActionExecutionResult
.from_json(o
) for o
in results
or []]
3597 class EntitiesResult(Type
):
3598 _toSchema
= {'error': 'error', 'entities': 'entities'}
3599 _toPy
= {'error': 'error', 'entities': 'entities'}
3600 def __init__(self
, entities
=None, error
=None):
3602 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
3605 self
.entities
= [Entity
.from_json(o
) for o
in entities
or []]
3606 self
.error
= Error
.from_json(error
) if error
else None
3609 class EntitiesResults(Type
):
3610 _toSchema
= {'results': 'results'}
3611 _toPy
= {'results': 'results'}
3612 def __init__(self
, results
=None):
3614 results : typing.Sequence<+T_co>[~EntitiesResult]<~EntitiesResult>
3616 self
.results
= [EntitiesResult
.from_json(o
) for o
in results
or []]
3619 class ProviderInterfaceInfo(Type
):
3620 _toSchema
= {'interface_name': 'interface-name', 'provider_id': 'provider-id', 'mac_address': 'mac-address'}
3621 _toPy
= {'mac-address': 'mac_address', 'provider-id': 'provider_id', 'interface-name': 'interface_name'}
3622 def __init__(self
, interface_name
=None, mac_address
=None, provider_id
=None):
3624 interface_name : str
3628 self
.interface_name
= interface_name
3629 self
.mac_address
= mac_address
3630 self
.provider_id
= provider_id
3633 class ProviderInterfaceInfoResult(Type
):
3634 _toSchema
= {'interfaces': 'interfaces', 'machine_tag': 'machine-tag', 'error': 'error'}
3635 _toPy
= {'interfaces': 'interfaces', 'machine-tag': 'machine_tag', 'error': 'error'}
3636 def __init__(self
, error
=None, interfaces
=None, machine_tag
=None):
3639 interfaces : typing.Sequence<+T_co>[~ProviderInterfaceInfo]<~ProviderInterfaceInfo>
3642 self
.error
= Error
.from_json(error
) if error
else None
3643 self
.interfaces
= [ProviderInterfaceInfo
.from_json(o
) for o
in interfaces
or []]
3644 self
.machine_tag
= machine_tag
3647 class ProviderInterfaceInfoResults(Type
):
3648 _toSchema
= {'results': 'results'}
3649 _toPy
= {'results': 'results'}
3650 def __init__(self
, results
=None):
3652 results : typing.Sequence<+T_co>[~ProviderInterfaceInfoResult]<~ProviderInterfaceInfoResult>
3654 self
.results
= [ProviderInterfaceInfoResult
.from_json(o
) for o
in results
or []]
3657 class JobsResult(Type
):
3658 _toSchema
= {'jobs': 'jobs', 'error': 'error'}
3659 _toPy
= {'jobs': 'jobs', 'error': 'error'}
3660 def __init__(self
, error
=None, jobs
=None):
3663 jobs : typing.Sequence<+T_co>[str]
3665 self
.error
= Error
.from_json(error
) if error
else None
3669 class JobsResults(Type
):
3670 _toSchema
= {'results': 'results'}
3671 _toPy
= {'results': 'results'}
3672 def __init__(self
, results
=None):
3674 results : typing.Sequence<+T_co>[~JobsResult]<~JobsResult>
3676 self
.results
= [JobsResult
.from_json(o
) for o
in results
or []]
3679 class NetworkConfig(Type
):
3680 _toSchema
= {'interface_name': 'interface-name', 'cidr': 'cidr', 'mac_address': 'mac-address', 'dns_servers': 'dns-servers', 'provider_vlan_id': 'provider-vlan-id', 'provider_address_id': 'provider-address-id', 'no_auto_start': 'no-auto-start', 'interface_type': 'interface-type', 'provider_space_id': 'provider-space-id', 'address': 'address', 'dns_search_domains': 'dns-search-domains', 'mtu': 'mtu', 'disabled': 'disabled', 'provider_subnet_id': 'provider-subnet-id', 'config_type': 'config-type', 'parent_interface_name': 'parent-interface-name', 'gateway_address': 'gateway-address', 'vlan_tag': 'vlan-tag', 'device_index': 'device-index', 'provider_id': 'provider-id'}
3681 _toPy
= {'provider-address-id': 'provider_address_id', 'mac-address': 'mac_address', 'cidr': 'cidr', 'device-index': 'device_index', 'dns-search-domains': 'dns_search_domains', 'provider-space-id': 'provider_space_id', 'parent-interface-name': 'parent_interface_name', 'vlan-tag': 'vlan_tag', 'address': 'address', 'provider-vlan-id': 'provider_vlan_id', 'mtu': 'mtu', 'dns-servers': 'dns_servers', 'disabled': 'disabled', 'interface-name': 'interface_name', 'provider-subnet-id': 'provider_subnet_id', 'no-auto-start': 'no_auto_start', 'provider-id': 'provider_id', 'config-type': 'config_type', 'interface-type': 'interface_type', 'gateway-address': 'gateway_address'}
3682 def __init__(self
, address
=None, cidr
=None, config_type
=None, device_index
=None, disabled
=None, dns_search_domains
=None, dns_servers
=None, gateway_address
=None, interface_name
=None, interface_type
=None, mac_address
=None, mtu
=None, no_auto_start
=None, parent_interface_name
=None, provider_address_id
=None, provider_id
=None, provider_space_id
=None, provider_subnet_id
=None, provider_vlan_id
=None, vlan_tag
=None):
3689 dns_search_domains : typing.Sequence<+T_co>[str]
3690 dns_servers : typing.Sequence<+T_co>[str]
3691 gateway_address : str
3692 interface_name : str
3693 interface_type : str
3696 no_auto_start : bool
3697 parent_interface_name : str
3698 provider_address_id : str
3700 provider_space_id : str
3701 provider_subnet_id : str
3702 provider_vlan_id : str
3705 self
.address
= address
3707 self
.config_type
= config_type
3708 self
.device_index
= device_index
3709 self
.disabled
= disabled
3710 self
.dns_search_domains
= dns_search_domains
3711 self
.dns_servers
= dns_servers
3712 self
.gateway_address
= gateway_address
3713 self
.interface_name
= interface_name
3714 self
.interface_type
= interface_type
3715 self
.mac_address
= mac_address
3717 self
.no_auto_start
= no_auto_start
3718 self
.parent_interface_name
= parent_interface_name
3719 self
.provider_address_id
= provider_address_id
3720 self
.provider_id
= provider_id
3721 self
.provider_space_id
= provider_space_id
3722 self
.provider_subnet_id
= provider_subnet_id
3723 self
.provider_vlan_id
= provider_vlan_id
3724 self
.vlan_tag
= vlan_tag
3727 class SetMachineNetworkConfig(Type
):
3728 _toSchema
= {'tag': 'tag', 'config': 'config'}
3729 _toPy
= {'tag': 'tag', 'config': 'config'}
3730 def __init__(self
, config
=None, tag
=None):
3732 config : typing.Sequence<+T_co>[~NetworkConfig]<~NetworkConfig>
3735 self
.config
= [NetworkConfig
.from_json(o
) for o
in config
or []]
3739 class MeterStatusResult(Type
):
3740 _toSchema
= {'code': 'code', 'error': 'error', 'info': 'info'}
3741 _toPy
= {'code': 'code', 'error': 'error', 'info': 'info'}
3742 def __init__(self
, code
=None, error
=None, info
=None):
3749 self
.error
= Error
.from_json(error
) if error
else None
3753 class MeterStatusResults(Type
):
3754 _toSchema
= {'results': 'results'}
3755 _toPy
= {'results': 'results'}
3756 def __init__(self
, results
=None):
3758 results : typing.Sequence<+T_co>[~MeterStatusResult]<~MeterStatusResult>
3760 self
.results
= [MeterStatusResult
.from_json(o
) for o
in results
or []]
3764 _toSchema
= {'key': 'key', 'value': 'value', 'time': 'time'}
3765 _toPy
= {'key': 'key', 'value': 'value', 'time': 'time'}
3766 def __init__(self
, key
=None, time
=None, value
=None):
3777 class MetricBatch(Type
):
3778 _toSchema
= {'charm_url': 'charm-url', 'metrics': 'metrics', 'created': 'created', 'uuid': 'uuid'}
3779 _toPy
= {'charm-url': 'charm_url', 'created': 'created', 'metrics': 'metrics', 'uuid': 'uuid'}
3780 def __init__(self
, charm_url
=None, created
=None, metrics
=None, uuid
=None):
3784 metrics : typing.Sequence<+T_co>[~Metric]<~Metric>
3787 self
.charm_url
= charm_url
3788 self
.created
= created
3789 self
.metrics
= [Metric
.from_json(o
) for o
in metrics
or []]
3793 class MetricBatchParam(Type
):
3794 _toSchema
= {'batch': 'batch', 'tag': 'tag'}
3795 _toPy
= {'batch': 'batch', 'tag': 'tag'}
3796 def __init__(self
, batch
=None, tag
=None):
3801 self
.batch
= MetricBatch
.from_json(batch
) if batch
else None
3805 class MetricBatchParams(Type
):
3806 _toSchema
= {'batches': 'batches'}
3807 _toPy
= {'batches': 'batches'}
3808 def __init__(self
, batches
=None):
3810 batches : typing.Sequence<+T_co>[~MetricBatchParam]<~MetricBatchParam>
3812 self
.batches
= [MetricBatchParam
.from_json(o
) for o
in batches
or []]
3815 class EntityMetrics(Type
):
3816 _toSchema
= {'metrics': 'metrics', 'error': 'error'}
3817 _toPy
= {'metrics': 'metrics', 'error': 'error'}
3818 def __init__(self
, error
=None, metrics
=None):
3821 metrics : typing.Sequence<+T_co>[~MetricResult]<~MetricResult>
3823 self
.error
= Error
.from_json(error
) if error
else None
3824 self
.metrics
= [MetricResult
.from_json(o
) for o
in metrics
or []]
3827 class MeterStatusParam(Type
):
3828 _toSchema
= {'code': 'code', 'tag': 'tag', 'info': 'info'}
3829 _toPy
= {'code': 'code', 'tag': 'tag', 'info': 'info'}
3830 def __init__(self
, code
=None, info
=None, tag
=None):
3841 class MeterStatusParams(Type
):
3842 _toSchema
= {'statues': 'statues'}
3843 _toPy
= {'statues': 'statues'}
3844 def __init__(self
, statues
=None):
3846 statues : typing.Sequence<+T_co>[~MeterStatusParam]<~MeterStatusParam>
3848 self
.statues
= [MeterStatusParam
.from_json(o
) for o
in statues
or []]
3851 class MetricResult(Type
):
3852 _toSchema
= {'key': 'key', 'value': 'value', 'time': 'time', 'unit': 'unit'}
3853 _toPy
= {'key': 'key', 'value': 'value', 'time': 'time', 'unit': 'unit'}
3854 def __init__(self
, key
=None, time
=None, unit
=None, value
=None):
3867 class MetricResults(Type
):
3868 _toSchema
= {'results': 'results'}
3869 _toPy
= {'results': 'results'}
3870 def __init__(self
, results
=None):
3872 results : typing.Sequence<+T_co>[~EntityMetrics]<~EntityMetrics>
3874 self
.results
= [EntityMetrics
.from_json(o
) for o
in results
or []]
3877 class PhaseResult(Type
):
3878 _toSchema
= {'error': 'error', 'phase': 'phase'}
3879 _toPy
= {'error': 'error', 'phase': 'phase'}
3880 def __init__(self
, error
=None, phase
=None):
3885 self
.error
= Error
.from_json(error
) if error
else None
3889 class PhaseResults(Type
):
3890 _toSchema
= {'results': 'results'}
3891 _toPy
= {'results': 'results'}
3892 def __init__(self
, results
=None):
3894 results : typing.Sequence<+T_co>[~PhaseResult]<~PhaseResult>
3896 self
.results
= [PhaseResult
.from_json(o
) for o
in results
or []]
3899 class MasterMigrationStatus(Type
):
3900 _toSchema
= {'spec': 'spec', 'migration_id': 'migration-id', 'phase_changed_time': 'phase-changed-time', 'phase': 'phase'}
3901 _toPy
= {'spec': 'spec', 'phase-changed-time': 'phase_changed_time', 'migration-id': 'migration_id', 'phase': 'phase'}
3902 def __init__(self
, migration_id
=None, phase
=None, phase_changed_time
=None, spec
=None):
3906 phase_changed_time : str
3907 spec : MigrationSpec
3909 self
.migration_id
= migration_id
3911 self
.phase_changed_time
= phase_changed_time
3912 self
.spec
= MigrationSpec
.from_json(spec
) if spec
else None
3915 class MigrationModelInfo(Type
):
3916 _toSchema
= {'owner_tag': 'owner-tag', 'name': 'name', 'uuid': 'uuid', 'agent_version': 'agent-version'}
3917 _toPy
= {'owner-tag': 'owner_tag', 'agent-version': 'agent_version', 'name': 'name', 'uuid': 'uuid'}
3918 def __init__(self
, agent_version
=None, name
=None, owner_tag
=None, uuid
=None):
3920 agent_version : Number
3925 self
.agent_version
= Number
.from_json(agent_version
) if agent_version
else None
3927 self
.owner_tag
= owner_tag
3931 class MinionReports(Type
):
3932 _toSchema
= {'migration_id': 'migration-id', 'unknown_sample': 'unknown-sample', 'failed': 'failed', 'success_count': 'success-count', 'unknown_count': 'unknown-count', 'phase': 'phase'}
3933 _toPy
= {'success-count': 'success_count', 'unknown-sample': 'unknown_sample', 'migration-id': 'migration_id', 'failed': 'failed', 'unknown-count': 'unknown_count', 'phase': 'phase'}
3934 def __init__(self
, failed
=None, migration_id
=None, phase
=None, success_count
=None, unknown_count
=None, unknown_sample
=None):
3936 failed : typing.Sequence<+T_co>[str]
3941 unknown_sample : typing.Sequence<+T_co>[str]
3943 self
.failed
= failed
3944 self
.migration_id
= migration_id
3946 self
.success_count
= success_count
3947 self
.unknown_count
= unknown_count
3948 self
.unknown_sample
= unknown_sample
3951 class SerializedModel(Type
):
3952 _toSchema
= {'charms': 'charms', 'bytes_': 'bytes', 'tools': 'tools'}
3953 _toPy
= {'charms': 'charms', 'bytes': 'bytes_', 'tools': 'tools'}
3954 def __init__(self
, bytes_
=None, charms
=None, tools
=None):
3956 bytes_ : typing.Sequence<+T_co>[int]
3957 charms : typing.Sequence<+T_co>[str]
3958 tools : typing.Sequence<+T_co>[~SerializedModelTools]<~SerializedModelTools>
3960 self
.bytes_
= bytes_
3961 self
.charms
= charms
3962 self
.tools
= [SerializedModelTools
.from_json(o
) for o
in tools
or []]
3965 class SerializedModelTools(Type
):
3966 _toSchema
= {'uri': 'uri', 'version': 'version'}
3967 _toPy
= {'uri': 'uri', 'version': 'version'}
3968 def __init__(self
, uri
=None, version
=None):
3974 self
.version
= version
3977 class SetMigrationPhaseArgs(Type
):
3978 _toSchema
= {'phase': 'phase'}
3979 _toPy
= {'phase': 'phase'}
3980 def __init__(self
, phase
=None):
3987 class SetMigrationStatusMessageArgs(Type
):
3988 _toSchema
= {'message': 'message'}
3989 _toPy
= {'message': 'message'}
3990 def __init__(self
, message
=None):
3994 self
.message
= message
3997 class MinionReport(Type
):
3998 _toSchema
= {'migration_id': 'migration-id', 'success': 'success', 'phase': 'phase'}
3999 _toPy
= {'success': 'success', 'migration-id': 'migration_id', 'phase': 'phase'}
4000 def __init__(self
, migration_id
=None, phase
=None, success
=None):
4006 self
.migration_id
= migration_id
4008 self
.success
= success
4011 class MigrationStatus(Type
):
4012 _toSchema
= {'migration_id': 'migration-id', 'target_ca_cert': 'target-ca-cert', 'source_api_addrs': 'source-api-addrs', 'attempt': 'attempt', 'source_ca_cert': 'source-ca-cert', 'target_api_addrs': 'target-api-addrs', 'phase': 'phase'}
4013 _toPy
= {'source-ca-cert': 'source_ca_cert', 'target-ca-cert': 'target_ca_cert', 'migration-id': 'migration_id', 'attempt': 'attempt', 'target-api-addrs': 'target_api_addrs', 'source-api-addrs': 'source_api_addrs', 'phase': 'phase'}
4014 def __init__(self
, attempt
=None, migration_id
=None, phase
=None, source_api_addrs
=None, source_ca_cert
=None, target_api_addrs
=None, target_ca_cert
=None):
4019 source_api_addrs : typing.Sequence<+T_co>[str]
4020 source_ca_cert : str
4021 target_api_addrs : typing.Sequence<+T_co>[str]
4022 target_ca_cert : str
4024 self
.attempt
= attempt
4025 self
.migration_id
= migration_id
4027 self
.source_api_addrs
= source_api_addrs
4028 self
.source_ca_cert
= source_ca_cert
4029 self
.target_api_addrs
= target_api_addrs
4030 self
.target_ca_cert
= target_ca_cert
4033 class ModelArgs(Type
):
4034 _toSchema
= {'model_tag': 'model-tag'}
4035 _toPy
= {'model-tag': 'model_tag'}
4036 def __init__(self
, model_tag
=None):
4040 self
.model_tag
= model_tag
4043 class MapResult(Type
):
4044 _toSchema
= {'result': 'result', 'error': 'error'}
4045 _toPy
= {'result': 'result', 'error': 'error'}
4046 def __init__(self
, error
=None, result
=None):
4049 result : typing.Mapping<~KT, +VT_co>[str, typing.Any]
4051 self
.error
= Error
.from_json(error
) if error
else None
4052 self
.result
= result
4055 class MapResults(Type
):
4056 _toSchema
= {'results': 'results'}
4057 _toPy
= {'results': 'results'}
4058 def __init__(self
, results
=None):
4060 results : typing.Sequence<+T_co>[~MapResult]<~MapResult>
4062 self
.results
= [MapResult
.from_json(o
) for o
in results
or []]
4065 class ModelCreateArgs(Type
):
4066 _toSchema
= {'cloud_tag': 'cloud-tag', 'owner_tag': 'owner-tag', 'config': 'config', 'region': 'region', 'name': 'name', 'credential': 'credential'}
4067 _toPy
= {'region': 'region', 'cloud-tag': 'cloud_tag', 'config': 'config', 'owner-tag': 'owner_tag', 'name': 'name', 'credential': 'credential'}
4068 def __init__(self
, cloud_tag
=None, config
=None, credential
=None, name
=None, owner_tag
=None, region
=None):
4071 config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
4077 self
.cloud_tag
= cloud_tag
4078 self
.config
= config
4079 self
.credential
= credential
4081 self
.owner_tag
= owner_tag
4082 self
.region
= region
4085 class ModelInfoResult(Type
):
4086 _toSchema
= {'result': 'result', 'error': 'error'}
4087 _toPy
= {'result': 'result', 'error': 'error'}
4088 def __init__(self
, error
=None, result
=None):
4093 self
.error
= Error
.from_json(error
) if error
else None
4094 self
.result
= ModelInfo
.from_json(result
) if result
else None
4097 class ModelInfoResults(Type
):
4098 _toSchema
= {'results': 'results'}
4099 _toPy
= {'results': 'results'}
4100 def __init__(self
, results
=None):
4102 results : typing.Sequence<+T_co>[~ModelInfoResult]<~ModelInfoResult>
4104 self
.results
= [ModelInfoResult
.from_json(o
) for o
in results
or []]
4107 class ModifyModelAccess(Type
):
4108 _toSchema
= {'user_tag': 'user-tag', 'action': 'action', 'access': 'access', 'model_tag': 'model-tag'}
4109 _toPy
= {'user-tag': 'user_tag', 'action': 'action', 'access': 'access', 'model-tag': 'model_tag'}
4110 def __init__(self
, access
=None, action
=None, model_tag
=None, user_tag
=None):
4117 self
.access
= access
4118 self
.action
= action
4119 self
.model_tag
= model_tag
4120 self
.user_tag
= user_tag
4123 class ModifyModelAccessRequest(Type
):
4124 _toSchema
= {'changes': 'changes'}
4125 _toPy
= {'changes': 'changes'}
4126 def __init__(self
, changes
=None):
4128 changes : typing.Sequence<+T_co>[~ModifyModelAccess]<~ModifyModelAccess>
4130 self
.changes
= [ModifyModelAccess
.from_json(o
) for o
in changes
or []]
4133 class ConstraintsResult(Type
):
4134 _toSchema
= {'error': 'error', 'constraints': 'constraints'}
4135 _toPy
= {'error': 'error', 'constraints': 'constraints'}
4136 def __init__(self
, constraints
=None, error
=None):
4141 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
4142 self
.error
= Error
.from_json(error
) if error
else None
4145 class ConstraintsResults(Type
):
4146 _toSchema
= {'results': 'results'}
4147 _toPy
= {'results': 'results'}
4148 def __init__(self
, results
=None):
4150 results : typing.Sequence<+T_co>[~ConstraintsResult]<~ConstraintsResult>
4152 self
.results
= [ConstraintsResult
.from_json(o
) for o
in results
or []]
4155 class ContainerConfig(Type
):
4156 _toSchema
= {'updatebehavior': 'UpdateBehavior', 'authorized_keys': 'authorized-keys', 'apt_mirror': 'apt-mirror', 'provider_type': 'provider-type', 'apt_proxy': 'apt-proxy', 'proxy': 'proxy', 'ssl_hostname_verification': 'ssl-hostname-verification'}
4157 _toPy
= {'ssl-hostname-verification': 'ssl_hostname_verification', 'authorized-keys': 'authorized_keys', 'UpdateBehavior': 'updatebehavior', 'proxy': 'proxy', 'apt-mirror': 'apt_mirror', 'apt-proxy': 'apt_proxy', 'provider-type': 'provider_type'}
4158 def __init__(self
, updatebehavior
=None, apt_mirror
=None, apt_proxy
=None, authorized_keys
=None, provider_type
=None, proxy
=None, ssl_hostname_verification
=None):
4160 updatebehavior : UpdateBehavior
4162 apt_proxy : Settings
4163 authorized_keys : str
4166 ssl_hostname_verification : bool
4168 self
.updatebehavior
= UpdateBehavior
.from_json(updatebehavior
) if updatebehavior
else None
4169 self
.apt_mirror
= apt_mirror
4170 self
.apt_proxy
= Settings
.from_json(apt_proxy
) if apt_proxy
else None
4171 self
.authorized_keys
= authorized_keys
4172 self
.provider_type
= provider_type
4173 self
.proxy
= Settings
.from_json(proxy
) if proxy
else None
4174 self
.ssl_hostname_verification
= ssl_hostname_verification
4177 class ContainerManagerConfig(Type
):
4178 _toSchema
= {'config': 'config'}
4179 _toPy
= {'config': 'config'}
4180 def __init__(self
, config
=None):
4182 config : typing.Mapping<~KT, +VT_co>[str, str]
4184 self
.config
= config
4187 class ContainerManagerConfigParams(Type
):
4188 _toSchema
= {'type_': 'type'}
4189 _toPy
= {'type': 'type_'}
4190 def __init__(self
, type_
=None):
4197 class DistributionGroupResult(Type
):
4198 _toSchema
= {'result': 'result', 'error': 'error'}
4199 _toPy
= {'result': 'result', 'error': 'error'}
4200 def __init__(self
, error
=None, result
=None):
4203 result : typing.Sequence<+T_co>[str]
4205 self
.error
= Error
.from_json(error
) if error
else None
4206 self
.result
= result
4209 class DistributionGroupResults(Type
):
4210 _toSchema
= {'results': 'results'}
4211 _toPy
= {'results': 'results'}
4212 def __init__(self
, results
=None):
4214 results : typing.Sequence<+T_co>[~DistributionGroupResult]<~DistributionGroupResult>
4216 self
.results
= [DistributionGroupResult
.from_json(o
) for o
in results
or []]
4219 class InstanceInfo(Type
):
4220 _toSchema
= {'network_config': 'network-config', 'tag': 'tag', 'volumes': 'volumes', 'instance_id': 'instance-id', 'volume_attachments': 'volume-attachments', 'nonce': 'nonce', 'characteristics': 'characteristics'}
4221 _toPy
= {'tag': 'tag', 'network-config': 'network_config', 'volumes': 'volumes', 'instance-id': 'instance_id', 'nonce': 'nonce', 'volume-attachments': 'volume_attachments', 'characteristics': 'characteristics'}
4222 def __init__(self
, characteristics
=None, instance_id
=None, network_config
=None, nonce
=None, tag
=None, volume_attachments
=None, volumes
=None):
4224 characteristics : HardwareCharacteristics
4226 network_config : typing.Sequence<+T_co>[~NetworkConfig]<~NetworkConfig>
4229 volume_attachments : typing.Mapping<~KT, +VT_co>[str, ~VolumeAttachmentInfo]<~VolumeAttachmentInfo>
4230 volumes : typing.Sequence<+T_co>[~Volume]<~Volume>
4232 self
.characteristics
= HardwareCharacteristics
.from_json(characteristics
) if characteristics
else None
4233 self
.instance_id
= instance_id
4234 self
.network_config
= [NetworkConfig
.from_json(o
) for o
in network_config
or []]
4237 self
.volume_attachments
= volume_attachments
4238 self
.volumes
= [Volume
.from_json(o
) for o
in volumes
or []]
4241 class InstancesInfo(Type
):
4242 _toSchema
= {'machines': 'machines'}
4243 _toPy
= {'machines': 'machines'}
4244 def __init__(self
, machines
=None):
4246 machines : typing.Sequence<+T_co>[~InstanceInfo]<~InstanceInfo>
4248 self
.machines
= [InstanceInfo
.from_json(o
) for o
in machines
or []]
4251 class MachineContainers(Type
):
4252 _toSchema
= {'container_types': 'container-types', 'machine_tag': 'machine-tag'}
4253 _toPy
= {'container-types': 'container_types', 'machine-tag': 'machine_tag'}
4254 def __init__(self
, container_types
=None, machine_tag
=None):
4256 container_types : typing.Sequence<+T_co>[str]
4259 self
.container_types
= container_types
4260 self
.machine_tag
= machine_tag
4263 class MachineContainersParams(Type
):
4264 _toSchema
= {'params': 'params'}
4265 _toPy
= {'params': 'params'}
4266 def __init__(self
, params
=None):
4268 params : typing.Sequence<+T_co>[~MachineContainers]<~MachineContainers>
4270 self
.params
= [MachineContainers
.from_json(o
) for o
in params
or []]
4273 class MachineNetworkConfigResult(Type
):
4274 _toSchema
= {'error': 'error', 'info': 'info'}
4275 _toPy
= {'error': 'error', 'info': 'info'}
4276 def __init__(self
, error
=None, info
=None):
4279 info : typing.Sequence<+T_co>[~NetworkConfig]<~NetworkConfig>
4281 self
.error
= Error
.from_json(error
) if error
else None
4282 self
.info
= [NetworkConfig
.from_json(o
) for o
in info
or []]
4285 class MachineNetworkConfigResults(Type
):
4286 _toSchema
= {'results': 'results'}
4287 _toPy
= {'results': 'results'}
4288 def __init__(self
, results
=None):
4290 results : typing.Sequence<+T_co>[~MachineNetworkConfigResult]<~MachineNetworkConfigResult>
4292 self
.results
= [MachineNetworkConfigResult
.from_json(o
) for o
in results
or []]
4295 class ProvisioningInfo(Type
):
4296 _toSchema
= {'series': 'series', 'controller_config': 'controller-config', 'subnets_to_zones': 'subnets-to-zones', 'image_metadata': 'image-metadata', 'tags': 'tags', 'endpoint_bindings': 'endpoint-bindings', 'volumes': 'volumes', 'constraints': 'constraints', 'jobs': 'jobs', 'placement': 'placement'}
4297 _toPy
= {'series': 'series', 'placement': 'placement', 'jobs': 'jobs', 'tags': 'tags', 'constraints': 'constraints', 'subnets-to-zones': 'subnets_to_zones', 'endpoint-bindings': 'endpoint_bindings', 'image-metadata': 'image_metadata', 'volumes': 'volumes', 'controller-config': 'controller_config'}
4298 def __init__(self
, constraints
=None, controller_config
=None, endpoint_bindings
=None, image_metadata
=None, jobs
=None, placement
=None, series
=None, subnets_to_zones
=None, tags
=None, volumes
=None):
4301 controller_config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
4302 endpoint_bindings : typing.Mapping<~KT, +VT_co>[str, str]
4303 image_metadata : typing.Sequence<+T_co>[~CloudImageMetadata]<~CloudImageMetadata>
4304 jobs : typing.Sequence<+T_co>[str]
4307 subnets_to_zones : typing.Sequence<+T_co>[str]
4308 tags : typing.Mapping<~KT, +VT_co>[str, str]
4309 volumes : typing.Sequence<+T_co>[~VolumeParams]<~VolumeParams>
4311 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
4312 self
.controller_config
= controller_config
4313 self
.endpoint_bindings
= endpoint_bindings
4314 self
.image_metadata
= [CloudImageMetadata
.from_json(o
) for o
in image_metadata
or []]
4316 self
.placement
= placement
4317 self
.series
= series
4318 self
.subnets_to_zones
= subnets_to_zones
4320 self
.volumes
= [VolumeParams
.from_json(o
) for o
in volumes
or []]
4323 class ProvisioningInfoResult(Type
):
4324 _toSchema
= {'result': 'result', 'error': 'error'}
4325 _toPy
= {'result': 'result', 'error': 'error'}
4326 def __init__(self
, error
=None, result
=None):
4329 result : ProvisioningInfo
4331 self
.error
= Error
.from_json(error
) if error
else None
4332 self
.result
= ProvisioningInfo
.from_json(result
) if result
else None
4335 class ProvisioningInfoResults(Type
):
4336 _toSchema
= {'results': 'results'}
4337 _toPy
= {'results': 'results'}
4338 def __init__(self
, results
=None):
4340 results : typing.Sequence<+T_co>[~ProvisioningInfoResult]<~ProvisioningInfoResult>
4342 self
.results
= [ProvisioningInfoResult
.from_json(o
) for o
in results
or []]
4345 class Settings(Type
):
4346 _toSchema
= {'noproxy': 'NoProxy', 'https': 'Https', 'http': 'Http', 'ftp': 'Ftp'}
4347 _toPy
= {'NoProxy': 'noproxy', 'Http': 'http', 'Ftp': 'ftp', 'Https': 'https'}
4348 def __init__(self
, ftp
=None, http
=None, https
=None, noproxy
=None):
4358 self
.noproxy
= noproxy
4361 class ToolsResult(Type
):
4362 _toSchema
= {'tools': 'tools', 'disable_ssl_hostname_verification': 'disable-ssl-hostname-verification', 'error': 'error'}
4363 _toPy
= {'disable-ssl-hostname-verification': 'disable_ssl_hostname_verification', 'tools': 'tools', 'error': 'error'}
4364 def __init__(self
, disable_ssl_hostname_verification
=None, error
=None, tools
=None):
4366 disable_ssl_hostname_verification : bool
4368 tools : typing.Sequence<+T_co>[~Tools]<~Tools>
4370 self
.disable_ssl_hostname_verification
= disable_ssl_hostname_verification
4371 self
.error
= Error
.from_json(error
) if error
else None
4372 self
.tools
= [Tools
.from_json(o
) for o
in tools
or []]
4375 class ToolsResults(Type
):
4376 _toSchema
= {'results': 'results'}
4377 _toPy
= {'results': 'results'}
4378 def __init__(self
, results
=None):
4380 results : typing.Sequence<+T_co>[~ToolsResult]<~ToolsResult>
4382 self
.results
= [ToolsResult
.from_json(o
) for o
in results
or []]
4385 class UpdateBehavior(Type
):
4386 _toSchema
= {'enable_os_refresh_update': 'enable-os-refresh-update', 'enable_os_upgrade': 'enable-os-upgrade'}
4387 _toPy
= {'enable-os-upgrade': 'enable_os_upgrade', 'enable-os-refresh-update': 'enable_os_refresh_update'}
4388 def __init__(self
, enable_os_refresh_update
=None, enable_os_upgrade
=None):
4390 enable_os_refresh_update : bool
4391 enable_os_upgrade : bool
4393 self
.enable_os_refresh_update
= enable_os_refresh_update
4394 self
.enable_os_upgrade
= enable_os_upgrade
4398 _toSchema
= {'volume_tag': 'volume-tag', 'info': 'info'}
4399 _toPy
= {'volume-tag': 'volume_tag', 'info': 'info'}
4400 def __init__(self
, info
=None, volume_tag
=None):
4405 self
.info
= VolumeInfo
.from_json(info
) if info
else None
4406 self
.volume_tag
= volume_tag
4409 class VolumeAttachmentInfo(Type
):
4410 _toSchema
= {'device_link': 'device-link', 'bus_address': 'bus-address', 'read_only': 'read-only', 'device_name': 'device-name'}
4411 _toPy
= {'device-name': 'device_name', 'device-link': 'device_link', 'bus-address': 'bus_address', 'read-only': 'read_only'}
4412 def __init__(self
, bus_address
=None, device_link
=None, device_name
=None, read_only
=None):
4419 self
.bus_address
= bus_address
4420 self
.device_link
= device_link
4421 self
.device_name
= device_name
4422 self
.read_only
= read_only
4425 class VolumeAttachmentParams(Type
):
4426 _toSchema
= {'machine_tag': 'machine-tag', 'provider': 'provider', 'read_only': 'read-only', 'volume_id': 'volume-id', 'instance_id': 'instance-id', 'volume_tag': 'volume-tag'}
4427 _toPy
= {'volume-tag': 'volume_tag', 'read-only': 'read_only', 'volume-id': 'volume_id', 'provider': 'provider', 'instance-id': 'instance_id', 'machine-tag': 'machine_tag'}
4428 def __init__(self
, instance_id
=None, machine_tag
=None, provider
=None, read_only
=None, volume_id
=None, volume_tag
=None):
4437 self
.instance_id
= instance_id
4438 self
.machine_tag
= machine_tag
4439 self
.provider
= provider
4440 self
.read_only
= read_only
4441 self
.volume_id
= volume_id
4442 self
.volume_tag
= volume_tag
4445 class VolumeInfo(Type
):
4446 _toSchema
= {'persistent': 'persistent', 'size': 'size', 'volume_id': 'volume-id', 'hardware_id': 'hardware-id'}
4447 _toPy
= {'persistent': 'persistent', 'size': 'size', 'volume-id': 'volume_id', 'hardware-id': 'hardware_id'}
4448 def __init__(self
, hardware_id
=None, persistent
=None, size
=None, volume_id
=None):
4455 self
.hardware_id
= hardware_id
4456 self
.persistent
= persistent
4458 self
.volume_id
= volume_id
4461 class VolumeParams(Type
):
4462 _toSchema
= {'tags': 'tags', 'volume_tag': 'volume-tag', 'attachment': 'attachment', 'provider': 'provider', 'attributes': 'attributes', 'size': 'size'}
4463 _toPy
= {'tags': 'tags', 'volume-tag': 'volume_tag', 'attachment': 'attachment', 'provider': 'provider', 'attributes': 'attributes', 'size': 'size'}
4464 def __init__(self
, attachment
=None, attributes
=None, provider
=None, size
=None, tags
=None, volume_tag
=None):
4466 attachment : VolumeAttachmentParams
4467 attributes : typing.Mapping<~KT, +VT_co>[str, typing.Any]
4470 tags : typing.Mapping<~KT, +VT_co>[str, str]
4473 self
.attachment
= VolumeAttachmentParams
.from_json(attachment
) if attachment
else None
4474 self
.attributes
= attributes
4475 self
.provider
= provider
4478 self
.volume_tag
= volume_tag
4481 class WatchContainer(Type
):
4482 _toSchema
= {'machine_tag': 'machine-tag', 'container_type': 'container-type'}
4483 _toPy
= {'container-type': 'container_type', 'machine-tag': 'machine_tag'}
4484 def __init__(self
, container_type
=None, machine_tag
=None):
4486 container_type : str
4489 self
.container_type
= container_type
4490 self
.machine_tag
= machine_tag
4493 class WatchContainers(Type
):
4494 _toSchema
= {'params': 'params'}
4495 _toPy
= {'params': 'params'}
4496 def __init__(self
, params
=None):
4498 params : typing.Sequence<+T_co>[~WatchContainer]<~WatchContainer>
4500 self
.params
= [WatchContainer
.from_json(o
) for o
in params
or []]
4503 class ProxyConfig(Type
):
4504 _toSchema
= {'no_proxy': 'no-proxy', 'https': 'https', 'http': 'http', 'ftp': 'ftp'}
4505 _toPy
= {'no-proxy': 'no_proxy', 'https': 'https', 'http': 'http', 'ftp': 'ftp'}
4506 def __init__(self
, ftp
=None, http
=None, https
=None, no_proxy
=None):
4516 self
.no_proxy
= no_proxy
4519 class ProxyConfigResult(Type
):
4520 _toSchema
= {'proxy_settings': 'proxy-settings', 'error': 'error', 'apt_proxy_settings': 'apt-proxy-settings'}
4521 _toPy
= {'proxy-settings': 'proxy_settings', 'apt-proxy-settings': 'apt_proxy_settings', 'error': 'error'}
4522 def __init__(self
, apt_proxy_settings
=None, error
=None, proxy_settings
=None):
4524 apt_proxy_settings : ProxyConfig
4526 proxy_settings : ProxyConfig
4528 self
.apt_proxy_settings
= ProxyConfig
.from_json(apt_proxy_settings
) if apt_proxy_settings
else None
4529 self
.error
= Error
.from_json(error
) if error
else None
4530 self
.proxy_settings
= ProxyConfig
.from_json(proxy_settings
) if proxy_settings
else None
4533 class ProxyConfigResults(Type
):
4534 _toSchema
= {'results': 'results'}
4535 _toPy
= {'results': 'results'}
4536 def __init__(self
, results
=None):
4538 results : typing.Sequence<+T_co>[~ProxyConfigResult]<~ProxyConfigResult>
4540 self
.results
= [ProxyConfigResult
.from_json(o
) for o
in results
or []]
4543 class RebootActionResult(Type
):
4544 _toSchema
= {'result': 'result', 'error': 'error'}
4545 _toPy
= {'result': 'result', 'error': 'error'}
4546 def __init__(self
, error
=None, result
=None):
4551 self
.error
= Error
.from_json(error
) if error
else None
4552 self
.result
= result
4555 class RebootActionResults(Type
):
4556 _toSchema
= {'results': 'results'}
4557 _toPy
= {'results': 'results'}
4558 def __init__(self
, results
=None):
4560 results : typing.Sequence<+T_co>[~RebootActionResult]<~RebootActionResult>
4562 self
.results
= [RebootActionResult
.from_json(o
) for o
in results
or []]
4565 class RelationUnitsChange(Type
):
4566 _toSchema
= {'departed': 'departed', 'changed': 'changed'}
4567 _toPy
= {'departed': 'departed', 'changed': 'changed'}
4568 def __init__(self
, changed
=None, departed
=None):
4570 changed : typing.Mapping<~KT, +VT_co>[str, ~UnitSettings]<~UnitSettings>
4571 departed : typing.Sequence<+T_co>[str]
4573 self
.changed
= changed
4574 self
.departed
= departed
4577 class RelationUnitsWatchResult(Type
):
4578 _toSchema
= {'changes': 'changes', 'watcher_id': 'watcher-id', 'error': 'error'}
4579 _toPy
= {'changes': 'changes', 'error': 'error', 'watcher-id': 'watcher_id'}
4580 def __init__(self
, changes
=None, error
=None, watcher_id
=None):
4582 changes : RelationUnitsChange
4586 self
.changes
= RelationUnitsChange
.from_json(changes
) if changes
else None
4587 self
.error
= Error
.from_json(error
) if error
else None
4588 self
.watcher_id
= watcher_id
4591 class UnitSettings(Type
):
4592 _toSchema
= {'version': 'version'}
4593 _toPy
= {'version': 'version'}
4594 def __init__(self
, version
=None):
4598 self
.version
= version
4601 class RetryStrategy(Type
):
4602 _toSchema
= {'should_retry': 'should-retry', 'jitter_retry_time': 'jitter-retry-time', 'min_retry_time': 'min-retry-time', 'max_retry_time': 'max-retry-time', 'retry_time_factor': 'retry-time-factor'}
4603 _toPy
= {'jitter-retry-time': 'jitter_retry_time', 'max-retry-time': 'max_retry_time', 'should-retry': 'should_retry', 'min-retry-time': 'min_retry_time', 'retry-time-factor': 'retry_time_factor'}
4604 def __init__(self
, jitter_retry_time
=None, max_retry_time
=None, min_retry_time
=None, retry_time_factor
=None, should_retry
=None):
4606 jitter_retry_time : bool
4607 max_retry_time : int
4608 min_retry_time : int
4609 retry_time_factor : int
4612 self
.jitter_retry_time
= jitter_retry_time
4613 self
.max_retry_time
= max_retry_time
4614 self
.min_retry_time
= min_retry_time
4615 self
.retry_time_factor
= retry_time_factor
4616 self
.should_retry
= should_retry
4619 class RetryStrategyResult(Type
):
4620 _toSchema
= {'result': 'result', 'error': 'error'}
4621 _toPy
= {'result': 'result', 'error': 'error'}
4622 def __init__(self
, error
=None, result
=None):
4625 result : RetryStrategy
4627 self
.error
= Error
.from_json(error
) if error
else None
4628 self
.result
= RetryStrategy
.from_json(result
) if result
else None
4631 class RetryStrategyResults(Type
):
4632 _toSchema
= {'results': 'results'}
4633 _toPy
= {'results': 'results'}
4634 def __init__(self
, results
=None):
4636 results : typing.Sequence<+T_co>[~RetryStrategyResult]<~RetryStrategyResult>
4638 self
.results
= [RetryStrategyResult
.from_json(o
) for o
in results
or []]
4641 class SSHAddressResult(Type
):
4642 _toSchema
= {'address': 'address', 'error': 'error'}
4643 _toPy
= {'address': 'address', 'error': 'error'}
4644 def __init__(self
, address
=None, error
=None):
4649 self
.address
= address
4650 self
.error
= Error
.from_json(error
) if error
else None
4653 class SSHAddressResults(Type
):
4654 _toSchema
= {'results': 'results'}
4655 _toPy
= {'results': 'results'}
4656 def __init__(self
, results
=None):
4658 results : typing.Sequence<+T_co>[~SSHAddressResult]<~SSHAddressResult>
4660 self
.results
= [SSHAddressResult
.from_json(o
) for o
in results
or []]
4663 class SSHProxyResult(Type
):
4664 _toSchema
= {'use_proxy': 'use-proxy'}
4665 _toPy
= {'use-proxy': 'use_proxy'}
4666 def __init__(self
, use_proxy
=None):
4670 self
.use_proxy
= use_proxy
4673 class SSHPublicKeysResult(Type
):
4674 _toSchema
= {'public_keys': 'public-keys', 'error': 'error'}
4675 _toPy
= {'public-keys': 'public_keys', 'error': 'error'}
4676 def __init__(self
, error
=None, public_keys
=None):
4679 public_keys : typing.Sequence<+T_co>[str]
4681 self
.error
= Error
.from_json(error
) if error
else None
4682 self
.public_keys
= public_keys
4685 class SSHPublicKeysResults(Type
):
4686 _toSchema
= {'results': 'results'}
4687 _toPy
= {'results': 'results'}
4688 def __init__(self
, results
=None):
4690 results : typing.Sequence<+T_co>[~SSHPublicKeysResult]<~SSHPublicKeysResult>
4692 self
.results
= [SSHPublicKeysResult
.from_json(o
) for o
in results
or []]
4695 class SingularClaim(Type
):
4696 _toSchema
= {'duration': 'duration', 'model_tag': 'model-tag', 'controller_tag': 'controller-tag'}
4697 _toPy
= {'duration': 'duration', 'controller-tag': 'controller_tag', 'model-tag': 'model_tag'}
4698 def __init__(self
, controller_tag
=None, duration
=None, model_tag
=None):
4700 controller_tag : str
4704 self
.controller_tag
= controller_tag
4705 self
.duration
= duration
4706 self
.model_tag
= model_tag
4709 class SingularClaims(Type
):
4710 _toSchema
= {'claims': 'claims'}
4711 _toPy
= {'claims': 'claims'}
4712 def __init__(self
, claims
=None):
4714 claims : typing.Sequence<+T_co>[~SingularClaim]<~SingularClaim>
4716 self
.claims
= [SingularClaim
.from_json(o
) for o
in claims
or []]
4719 class ListSpacesResults(Type
):
4720 _toSchema
= {'results': 'results'}
4721 _toPy
= {'results': 'results'}
4722 def __init__(self
, results
=None):
4724 results : typing.Sequence<+T_co>[~Space]<~Space>
4726 self
.results
= [Space
.from_json(o
) for o
in results
or []]
4730 _toSchema
= {'subnets': 'subnets', 'error': 'error', 'name': 'name'}
4731 _toPy
= {'subnets': 'subnets', 'error': 'error', 'name': 'name'}
4732 def __init__(self
, error
=None, name
=None, subnets
=None):
4736 subnets : typing.Sequence<+T_co>[~Subnet]<~Subnet>
4738 self
.error
= Error
.from_json(error
) if error
else None
4740 self
.subnets
= [Subnet
.from_json(o
) for o
in subnets
or []]
4743 class StatusHistoryPruneArgs(Type
):
4744 _toSchema
= {'max_history_mb': 'max-history-mb', 'max_history_time': 'max-history-time'}
4745 _toPy
= {'max-history-mb': 'max_history_mb', 'max-history-time': 'max_history_time'}
4746 def __init__(self
, max_history_mb
=None, max_history_time
=None):
4748 max_history_mb : int
4749 max_history_time : int
4751 self
.max_history_mb
= max_history_mb
4752 self
.max_history_time
= max_history_time
4755 class FilesystemAttachmentInfo(Type
):
4756 _toSchema
= {'mount_point': 'mount-point', 'read_only': 'read-only'}
4757 _toPy
= {'read-only': 'read_only', 'mount-point': 'mount_point'}
4758 def __init__(self
, mount_point
=None, read_only
=None):
4763 self
.mount_point
= mount_point
4764 self
.read_only
= read_only
4767 class FilesystemDetails(Type
):
4768 _toSchema
= {'storage': 'storage', 'status': 'status', 'machine_attachments': 'machine-attachments', 'volume_tag': 'volume-tag', 'filesystem_tag': 'filesystem-tag', 'info': 'info'}
4769 _toPy
= {'machine-attachments': 'machine_attachments', 'storage': 'storage', 'volume-tag': 'volume_tag', 'status': 'status', 'filesystem-tag': 'filesystem_tag', 'info': 'info'}
4770 def __init__(self
, filesystem_tag
=None, info
=None, machine_attachments
=None, status
=None, storage
=None, volume_tag
=None):
4772 filesystem_tag : str
4773 info : FilesystemInfo
4774 machine_attachments : typing.Mapping<~KT, +VT_co>[str, ~FilesystemAttachmentInfo]<~FilesystemAttachmentInfo>
4775 status : EntityStatus
4776 storage : StorageDetails
4779 self
.filesystem_tag
= filesystem_tag
4780 self
.info
= FilesystemInfo
.from_json(info
) if info
else None
4781 self
.machine_attachments
= machine_attachments
4782 self
.status
= EntityStatus
.from_json(status
) if status
else None
4783 self
.storage
= StorageDetails
.from_json(storage
) if storage
else None
4784 self
.volume_tag
= volume_tag
4787 class FilesystemDetailsListResult(Type
):
4788 _toSchema
= {'result': 'result', 'error': 'error'}
4789 _toPy
= {'result': 'result', 'error': 'error'}
4790 def __init__(self
, error
=None, result
=None):
4793 result : typing.Sequence<+T_co>[~FilesystemDetails]<~FilesystemDetails>
4795 self
.error
= Error
.from_json(error
) if error
else None
4796 self
.result
= [FilesystemDetails
.from_json(o
) for o
in result
or []]
4799 class FilesystemDetailsListResults(Type
):
4800 _toSchema
= {'results': 'results'}
4801 _toPy
= {'results': 'results'}
4802 def __init__(self
, results
=None):
4804 results : typing.Sequence<+T_co>[~FilesystemDetailsListResult]<~FilesystemDetailsListResult>
4806 self
.results
= [FilesystemDetailsListResult
.from_json(o
) for o
in results
or []]
4809 class FilesystemFilter(Type
):
4810 _toSchema
= {'machines': 'machines'}
4811 _toPy
= {'machines': 'machines'}
4812 def __init__(self
, machines
=None):
4814 machines : typing.Sequence<+T_co>[str]
4816 self
.machines
= machines
4819 class FilesystemFilters(Type
):
4820 _toSchema
= {'filters': 'filters'}
4821 _toPy
= {'filters': 'filters'}
4822 def __init__(self
, filters
=None):
4824 filters : typing.Sequence<+T_co>[~FilesystemFilter]<~FilesystemFilter>
4826 self
.filters
= [FilesystemFilter
.from_json(o
) for o
in filters
or []]
4829 class FilesystemInfo(Type
):
4830 _toSchema
= {'size': 'size', 'filesystem_id': 'filesystem-id'}
4831 _toPy
= {'size': 'size', 'filesystem-id': 'filesystem_id'}
4832 def __init__(self
, filesystem_id
=None, size
=None):
4837 self
.filesystem_id
= filesystem_id
4841 class StorageAddParams(Type
):
4842 _toSchema
= {'storage': 'storage', 'name': 'name', 'unit': 'unit'}
4843 _toPy
= {'storage': 'storage', 'name': 'name', 'unit': 'unit'}
4844 def __init__(self
, name
=None, storage
=None, unit
=None):
4847 storage : StorageConstraints
4851 self
.storage
= StorageConstraints
.from_json(storage
) if storage
else None
4855 class StorageAttachmentDetails(Type
):
4856 _toSchema
= {'machine_tag': 'machine-tag', 'storage_tag': 'storage-tag', 'location': 'location', 'unit_tag': 'unit-tag'}
4857 _toPy
= {'unit-tag': 'unit_tag', 'storage-tag': 'storage_tag', 'machine-tag': 'machine_tag', 'location': 'location'}
4858 def __init__(self
, location
=None, machine_tag
=None, storage_tag
=None, unit_tag
=None):
4865 self
.location
= location
4866 self
.machine_tag
= machine_tag
4867 self
.storage_tag
= storage_tag
4868 self
.unit_tag
= unit_tag
4871 class StorageConstraints(Type
):
4872 _toSchema
= {'size': 'size', 'pool': 'pool', 'count': 'count'}
4873 _toPy
= {'size': 'size', 'pool': 'pool', 'count': 'count'}
4874 def __init__(self
, count
=None, pool
=None, size
=None):
4885 class StorageDetails(Type
):
4886 _toSchema
= {'persistent': 'persistent', 'kind': 'kind', 'attachments': 'attachments', 'owner_tag': 'owner-tag', 'storage_tag': 'storage-tag', 'status': 'status'}
4887 _toPy
= {'persistent': 'persistent', 'kind': 'kind', 'attachments': 'attachments', 'status': 'status', 'storage-tag': 'storage_tag', 'owner-tag': 'owner_tag'}
4888 def __init__(self
, attachments
=None, kind
=None, owner_tag
=None, persistent
=None, status
=None, storage_tag
=None):
4890 attachments : typing.Mapping<~KT, +VT_co>[str, ~StorageAttachmentDetails]<~StorageAttachmentDetails>
4894 status : EntityStatus
4897 self
.attachments
= attachments
4899 self
.owner_tag
= owner_tag
4900 self
.persistent
= persistent
4901 self
.status
= EntityStatus
.from_json(status
) if status
else None
4902 self
.storage_tag
= storage_tag
4905 class StorageDetailsListResult(Type
):
4906 _toSchema
= {'result': 'result', 'error': 'error'}
4907 _toPy
= {'result': 'result', 'error': 'error'}
4908 def __init__(self
, error
=None, result
=None):
4911 result : typing.Sequence<+T_co>[~StorageDetails]<~StorageDetails>
4913 self
.error
= Error
.from_json(error
) if error
else None
4914 self
.result
= [StorageDetails
.from_json(o
) for o
in result
or []]
4917 class StorageDetailsListResults(Type
):
4918 _toSchema
= {'results': 'results'}
4919 _toPy
= {'results': 'results'}
4920 def __init__(self
, results
=None):
4922 results : typing.Sequence<+T_co>[~StorageDetailsListResult]<~StorageDetailsListResult>
4924 self
.results
= [StorageDetailsListResult
.from_json(o
) for o
in results
or []]
4927 class StorageDetailsResult(Type
):
4928 _toSchema
= {'result': 'result', 'error': 'error'}
4929 _toPy
= {'result': 'result', 'error': 'error'}
4930 def __init__(self
, error
=None, result
=None):
4933 result : StorageDetails
4935 self
.error
= Error
.from_json(error
) if error
else None
4936 self
.result
= StorageDetails
.from_json(result
) if result
else None
4939 class StorageDetailsResults(Type
):
4940 _toSchema
= {'results': 'results'}
4941 _toPy
= {'results': 'results'}
4942 def __init__(self
, results
=None):
4944 results : typing.Sequence<+T_co>[~StorageDetailsResult]<~StorageDetailsResult>
4946 self
.results
= [StorageDetailsResult
.from_json(o
) for o
in results
or []]
4949 class StorageFilter(Type
):
4959 class StorageFilters(Type
):
4960 _toSchema
= {'filters': 'filters'}
4961 _toPy
= {'filters': 'filters'}
4962 def __init__(self
, filters
=None):
4964 filters : typing.Sequence<+T_co>[~StorageFilter]<~StorageFilter>
4966 self
.filters
= [StorageFilter
.from_json(o
) for o
in filters
or []]
4969 class StoragePool(Type
):
4970 _toSchema
= {'provider': 'provider', 'attrs': 'attrs', 'name': 'name'}
4971 _toPy
= {'provider': 'provider', 'attrs': 'attrs', 'name': 'name'}
4972 def __init__(self
, attrs
=None, name
=None, provider
=None):
4974 attrs : typing.Mapping<~KT, +VT_co>[str, typing.Any]
4980 self
.provider
= provider
4983 class StoragePoolFilter(Type
):
4984 _toSchema
= {'providers': 'providers', 'names': 'names'}
4985 _toPy
= {'providers': 'providers', 'names': 'names'}
4986 def __init__(self
, names
=None, providers
=None):
4988 names : typing.Sequence<+T_co>[str]
4989 providers : typing.Sequence<+T_co>[str]
4992 self
.providers
= providers
4995 class StoragePoolFilters(Type
):
4996 _toSchema
= {'filters': 'filters'}
4997 _toPy
= {'filters': 'filters'}
4998 def __init__(self
, filters
=None):
5000 filters : typing.Sequence<+T_co>[~StoragePoolFilter]<~StoragePoolFilter>
5002 self
.filters
= [StoragePoolFilter
.from_json(o
) for o
in filters
or []]
5005 class StoragePoolsResult(Type
):
5006 _toSchema
= {'error': 'error', 'storage_pools': 'storage-pools'}
5007 _toPy
= {'storage-pools': 'storage_pools', 'error': 'error'}
5008 def __init__(self
, error
=None, storage_pools
=None):
5011 storage_pools : typing.Sequence<+T_co>[~StoragePool]<~StoragePool>
5013 self
.error
= Error
.from_json(error
) if error
else None
5014 self
.storage_pools
= [StoragePool
.from_json(o
) for o
in storage_pools
or []]
5017 class StoragePoolsResults(Type
):
5018 _toSchema
= {'results': 'results'}
5019 _toPy
= {'results': 'results'}
5020 def __init__(self
, results
=None):
5022 results : typing.Sequence<+T_co>[~StoragePoolsResult]<~StoragePoolsResult>
5024 self
.results
= [StoragePoolsResult
.from_json(o
) for o
in results
or []]
5027 class StoragesAddParams(Type
):
5028 _toSchema
= {'storages': 'storages'}
5029 _toPy
= {'storages': 'storages'}
5030 def __init__(self
, storages
=None):
5032 storages : typing.Sequence<+T_co>[~StorageAddParams]<~StorageAddParams>
5034 self
.storages
= [StorageAddParams
.from_json(o
) for o
in storages
or []]
5037 class VolumeDetails(Type
):
5038 _toSchema
= {'machine_attachments': 'machine-attachments', 'volume_tag': 'volume-tag', 'storage': 'storage', 'info': 'info', 'status': 'status'}
5039 _toPy
= {'machine-attachments': 'machine_attachments', 'storage': 'storage', 'volume-tag': 'volume_tag', 'info': 'info', 'status': 'status'}
5040 def __init__(self
, info
=None, machine_attachments
=None, status
=None, storage
=None, volume_tag
=None):
5043 machine_attachments : typing.Mapping<~KT, +VT_co>[str, ~VolumeAttachmentInfo]<~VolumeAttachmentInfo>
5044 status : EntityStatus
5045 storage : StorageDetails
5048 self
.info
= VolumeInfo
.from_json(info
) if info
else None
5049 self
.machine_attachments
= machine_attachments
5050 self
.status
= EntityStatus
.from_json(status
) if status
else None
5051 self
.storage
= StorageDetails
.from_json(storage
) if storage
else None
5052 self
.volume_tag
= volume_tag
5055 class VolumeDetailsListResult(Type
):
5056 _toSchema
= {'result': 'result', 'error': 'error'}
5057 _toPy
= {'result': 'result', 'error': 'error'}
5058 def __init__(self
, error
=None, result
=None):
5061 result : typing.Sequence<+T_co>[~VolumeDetails]<~VolumeDetails>
5063 self
.error
= Error
.from_json(error
) if error
else None
5064 self
.result
= [VolumeDetails
.from_json(o
) for o
in result
or []]
5067 class VolumeDetailsListResults(Type
):
5068 _toSchema
= {'results': 'results'}
5069 _toPy
= {'results': 'results'}
5070 def __init__(self
, results
=None):
5072 results : typing.Sequence<+T_co>[~VolumeDetailsListResult]<~VolumeDetailsListResult>
5074 self
.results
= [VolumeDetailsListResult
.from_json(o
) for o
in results
or []]
5077 class VolumeFilter(Type
):
5078 _toSchema
= {'machines': 'machines'}
5079 _toPy
= {'machines': 'machines'}
5080 def __init__(self
, machines
=None):
5082 machines : typing.Sequence<+T_co>[str]
5084 self
.machines
= machines
5087 class VolumeFilters(Type
):
5088 _toSchema
= {'filters': 'filters'}
5089 _toPy
= {'filters': 'filters'}
5090 def __init__(self
, filters
=None):
5092 filters : typing.Sequence<+T_co>[~VolumeFilter]<~VolumeFilter>
5094 self
.filters
= [VolumeFilter
.from_json(o
) for o
in filters
or []]
5097 class BlockDeviceResult(Type
):
5098 _toSchema
= {'result': 'result', 'error': 'error'}
5099 _toPy
= {'result': 'result', 'error': 'error'}
5100 def __init__(self
, error
=None, result
=None):
5103 result : BlockDevice
5105 self
.error
= Error
.from_json(error
) if error
else None
5106 self
.result
= BlockDevice
.from_json(result
) if result
else None
5109 class BlockDeviceResults(Type
):
5110 _toSchema
= {'results': 'results'}
5111 _toPy
= {'results': 'results'}
5112 def __init__(self
, results
=None):
5114 results : typing.Sequence<+T_co>[~BlockDeviceResult]<~BlockDeviceResult>
5116 self
.results
= [BlockDeviceResult
.from_json(o
) for o
in results
or []]
5119 class Filesystem(Type
):
5120 _toSchema
= {'volume_tag': 'volume-tag', 'filesystem_tag': 'filesystem-tag', 'info': 'info'}
5121 _toPy
= {'volume-tag': 'volume_tag', 'info': 'info', 'filesystem-tag': 'filesystem_tag'}
5122 def __init__(self
, filesystem_tag
=None, info
=None, volume_tag
=None):
5124 filesystem_tag : str
5125 info : FilesystemInfo
5128 self
.filesystem_tag
= filesystem_tag
5129 self
.info
= FilesystemInfo
.from_json(info
) if info
else None
5130 self
.volume_tag
= volume_tag
5133 class FilesystemAttachment(Type
):
5134 _toSchema
= {'machine_tag': 'machine-tag', 'filesystem_tag': 'filesystem-tag', 'info': 'info'}
5135 _toPy
= {'machine-tag': 'machine_tag', 'info': 'info', 'filesystem-tag': 'filesystem_tag'}
5136 def __init__(self
, filesystem_tag
=None, info
=None, machine_tag
=None):
5138 filesystem_tag : str
5139 info : FilesystemAttachmentInfo
5142 self
.filesystem_tag
= filesystem_tag
5143 self
.info
= FilesystemAttachmentInfo
.from_json(info
) if info
else None
5144 self
.machine_tag
= machine_tag
5147 class FilesystemAttachmentParams(Type
):
5148 _toSchema
= {'machine_tag': 'machine-tag', 'mount_point': 'mount-point', 'read_only': 'read-only', 'provider': 'provider', 'filesystem_id': 'filesystem-id', 'instance_id': 'instance-id', 'filesystem_tag': 'filesystem-tag'}
5149 _toPy
= {'read-only': 'read_only', 'filesystem-id': 'filesystem_id', 'filesystem-tag': 'filesystem_tag', 'provider': 'provider', 'instance-id': 'instance_id', 'machine-tag': 'machine_tag', 'mount-point': 'mount_point'}
5150 def __init__(self
, filesystem_id
=None, filesystem_tag
=None, instance_id
=None, machine_tag
=None, mount_point
=None, provider
=None, read_only
=None):
5153 filesystem_tag : str
5160 self
.filesystem_id
= filesystem_id
5161 self
.filesystem_tag
= filesystem_tag
5162 self
.instance_id
= instance_id
5163 self
.machine_tag
= machine_tag
5164 self
.mount_point
= mount_point
5165 self
.provider
= provider
5166 self
.read_only
= read_only
5169 class FilesystemAttachmentParamsResult(Type
):
5170 _toSchema
= {'result': 'result', 'error': 'error'}
5171 _toPy
= {'result': 'result', 'error': 'error'}
5172 def __init__(self
, error
=None, result
=None):
5175 result : FilesystemAttachmentParams
5177 self
.error
= Error
.from_json(error
) if error
else None
5178 self
.result
= FilesystemAttachmentParams
.from_json(result
) if result
else None
5181 class FilesystemAttachmentParamsResults(Type
):
5182 _toSchema
= {'results': 'results'}
5183 _toPy
= {'results': 'results'}
5184 def __init__(self
, results
=None):
5186 results : typing.Sequence<+T_co>[~FilesystemAttachmentParamsResult]<~FilesystemAttachmentParamsResult>
5188 self
.results
= [FilesystemAttachmentParamsResult
.from_json(o
) for o
in results
or []]
5191 class FilesystemAttachmentResult(Type
):
5192 _toSchema
= {'result': 'result', 'error': 'error'}
5193 _toPy
= {'result': 'result', 'error': 'error'}
5194 def __init__(self
, error
=None, result
=None):
5197 result : FilesystemAttachment
5199 self
.error
= Error
.from_json(error
) if error
else None
5200 self
.result
= FilesystemAttachment
.from_json(result
) if result
else None
5203 class FilesystemAttachmentResults(Type
):
5204 _toSchema
= {'results': 'results'}
5205 _toPy
= {'results': 'results'}
5206 def __init__(self
, results
=None):
5208 results : typing.Sequence<+T_co>[~FilesystemAttachmentResult]<~FilesystemAttachmentResult>
5210 self
.results
= [FilesystemAttachmentResult
.from_json(o
) for o
in results
or []]
5213 class FilesystemAttachments(Type
):
5214 _toSchema
= {'filesystem_attachments': 'filesystem-attachments'}
5215 _toPy
= {'filesystem-attachments': 'filesystem_attachments'}
5216 def __init__(self
, filesystem_attachments
=None):
5218 filesystem_attachments : typing.Sequence<+T_co>[~FilesystemAttachment]<~FilesystemAttachment>
5220 self
.filesystem_attachments
= [FilesystemAttachment
.from_json(o
) for o
in filesystem_attachments
or []]
5223 class FilesystemParams(Type
):
5224 _toSchema
= {'tags': 'tags', 'size': 'size', 'attachment': 'attachment', 'provider': 'provider', 'attributes': 'attributes', 'filesystem_tag': 'filesystem-tag', 'volume_tag': 'volume-tag'}
5225 _toPy
= {'tags': 'tags', 'volume-tag': 'volume_tag', 'attachment': 'attachment', 'filesystem-tag': 'filesystem_tag', 'provider': 'provider', 'attributes': 'attributes', 'size': 'size'}
5226 def __init__(self
, attachment
=None, attributes
=None, filesystem_tag
=None, provider
=None, size
=None, tags
=None, volume_tag
=None):
5228 attachment : FilesystemAttachmentParams
5229 attributes : typing.Mapping<~KT, +VT_co>[str, typing.Any]
5230 filesystem_tag : str
5233 tags : typing.Mapping<~KT, +VT_co>[str, str]
5236 self
.attachment
= FilesystemAttachmentParams
.from_json(attachment
) if attachment
else None
5237 self
.attributes
= attributes
5238 self
.filesystem_tag
= filesystem_tag
5239 self
.provider
= provider
5242 self
.volume_tag
= volume_tag
5245 class FilesystemParamsResult(Type
):
5246 _toSchema
= {'result': 'result', 'error': 'error'}
5247 _toPy
= {'result': 'result', 'error': 'error'}
5248 def __init__(self
, error
=None, result
=None):
5251 result : FilesystemParams
5253 self
.error
= Error
.from_json(error
) if error
else None
5254 self
.result
= FilesystemParams
.from_json(result
) if result
else None
5257 class FilesystemParamsResults(Type
):
5258 _toSchema
= {'results': 'results'}
5259 _toPy
= {'results': 'results'}
5260 def __init__(self
, results
=None):
5262 results : typing.Sequence<+T_co>[~FilesystemParamsResult]<~FilesystemParamsResult>
5264 self
.results
= [FilesystemParamsResult
.from_json(o
) for o
in results
or []]
5267 class FilesystemResult(Type
):
5268 _toSchema
= {'result': 'result', 'error': 'error'}
5269 _toPy
= {'result': 'result', 'error': 'error'}
5270 def __init__(self
, error
=None, result
=None):
5275 self
.error
= Error
.from_json(error
) if error
else None
5276 self
.result
= Filesystem
.from_json(result
) if result
else None
5279 class FilesystemResults(Type
):
5280 _toSchema
= {'results': 'results'}
5281 _toPy
= {'results': 'results'}
5282 def __init__(self
, results
=None):
5284 results : typing.Sequence<+T_co>[~FilesystemResult]<~FilesystemResult>
5286 self
.results
= [FilesystemResult
.from_json(o
) for o
in results
or []]
5289 class Filesystems(Type
):
5290 _toSchema
= {'filesystems': 'filesystems'}
5291 _toPy
= {'filesystems': 'filesystems'}
5292 def __init__(self
, filesystems
=None):
5294 filesystems : typing.Sequence<+T_co>[~Filesystem]<~Filesystem>
5296 self
.filesystems
= [Filesystem
.from_json(o
) for o
in filesystems
or []]
5299 class MachineStorageIds(Type
):
5300 _toSchema
= {'ids': 'ids'}
5301 _toPy
= {'ids': 'ids'}
5302 def __init__(self
, ids
=None):
5304 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
5306 self
.ids
= [MachineStorageId
.from_json(o
) for o
in ids
or []]
5309 class MachineStorageIdsWatchResults(Type
):
5310 _toSchema
= {'results': 'results'}
5311 _toPy
= {'results': 'results'}
5312 def __init__(self
, results
=None):
5314 results : typing.Sequence<+T_co>[~MachineStorageIdsWatchResult]<~MachineStorageIdsWatchResult>
5316 self
.results
= [MachineStorageIdsWatchResult
.from_json(o
) for o
in results
or []]
5319 class VolumeAttachment(Type
):
5320 _toSchema
= {'machine_tag': 'machine-tag', 'volume_tag': 'volume-tag', 'info': 'info'}
5321 _toPy
= {'volume-tag': 'volume_tag', 'machine-tag': 'machine_tag', 'info': 'info'}
5322 def __init__(self
, info
=None, machine_tag
=None, volume_tag
=None):
5324 info : VolumeAttachmentInfo
5328 self
.info
= VolumeAttachmentInfo
.from_json(info
) if info
else None
5329 self
.machine_tag
= machine_tag
5330 self
.volume_tag
= volume_tag
5333 class VolumeAttachmentParamsResult(Type
):
5334 _toSchema
= {'result': 'result', 'error': 'error'}
5335 _toPy
= {'result': 'result', 'error': 'error'}
5336 def __init__(self
, error
=None, result
=None):
5339 result : VolumeAttachmentParams
5341 self
.error
= Error
.from_json(error
) if error
else None
5342 self
.result
= VolumeAttachmentParams
.from_json(result
) if result
else None
5345 class VolumeAttachmentParamsResults(Type
):
5346 _toSchema
= {'results': 'results'}
5347 _toPy
= {'results': 'results'}
5348 def __init__(self
, results
=None):
5350 results : typing.Sequence<+T_co>[~VolumeAttachmentParamsResult]<~VolumeAttachmentParamsResult>
5352 self
.results
= [VolumeAttachmentParamsResult
.from_json(o
) for o
in results
or []]
5355 class VolumeAttachmentResult(Type
):
5356 _toSchema
= {'result': 'result', 'error': 'error'}
5357 _toPy
= {'result': 'result', 'error': 'error'}
5358 def __init__(self
, error
=None, result
=None):
5361 result : VolumeAttachment
5363 self
.error
= Error
.from_json(error
) if error
else None
5364 self
.result
= VolumeAttachment
.from_json(result
) if result
else None
5367 class VolumeAttachmentResults(Type
):
5368 _toSchema
= {'results': 'results'}
5369 _toPy
= {'results': 'results'}
5370 def __init__(self
, results
=None):
5372 results : typing.Sequence<+T_co>[~VolumeAttachmentResult]<~VolumeAttachmentResult>
5374 self
.results
= [VolumeAttachmentResult
.from_json(o
) for o
in results
or []]
5377 class VolumeAttachments(Type
):
5378 _toSchema
= {'volume_attachments': 'volume-attachments'}
5379 _toPy
= {'volume-attachments': 'volume_attachments'}
5380 def __init__(self
, volume_attachments
=None):
5382 volume_attachments : typing.Sequence<+T_co>[~VolumeAttachment]<~VolumeAttachment>
5384 self
.volume_attachments
= [VolumeAttachment
.from_json(o
) for o
in volume_attachments
or []]
5387 class VolumeParamsResult(Type
):
5388 _toSchema
= {'result': 'result', 'error': 'error'}
5389 _toPy
= {'result': 'result', 'error': 'error'}
5390 def __init__(self
, error
=None, result
=None):
5393 result : VolumeParams
5395 self
.error
= Error
.from_json(error
) if error
else None
5396 self
.result
= VolumeParams
.from_json(result
) if result
else None
5399 class VolumeParamsResults(Type
):
5400 _toSchema
= {'results': 'results'}
5401 _toPy
= {'results': 'results'}
5402 def __init__(self
, results
=None):
5404 results : typing.Sequence<+T_co>[~VolumeParamsResult]<~VolumeParamsResult>
5406 self
.results
= [VolumeParamsResult
.from_json(o
) for o
in results
or []]
5409 class VolumeResult(Type
):
5410 _toSchema
= {'result': 'result', 'error': 'error'}
5411 _toPy
= {'result': 'result', 'error': 'error'}
5412 def __init__(self
, error
=None, result
=None):
5417 self
.error
= Error
.from_json(error
) if error
else None
5418 self
.result
= Volume
.from_json(result
) if result
else None
5421 class VolumeResults(Type
):
5422 _toSchema
= {'results': 'results'}
5423 _toPy
= {'results': 'results'}
5424 def __init__(self
, results
=None):
5426 results : typing.Sequence<+T_co>[~VolumeResult]<~VolumeResult>
5428 self
.results
= [VolumeResult
.from_json(o
) for o
in results
or []]
5431 class Volumes(Type
):
5432 _toSchema
= {'volumes': 'volumes'}
5433 _toPy
= {'volumes': 'volumes'}
5434 def __init__(self
, volumes
=None):
5436 volumes : typing.Sequence<+T_co>[~Volume]<~Volume>
5438 self
.volumes
= [Volume
.from_json(o
) for o
in volumes
or []]
5441 class SpaceResult(Type
):
5442 _toSchema
= {'tag': 'tag', 'error': 'error'}
5443 _toPy
= {'tag': 'tag', 'error': 'error'}
5444 def __init__(self
, error
=None, tag
=None):
5449 self
.error
= Error
.from_json(error
) if error
else None
5453 class SpaceResults(Type
):
5454 _toSchema
= {'results': 'results'}
5455 _toPy
= {'results': 'results'}
5456 def __init__(self
, results
=None):
5458 results : typing.Sequence<+T_co>[~SpaceResult]<~SpaceResult>
5460 self
.results
= [SpaceResult
.from_json(o
) for o
in results
or []]
5463 class ZoneResult(Type
):
5464 _toSchema
= {'error': 'error', 'available': 'available', 'name': 'name'}
5465 _toPy
= {'error': 'error', 'available': 'available', 'name': 'name'}
5466 def __init__(self
, available
=None, error
=None, name
=None):
5472 self
.available
= available
5473 self
.error
= Error
.from_json(error
) if error
else None
5477 class ZoneResults(Type
):
5478 _toSchema
= {'results': 'results'}
5479 _toPy
= {'results': 'results'}
5480 def __init__(self
, results
=None):
5482 results : typing.Sequence<+T_co>[~ZoneResult]<~ZoneResult>
5484 self
.results
= [ZoneResult
.from_json(o
) for o
in results
or []]
5487 class UndertakerModelInfo(Type
):
5488 _toSchema
= {'is_system': 'is-system', 'global_name': 'global-name', 'name': 'name', 'uuid': 'uuid', 'life': 'life'}
5489 _toPy
= {'life': 'life', 'is-system': 'is_system', 'name': 'name', 'uuid': 'uuid', 'global-name': 'global_name'}
5490 def __init__(self
, global_name
=None, is_system
=None, life
=None, name
=None, uuid
=None):
5498 self
.global_name
= global_name
5499 self
.is_system
= is_system
5505 class UndertakerModelInfoResult(Type
):
5506 _toSchema
= {'result': 'result', 'error': 'error'}
5507 _toPy
= {'result': 'result', 'error': 'error'}
5508 def __init__(self
, error
=None, result
=None):
5511 result : UndertakerModelInfo
5513 self
.error
= Error
.from_json(error
) if error
else None
5514 self
.result
= UndertakerModelInfo
.from_json(result
) if result
else None
5517 class ApplicationStatusResult(Type
):
5518 _toSchema
= {'application': 'application', 'error': 'error', 'units': 'units'}
5519 _toPy
= {'application': 'application', 'error': 'error', 'units': 'units'}
5520 def __init__(self
, application
=None, error
=None, units
=None):
5522 application : StatusResult
5524 units : typing.Mapping<~KT, +VT_co>[str, ~StatusResult]<~StatusResult>
5526 self
.application
= StatusResult
.from_json(application
) if application
else None
5527 self
.error
= Error
.from_json(error
) if error
else None
5531 class ApplicationStatusResults(Type
):
5532 _toSchema
= {'results': 'results'}
5533 _toPy
= {'results': 'results'}
5534 def __init__(self
, results
=None):
5536 results : typing.Sequence<+T_co>[~ApplicationStatusResult]<~ApplicationStatusResult>
5538 self
.results
= [ApplicationStatusResult
.from_json(o
) for o
in results
or []]
5541 class CharmURLs(Type
):
5542 _toSchema
= {'urls': 'urls'}
5543 _toPy
= {'urls': 'urls'}
5544 def __init__(self
, urls
=None):
5546 urls : typing.Sequence<+T_co>[~CharmURL]<~CharmURL>
5548 self
.urls
= [CharmURL
.from_json(o
) for o
in urls
or []]
5551 class ConfigSettingsResult(Type
):
5552 _toSchema
= {'error': 'error', 'settings': 'settings'}
5553 _toPy
= {'error': 'error', 'settings': 'settings'}
5554 def __init__(self
, error
=None, settings
=None):
5557 settings : typing.Mapping<~KT, +VT_co>[str, typing.Any]
5559 self
.error
= Error
.from_json(error
) if error
else None
5560 self
.settings
= settings
5563 class ConfigSettingsResults(Type
):
5564 _toSchema
= {'results': 'results'}
5565 _toPy
= {'results': 'results'}
5566 def __init__(self
, results
=None):
5568 results : typing.Sequence<+T_co>[~ConfigSettingsResult]<~ConfigSettingsResult>
5570 self
.results
= [ConfigSettingsResult
.from_json(o
) for o
in results
or []]
5573 class Endpoint(Type
):
5574 _toSchema
= {'application_name': 'application-name', 'relation': 'relation'}
5575 _toPy
= {'relation': 'relation', 'application-name': 'application_name'}
5576 def __init__(self
, application_name
=None, relation
=None):
5578 application_name : str
5579 relation : CharmRelation
5581 self
.application_name
= application_name
5582 self
.relation
= CharmRelation
.from_json(relation
) if relation
else None
5585 class EntitiesCharmURL(Type
):
5586 _toSchema
= {'entities': 'entities'}
5587 _toPy
= {'entities': 'entities'}
5588 def __init__(self
, entities
=None):
5590 entities : typing.Sequence<+T_co>[~EntityCharmURL]<~EntityCharmURL>
5592 self
.entities
= [EntityCharmURL
.from_json(o
) for o
in entities
or []]
5595 class EntitiesPortRanges(Type
):
5596 _toSchema
= {'entities': 'entities'}
5597 _toPy
= {'entities': 'entities'}
5598 def __init__(self
, entities
=None):
5600 entities : typing.Sequence<+T_co>[~EntityPortRange]<~EntityPortRange>
5602 self
.entities
= [EntityPortRange
.from_json(o
) for o
in entities
or []]
5605 class EntityCharmURL(Type
):
5606 _toSchema
= {'charm_url': 'charm-url', 'tag': 'tag'}
5607 _toPy
= {'charm-url': 'charm_url', 'tag': 'tag'}
5608 def __init__(self
, charm_url
=None, tag
=None):
5613 self
.charm_url
= charm_url
5617 class EntityPortRange(Type
):
5618 _toSchema
= {'from_port': 'from-port', 'tag': 'tag', 'protocol': 'protocol', 'to_port': 'to-port'}
5619 _toPy
= {'tag': 'tag', 'from-port': 'from_port', 'protocol': 'protocol', 'to-port': 'to_port'}
5620 def __init__(self
, from_port
=None, protocol
=None, tag
=None, to_port
=None):
5627 self
.from_port
= from_port
5628 self
.protocol
= protocol
5630 self
.to_port
= to_port
5633 class EntityWorkloadVersion(Type
):
5634 _toSchema
= {'tag': 'tag', 'workload_version': 'workload-version'}
5635 _toPy
= {'tag': 'tag', 'workload-version': 'workload_version'}
5636 def __init__(self
, tag
=None, workload_version
=None):
5639 workload_version : str
5642 self
.workload_version
= workload_version
5645 class EntityWorkloadVersions(Type
):
5646 _toSchema
= {'entities': 'entities'}
5647 _toPy
= {'entities': 'entities'}
5648 def __init__(self
, entities
=None):
5650 entities : typing.Sequence<+T_co>[~EntityWorkloadVersion]<~EntityWorkloadVersion>
5652 self
.entities
= [EntityWorkloadVersion
.from_json(o
) for o
in entities
or []]
5655 class GetLeadershipSettingsBulkResults(Type
):
5656 _toSchema
= {'results': 'results'}
5657 _toPy
= {'results': 'results'}
5658 def __init__(self
, results
=None):
5660 results : typing.Sequence<+T_co>[~GetLeadershipSettingsResult]<~GetLeadershipSettingsResult>
5662 self
.results
= [GetLeadershipSettingsResult
.from_json(o
) for o
in results
or []]
5665 class GetLeadershipSettingsResult(Type
):
5666 _toSchema
= {'error': 'error', 'settings': 'settings'}
5667 _toPy
= {'error': 'error', 'settings': 'settings'}
5668 def __init__(self
, error
=None, settings
=None):
5671 settings : typing.Mapping<~KT, +VT_co>[str, str]
5673 self
.error
= Error
.from_json(error
) if error
else None
5674 self
.settings
= settings
5677 class IntResult(Type
):
5678 _toSchema
= {'result': 'result', 'error': 'error'}
5679 _toPy
= {'result': 'result', 'error': 'error'}
5680 def __init__(self
, error
=None, result
=None):
5685 self
.error
= Error
.from_json(error
) if error
else None
5686 self
.result
= result
5689 class IntResults(Type
):
5690 _toSchema
= {'results': 'results'}
5691 _toPy
= {'results': 'results'}
5692 def __init__(self
, results
=None):
5694 results : typing.Sequence<+T_co>[~IntResult]<~IntResult>
5696 self
.results
= [IntResult
.from_json(o
) for o
in results
or []]
5699 class MergeLeadershipSettingsBulkParams(Type
):
5700 _toSchema
= {'params': 'params'}
5701 _toPy
= {'params': 'params'}
5702 def __init__(self
, params
=None):
5704 params : typing.Sequence<+T_co>[~MergeLeadershipSettingsParam]<~MergeLeadershipSettingsParam>
5706 self
.params
= [MergeLeadershipSettingsParam
.from_json(o
) for o
in params
or []]
5709 class MergeLeadershipSettingsParam(Type
):
5710 _toSchema
= {'application_tag': 'application-tag', 'settings': 'settings'}
5711 _toPy
= {'settings': 'settings', 'application-tag': 'application_tag'}
5712 def __init__(self
, application_tag
=None, settings
=None):
5714 application_tag : str
5715 settings : typing.Mapping<~KT, +VT_co>[str, str]
5717 self
.application_tag
= application_tag
5718 self
.settings
= settings
5721 class ModelResult(Type
):
5722 _toSchema
= {'error': 'error', 'uuid': 'uuid', 'name': 'name'}
5723 _toPy
= {'error': 'error', 'uuid': 'uuid', 'name': 'name'}
5724 def __init__(self
, error
=None, name
=None, uuid
=None):
5730 self
.error
= Error
.from_json(error
) if error
else None
5735 class RelationIds(Type
):
5736 _toSchema
= {'relation_ids': 'relation-ids'}
5737 _toPy
= {'relation-ids': 'relation_ids'}
5738 def __init__(self
, relation_ids
=None):
5740 relation_ids : typing.Sequence<+T_co>[int]
5742 self
.relation_ids
= relation_ids
5745 class RelationResult(Type
):
5746 _toSchema
= {'key': 'key', 'life': 'life', 'error': 'error', 'id_': 'id', 'endpoint': 'endpoint'}
5747 _toPy
= {'key': 'key', 'id': 'id_', 'life': 'life', 'error': 'error', 'endpoint': 'endpoint'}
5748 def __init__(self
, endpoint
=None, error
=None, id_
=None, key
=None, life
=None):
5756 self
.endpoint
= Endpoint
.from_json(endpoint
) if endpoint
else None
5757 self
.error
= Error
.from_json(error
) if error
else None
5763 class RelationResults(Type
):
5764 _toSchema
= {'results': 'results'}
5765 _toPy
= {'results': 'results'}
5766 def __init__(self
, results
=None):
5768 results : typing.Sequence<+T_co>[~RelationResult]<~RelationResult>
5770 self
.results
= [RelationResult
.from_json(o
) for o
in results
or []]
5773 class RelationUnit(Type
):
5774 _toSchema
= {'relation': 'relation', 'unit': 'unit'}
5775 _toPy
= {'relation': 'relation', 'unit': 'unit'}
5776 def __init__(self
, relation
=None, unit
=None):
5781 self
.relation
= relation
5785 class RelationUnitPair(Type
):
5786 _toSchema
= {'remote_unit': 'remote-unit', 'relation': 'relation', 'local_unit': 'local-unit'}
5787 _toPy
= {'relation': 'relation', 'remote-unit': 'remote_unit', 'local-unit': 'local_unit'}
5788 def __init__(self
, local_unit
=None, relation
=None, remote_unit
=None):
5794 self
.local_unit
= local_unit
5795 self
.relation
= relation
5796 self
.remote_unit
= remote_unit
5799 class RelationUnitPairs(Type
):
5800 _toSchema
= {'relation_unit_pairs': 'relation-unit-pairs'}
5801 _toPy
= {'relation-unit-pairs': 'relation_unit_pairs'}
5802 def __init__(self
, relation_unit_pairs
=None):
5804 relation_unit_pairs : typing.Sequence<+T_co>[~RelationUnitPair]<~RelationUnitPair>
5806 self
.relation_unit_pairs
= [RelationUnitPair
.from_json(o
) for o
in relation_unit_pairs
or []]
5809 class RelationUnitSettings(Type
):
5810 _toSchema
= {'relation': 'relation', 'unit': 'unit', 'settings': 'settings'}
5811 _toPy
= {'relation': 'relation', 'unit': 'unit', 'settings': 'settings'}
5812 def __init__(self
, relation
=None, settings
=None, unit
=None):
5815 settings : typing.Mapping<~KT, +VT_co>[str, str]
5818 self
.relation
= relation
5819 self
.settings
= settings
5823 class RelationUnits(Type
):
5824 _toSchema
= {'relation_units': 'relation-units'}
5825 _toPy
= {'relation-units': 'relation_units'}
5826 def __init__(self
, relation_units
=None):
5828 relation_units : typing.Sequence<+T_co>[~RelationUnit]<~RelationUnit>
5830 self
.relation_units
= [RelationUnit
.from_json(o
) for o
in relation_units
or []]
5833 class RelationUnitsSettings(Type
):
5834 _toSchema
= {'relation_units': 'relation-units'}
5835 _toPy
= {'relation-units': 'relation_units'}
5836 def __init__(self
, relation_units
=None):
5838 relation_units : typing.Sequence<+T_co>[~RelationUnitSettings]<~RelationUnitSettings>
5840 self
.relation_units
= [RelationUnitSettings
.from_json(o
) for o
in relation_units
or []]
5843 class RelationUnitsWatchResults(Type
):
5844 _toSchema
= {'results': 'results'}
5845 _toPy
= {'results': 'results'}
5846 def __init__(self
, results
=None):
5848 results : typing.Sequence<+T_co>[~RelationUnitsWatchResult]<~RelationUnitsWatchResult>
5850 self
.results
= [RelationUnitsWatchResult
.from_json(o
) for o
in results
or []]
5853 class ResolvedModeResult(Type
):
5854 _toSchema
= {'mode': 'mode', 'error': 'error'}
5855 _toPy
= {'mode': 'mode', 'error': 'error'}
5856 def __init__(self
, error
=None, mode
=None):
5861 self
.error
= Error
.from_json(error
) if error
else None
5865 class ResolvedModeResults(Type
):
5866 _toSchema
= {'results': 'results'}
5867 _toPy
= {'results': 'results'}
5868 def __init__(self
, results
=None):
5870 results : typing.Sequence<+T_co>[~ResolvedModeResult]<~ResolvedModeResult>
5872 self
.results
= [ResolvedModeResult
.from_json(o
) for o
in results
or []]
5875 class SettingsResult(Type
):
5876 _toSchema
= {'error': 'error', 'settings': 'settings'}
5877 _toPy
= {'error': 'error', 'settings': 'settings'}
5878 def __init__(self
, error
=None, settings
=None):
5881 settings : typing.Mapping<~KT, +VT_co>[str, str]
5883 self
.error
= Error
.from_json(error
) if error
else None
5884 self
.settings
= settings
5887 class SettingsResults(Type
):
5888 _toSchema
= {'results': 'results'}
5889 _toPy
= {'results': 'results'}
5890 def __init__(self
, results
=None):
5892 results : typing.Sequence<+T_co>[~SettingsResult]<~SettingsResult>
5894 self
.results
= [SettingsResult
.from_json(o
) for o
in results
or []]
5897 class StorageAttachment(Type
):
5898 _toSchema
= {'storage_tag': 'storage-tag', 'owner_tag': 'owner-tag', 'unit_tag': 'unit-tag', 'life': 'life', 'kind': 'kind', 'location': 'location'}
5899 _toPy
= {'unit-tag': 'unit_tag', 'kind': 'kind', 'storage-tag': 'storage_tag', 'owner-tag': 'owner_tag', 'location': 'location', 'life': 'life'}
5900 def __init__(self
, kind
=None, life
=None, location
=None, owner_tag
=None, storage_tag
=None, unit_tag
=None):
5911 self
.location
= location
5912 self
.owner_tag
= owner_tag
5913 self
.storage_tag
= storage_tag
5914 self
.unit_tag
= unit_tag
5917 class StorageAttachmentId(Type
):
5918 _toSchema
= {'storage_tag': 'storage-tag', 'unit_tag': 'unit-tag'}
5919 _toPy
= {'unit-tag': 'unit_tag', 'storage-tag': 'storage_tag'}
5920 def __init__(self
, storage_tag
=None, unit_tag
=None):
5925 self
.storage_tag
= storage_tag
5926 self
.unit_tag
= unit_tag
5929 class StorageAttachmentIds(Type
):
5930 _toSchema
= {'ids': 'ids'}
5931 _toPy
= {'ids': 'ids'}
5932 def __init__(self
, ids
=None):
5934 ids : typing.Sequence<+T_co>[~StorageAttachmentId]<~StorageAttachmentId>
5936 self
.ids
= [StorageAttachmentId
.from_json(o
) for o
in ids
or []]
5939 class StorageAttachmentIdsResult(Type
):
5940 _toSchema
= {'result': 'result', 'error': 'error'}
5941 _toPy
= {'result': 'result', 'error': 'error'}
5942 def __init__(self
, error
=None, result
=None):
5945 result : StorageAttachmentIds
5947 self
.error
= Error
.from_json(error
) if error
else None
5948 self
.result
= StorageAttachmentIds
.from_json(result
) if result
else None
5951 class StorageAttachmentIdsResults(Type
):
5952 _toSchema
= {'results': 'results'}
5953 _toPy
= {'results': 'results'}
5954 def __init__(self
, results
=None):
5956 results : typing.Sequence<+T_co>[~StorageAttachmentIdsResult]<~StorageAttachmentIdsResult>
5958 self
.results
= [StorageAttachmentIdsResult
.from_json(o
) for o
in results
or []]
5961 class StorageAttachmentResult(Type
):
5962 _toSchema
= {'result': 'result', 'error': 'error'}
5963 _toPy
= {'result': 'result', 'error': 'error'}
5964 def __init__(self
, error
=None, result
=None):
5967 result : StorageAttachment
5969 self
.error
= Error
.from_json(error
) if error
else None
5970 self
.result
= StorageAttachment
.from_json(result
) if result
else None
5973 class StorageAttachmentResults(Type
):
5974 _toSchema
= {'results': 'results'}
5975 _toPy
= {'results': 'results'}
5976 def __init__(self
, results
=None):
5978 results : typing.Sequence<+T_co>[~StorageAttachmentResult]<~StorageAttachmentResult>
5980 self
.results
= [StorageAttachmentResult
.from_json(o
) for o
in results
or []]
5983 class StringBoolResult(Type
):
5984 _toSchema
= {'result': 'result', 'ok': 'ok', 'error': 'error'}
5985 _toPy
= {'result': 'result', 'ok': 'ok', 'error': 'error'}
5986 def __init__(self
, error
=None, ok
=None, result
=None):
5992 self
.error
= Error
.from_json(error
) if error
else None
5994 self
.result
= result
5997 class StringBoolResults(Type
):
5998 _toSchema
= {'results': 'results'}
5999 _toPy
= {'results': 'results'}
6000 def __init__(self
, results
=None):
6002 results : typing.Sequence<+T_co>[~StringBoolResult]<~StringBoolResult>
6004 self
.results
= [StringBoolResult
.from_json(o
) for o
in results
or []]
6007 class UnitNetworkConfig(Type
):
6008 _toSchema
= {'unit_tag': 'unit-tag', 'binding_name': 'binding-name'}
6009 _toPy
= {'unit-tag': 'unit_tag', 'binding-name': 'binding_name'}
6010 def __init__(self
, binding_name
=None, unit_tag
=None):
6015 self
.binding_name
= binding_name
6016 self
.unit_tag
= unit_tag
6019 class UnitNetworkConfigResult(Type
):
6020 _toSchema
= {'error': 'error', 'info': 'info'}
6021 _toPy
= {'error': 'error', 'info': 'info'}
6022 def __init__(self
, error
=None, info
=None):
6025 info : typing.Sequence<+T_co>[~NetworkConfig]<~NetworkConfig>
6027 self
.error
= Error
.from_json(error
) if error
else None
6028 self
.info
= [NetworkConfig
.from_json(o
) for o
in info
or []]
6031 class UnitNetworkConfigResults(Type
):
6032 _toSchema
= {'results': 'results'}
6033 _toPy
= {'results': 'results'}
6034 def __init__(self
, results
=None):
6036 results : typing.Sequence<+T_co>[~UnitNetworkConfigResult]<~UnitNetworkConfigResult>
6038 self
.results
= [UnitNetworkConfigResult
.from_json(o
) for o
in results
or []]
6041 class UnitsNetworkConfig(Type
):
6042 _toSchema
= {'args': 'args'}
6043 _toPy
= {'args': 'args'}
6044 def __init__(self
, args
=None):
6046 args : typing.Sequence<+T_co>[~UnitNetworkConfig]<~UnitNetworkConfig>
6048 self
.args
= [UnitNetworkConfig
.from_json(o
) for o
in args
or []]
6051 class EntitiesVersion(Type
):
6052 _toSchema
= {'agent_tools': 'agent-tools'}
6053 _toPy
= {'agent-tools': 'agent_tools'}
6054 def __init__(self
, agent_tools
=None):
6056 agent_tools : typing.Sequence<+T_co>[~EntityVersion]<~EntityVersion>
6058 self
.agent_tools
= [EntityVersion
.from_json(o
) for o
in agent_tools
or []]
6061 class EntityVersion(Type
):
6062 _toSchema
= {'tag': 'tag', 'tools': 'tools'}
6063 _toPy
= {'tag': 'tag', 'tools': 'tools'}
6064 def __init__(self
, tag
=None, tools
=None):
6070 self
.tools
= Version
.from_json(tools
) if tools
else None
6073 class Version(Type
):
6074 _toSchema
= {'version': 'version'}
6075 _toPy
= {'version': 'version'}
6076 def __init__(self
, version
=None):
6080 self
.version
= Binary
.from_json(version
) if version
else None
6083 class VersionResult(Type
):
6084 _toSchema
= {'version': 'version', 'error': 'error'}
6085 _toPy
= {'version': 'version', 'error': 'error'}
6086 def __init__(self
, error
=None, version
=None):
6091 self
.error
= Error
.from_json(error
) if error
else None
6092 self
.version
= Number
.from_json(version
) if version
else None
6095 class VersionResults(Type
):
6096 _toSchema
= {'results': 'results'}
6097 _toPy
= {'results': 'results'}
6098 def __init__(self
, results
=None):
6100 results : typing.Sequence<+T_co>[~VersionResult]<~VersionResult>
6102 self
.results
= [VersionResult
.from_json(o
) for o
in results
or []]
6105 class AddUser(Type
):
6106 _toSchema
= {'display_name': 'display-name', 'password': 'password', 'username': 'username'}
6107 _toPy
= {'password': 'password', 'username': 'username', 'display-name': 'display_name'}
6108 def __init__(self
, display_name
=None, password
=None, username
=None):
6114 self
.display_name
= display_name
6115 self
.password
= password
6116 self
.username
= username
6119 class AddUserResult(Type
):
6120 _toSchema
= {'tag': 'tag', 'error': 'error', 'secret_key': 'secret-key'}
6121 _toPy
= {'tag': 'tag', 'error': 'error', 'secret-key': 'secret_key'}
6122 def __init__(self
, error
=None, secret_key
=None, tag
=None):
6125 secret_key : typing.Sequence<+T_co>[int]
6128 self
.error
= Error
.from_json(error
) if error
else None
6129 self
.secret_key
= secret_key
6133 class AddUserResults(Type
):
6134 _toSchema
= {'results': 'results'}
6135 _toPy
= {'results': 'results'}
6136 def __init__(self
, results
=None):
6138 results : typing.Sequence<+T_co>[~AddUserResult]<~AddUserResult>
6140 self
.results
= [AddUserResult
.from_json(o
) for o
in results
or []]
6143 class AddUsers(Type
):
6144 _toSchema
= {'users': 'users'}
6145 _toPy
= {'users': 'users'}
6146 def __init__(self
, users
=None):
6148 users : typing.Sequence<+T_co>[~AddUser]<~AddUser>
6150 self
.users
= [AddUser
.from_json(o
) for o
in users
or []]
6153 class MacaroonResult(Type
):
6154 _toSchema
= {'result': 'result', 'error': 'error'}
6155 _toPy
= {'result': 'result', 'error': 'error'}
6156 def __init__(self
, error
=None, result
=None):
6161 self
.error
= Error
.from_json(error
) if error
else None
6162 self
.result
= Macaroon
.from_json(result
) if result
else None
6165 class MacaroonResults(Type
):
6166 _toSchema
= {'results': 'results'}
6167 _toPy
= {'results': 'results'}
6168 def __init__(self
, results
=None):
6170 results : typing.Sequence<+T_co>[~MacaroonResult]<~MacaroonResult>
6172 self
.results
= [MacaroonResult
.from_json(o
) for o
in results
or []]
6175 class UserInfo(Type
):
6176 _toSchema
= {'display_name': 'display-name', 'last_connection': 'last-connection', 'disabled': 'disabled', 'date_created': 'date-created', 'username': 'username', 'access': 'access', 'created_by': 'created-by'}
6177 _toPy
= {'disabled': 'disabled', 'last-connection': 'last_connection', 'display-name': 'display_name', 'created-by': 'created_by', 'access': 'access', 'date-created': 'date_created', 'username': 'username'}
6178 def __init__(self
, access
=None, created_by
=None, date_created
=None, disabled
=None, display_name
=None, last_connection
=None, username
=None):
6185 last_connection : str
6188 self
.access
= access
6189 self
.created_by
= created_by
6190 self
.date_created
= date_created
6191 self
.disabled
= disabled
6192 self
.display_name
= display_name
6193 self
.last_connection
= last_connection
6194 self
.username
= username
6197 class UserInfoRequest(Type
):
6198 _toSchema
= {'include_disabled': 'include-disabled', 'entities': 'entities'}
6199 _toPy
= {'entities': 'entities', 'include-disabled': 'include_disabled'}
6200 def __init__(self
, entities
=None, include_disabled
=None):
6202 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6203 include_disabled : bool
6205 self
.entities
= [Entity
.from_json(o
) for o
in entities
or []]
6206 self
.include_disabled
= include_disabled
6209 class UserInfoResult(Type
):
6210 _toSchema
= {'result': 'result', 'error': 'error'}
6211 _toPy
= {'result': 'result', 'error': 'error'}
6212 def __init__(self
, error
=None, result
=None):
6217 self
.error
= Error
.from_json(error
) if error
else None
6218 self
.result
= UserInfo
.from_json(result
) if result
else None
6221 class UserInfoResults(Type
):
6222 _toSchema
= {'results': 'results'}
6223 _toPy
= {'results': 'results'}
6224 def __init__(self
, results
=None):
6226 results : typing.Sequence<+T_co>[~UserInfoResult]<~UserInfoResult>
6228 self
.results
= [UserInfoResult
.from_json(o
) for o
in results
or []]
6231 class ActionFacade(Type
):
6234 schema
= {'definitions': {'Action': {'additionalProperties': False,
6235 'properties': {'name': {'type': 'string'},
6236 'parameters': {'patternProperties': {'.*': {'additionalProperties': True,
6239 'receiver': {'type': 'string'},
6240 'tag': {'type': 'string'}},
6241 'required': ['tag', 'receiver', 'name'],
6243 'ActionResult': {'additionalProperties': False,
6244 'properties': {'action': {'$ref': '#/definitions/Action'},
6245 'completed': {'format': 'date-time',
6247 'enqueued': {'format': 'date-time',
6249 'error': {'$ref': '#/definitions/Error'},
6250 'message': {'type': 'string'},
6251 'output': {'patternProperties': {'.*': {'additionalProperties': True,
6254 'started': {'format': 'date-time',
6256 'status': {'type': 'string'}},
6258 'ActionResults': {'additionalProperties': False,
6259 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'},
6262 'ActionSpec': {'additionalProperties': False,
6263 'properties': {'description': {'type': 'string'},
6264 'params': {'patternProperties': {'.*': {'additionalProperties': True,
6267 'required': ['description', 'params'],
6269 'Actions': {'additionalProperties': False,
6270 'properties': {'actions': {'items': {'$ref': '#/definitions/Action'},
6273 'ActionsByName': {'additionalProperties': False,
6274 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'},
6276 'error': {'$ref': '#/definitions/Error'},
6277 'name': {'type': 'string'}},
6279 'ActionsByNames': {'additionalProperties': False,
6280 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByName'},
6283 'ActionsByReceiver': {'additionalProperties': False,
6284 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'},
6286 'error': {'$ref': '#/definitions/Error'},
6287 'receiver': {'type': 'string'}},
6289 'ActionsByReceivers': {'additionalProperties': False,
6290 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByReceiver'},
6293 'ApplicationCharmActionsResult': {'additionalProperties': False,
6294 'properties': {'actions': {'patternProperties': {'.*': {'$ref': '#/definitions/ActionSpec'}},
6296 'application-tag': {'type': 'string'},
6297 'error': {'$ref': '#/definitions/Error'}},
6299 'ApplicationsCharmActionsResults': {'additionalProperties': False,
6300 'properties': {'results': {'items': {'$ref': '#/definitions/ApplicationCharmActionsResult'},
6303 'Entities': {'additionalProperties': False,
6304 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
6306 'required': ['entities'],
6308 'Entity': {'additionalProperties': False,
6309 'properties': {'tag': {'type': 'string'}},
6310 'required': ['tag'],
6312 'Error': {'additionalProperties': False,
6313 'properties': {'code': {'type': 'string'},
6314 'info': {'$ref': '#/definitions/ErrorInfo'},
6315 'message': {'type': 'string'}},
6316 'required': ['message', 'code'],
6318 'ErrorInfo': {'additionalProperties': False,
6319 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
6320 'macaroon-path': {'type': 'string'}},
6322 'FindActionsByNames': {'additionalProperties': False,
6323 'properties': {'names': {'items': {'type': 'string'},
6326 'FindTags': {'additionalProperties': False,
6327 'properties': {'prefixes': {'items': {'type': 'string'},
6329 'required': ['prefixes'],
6331 'FindTagsResults': {'additionalProperties': False,
6332 'properties': {'matches': {'patternProperties': {'.*': {'items': {'$ref': '#/definitions/Entity'},
6335 'required': ['matches'],
6337 'Macaroon': {'additionalProperties': False, 'type': 'object'},
6338 'RunParams': {'additionalProperties': False,
6339 'properties': {'applications': {'items': {'type': 'string'},
6341 'commands': {'type': 'string'},
6342 'machines': {'items': {'type': 'string'},
6344 'timeout': {'type': 'integer'},
6345 'units': {'items': {'type': 'string'},
6347 'required': ['commands', 'timeout'],
6349 'properties': {'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6350 'Result': {'$ref': '#/definitions/ActionResults'}},
6352 'ApplicationsCharmsActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6353 'Result': {'$ref': '#/definitions/ApplicationsCharmActionsResults'}},
6355 'Cancel': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6356 'Result': {'$ref': '#/definitions/ActionResults'}},
6358 'Enqueue': {'properties': {'Params': {'$ref': '#/definitions/Actions'},
6359 'Result': {'$ref': '#/definitions/ActionResults'}},
6361 'FindActionTagsByPrefix': {'properties': {'Params': {'$ref': '#/definitions/FindTags'},
6362 'Result': {'$ref': '#/definitions/FindTagsResults'}},
6364 'FindActionsByNames': {'properties': {'Params': {'$ref': '#/definitions/FindActionsByNames'},
6365 'Result': {'$ref': '#/definitions/ActionsByNames'}},
6367 'ListAll': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6368 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
6370 'ListCompleted': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6371 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
6373 'ListPending': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6374 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
6376 'ListRunning': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6377 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
6379 'Run': {'properties': {'Params': {'$ref': '#/definitions/RunParams'},
6380 'Result': {'$ref': '#/definitions/ActionResults'}},
6382 'RunOnAllMachines': {'properties': {'Params': {'$ref': '#/definitions/RunParams'},
6383 'Result': {'$ref': '#/definitions/ActionResults'}},
6388 @ReturnMapping(ActionResults
)
6389 async def Actions(self
, entities
):
6391 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6392 Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
6394 # map input types to rpc msg
6396 msg
= dict(type='Action', request
='Actions', version
=2, params
=params
)
6397 params
['entities'] = entities
6398 reply
= await self
.rpc(msg
)
6403 @ReturnMapping(ApplicationsCharmActionsResults
)
6404 async def ApplicationsCharmsActions(self
, entities
):
6406 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6407 Returns -> typing.Sequence<+T_co>[~ApplicationCharmActionsResult]<~ApplicationCharmActionsResult>
6409 # map input types to rpc msg
6411 msg
= dict(type='Action', request
='ApplicationsCharmsActions', version
=2, params
=params
)
6412 params
['entities'] = entities
6413 reply
= await self
.rpc(msg
)
6418 @ReturnMapping(ActionResults
)
6419 async def Cancel(self
, entities
):
6421 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6422 Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
6424 # map input types to rpc msg
6426 msg
= dict(type='Action', request
='Cancel', version
=2, params
=params
)
6427 params
['entities'] = entities
6428 reply
= await self
.rpc(msg
)
6433 @ReturnMapping(ActionResults
)
6434 async def Enqueue(self
, actions
):
6436 actions : typing.Sequence<+T_co>[~Action]<~Action>
6437 Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
6439 # map input types to rpc msg
6441 msg
= dict(type='Action', request
='Enqueue', version
=2, params
=params
)
6442 params
['actions'] = actions
6443 reply
= await self
.rpc(msg
)
6448 @ReturnMapping(FindTagsResults
)
6449 async def FindActionTagsByPrefix(self
, prefixes
):
6451 prefixes : typing.Sequence<+T_co>[str]
6452 Returns -> typing.Sequence<+T_co>[~Entity]<~Entity>
6454 # map input types to rpc msg
6456 msg
= dict(type='Action', request
='FindActionTagsByPrefix', version
=2, params
=params
)
6457 params
['prefixes'] = prefixes
6458 reply
= await self
.rpc(msg
)
6463 @ReturnMapping(ActionsByNames
)
6464 async def FindActionsByNames(self
, names
):
6466 names : typing.Sequence<+T_co>[str]
6467 Returns -> typing.Sequence<+T_co>[~ActionsByName]<~ActionsByName>
6469 # map input types to rpc msg
6471 msg
= dict(type='Action', request
='FindActionsByNames', version
=2, params
=params
)
6472 params
['names'] = names
6473 reply
= await self
.rpc(msg
)
6478 @ReturnMapping(ActionsByReceivers
)
6479 async def ListAll(self
, entities
):
6481 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6482 Returns -> typing.Sequence<+T_co>[~ActionsByReceiver]<~ActionsByReceiver>
6484 # map input types to rpc msg
6486 msg
= dict(type='Action', request
='ListAll', version
=2, params
=params
)
6487 params
['entities'] = entities
6488 reply
= await self
.rpc(msg
)
6493 @ReturnMapping(ActionsByReceivers
)
6494 async def ListCompleted(self
, entities
):
6496 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6497 Returns -> typing.Sequence<+T_co>[~ActionsByReceiver]<~ActionsByReceiver>
6499 # map input types to rpc msg
6501 msg
= dict(type='Action', request
='ListCompleted', version
=2, params
=params
)
6502 params
['entities'] = entities
6503 reply
= await self
.rpc(msg
)
6508 @ReturnMapping(ActionsByReceivers
)
6509 async def ListPending(self
, entities
):
6511 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6512 Returns -> typing.Sequence<+T_co>[~ActionsByReceiver]<~ActionsByReceiver>
6514 # map input types to rpc msg
6516 msg
= dict(type='Action', request
='ListPending', version
=2, params
=params
)
6517 params
['entities'] = entities
6518 reply
= await self
.rpc(msg
)
6523 @ReturnMapping(ActionsByReceivers
)
6524 async def ListRunning(self
, entities
):
6526 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6527 Returns -> typing.Sequence<+T_co>[~ActionsByReceiver]<~ActionsByReceiver>
6529 # map input types to rpc msg
6531 msg
= dict(type='Action', request
='ListRunning', version
=2, params
=params
)
6532 params
['entities'] = entities
6533 reply
= await self
.rpc(msg
)
6538 @ReturnMapping(ActionResults
)
6539 async def Run(self
, applications
, commands
, machines
, timeout
, units
):
6541 applications : typing.Sequence<+T_co>[str]
6543 machines : typing.Sequence<+T_co>[str]
6545 units : typing.Sequence<+T_co>[str]
6546 Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
6548 # map input types to rpc msg
6550 msg
= dict(type='Action', request
='Run', version
=2, params
=params
)
6551 params
['applications'] = applications
6552 params
['commands'] = commands
6553 params
['machines'] = machines
6554 params
['timeout'] = timeout
6555 params
['units'] = units
6556 reply
= await self
.rpc(msg
)
6561 @ReturnMapping(ActionResults
)
6562 async def RunOnAllMachines(self
, applications
, commands
, machines
, timeout
, units
):
6564 applications : typing.Sequence<+T_co>[str]
6566 machines : typing.Sequence<+T_co>[str]
6568 units : typing.Sequence<+T_co>[str]
6569 Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
6571 # map input types to rpc msg
6573 msg
= dict(type='Action', request
='RunOnAllMachines', version
=2, params
=params
)
6574 params
['applications'] = applications
6575 params
['commands'] = commands
6576 params
['machines'] = machines
6577 params
['timeout'] = timeout
6578 params
['units'] = units
6579 reply
= await self
.rpc(msg
)
6583 class AgentFacade(Type
):
6586 schema
= {'definitions': {'AgentGetEntitiesResult': {'additionalProperties': False,
6587 'properties': {'container-type': {'type': 'string'},
6588 'error': {'$ref': '#/definitions/Error'},
6589 'jobs': {'items': {'type': 'string'},
6591 'life': {'type': 'string'}},
6592 'required': ['life',
6596 'AgentGetEntitiesResults': {'additionalProperties': False,
6597 'properties': {'entities': {'items': {'$ref': '#/definitions/AgentGetEntitiesResult'},
6599 'required': ['entities'],
6601 'CloudCredential': {'additionalProperties': False,
6602 'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}},
6604 'auth-type': {'type': 'string'},
6605 'redacted': {'items': {'type': 'string'},
6607 'required': ['auth-type'],
6609 'CloudSpec': {'additionalProperties': False,
6610 'properties': {'credential': {'$ref': '#/definitions/CloudCredential'},
6611 'endpoint': {'type': 'string'},
6612 'identity-endpoint': {'type': 'string'},
6613 'name': {'type': 'string'},
6614 'region': {'type': 'string'},
6615 'storage-endpoint': {'type': 'string'},
6616 'type': {'type': 'string'}},
6617 'required': ['type', 'name'],
6619 'CloudSpecResult': {'additionalProperties': False,
6620 'properties': {'error': {'$ref': '#/definitions/Error'},
6621 'result': {'$ref': '#/definitions/CloudSpec'}},
6623 'CloudSpecResults': {'additionalProperties': False,
6624 'properties': {'results': {'items': {'$ref': '#/definitions/CloudSpecResult'},
6627 'ControllerConfigResult': {'additionalProperties': False,
6628 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
6631 'required': ['config'],
6633 'Entities': {'additionalProperties': False,
6634 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
6636 'required': ['entities'],
6638 'Entity': {'additionalProperties': False,
6639 'properties': {'tag': {'type': 'string'}},
6640 'required': ['tag'],
6642 'EntityPassword': {'additionalProperties': False,
6643 'properties': {'password': {'type': 'string'},
6644 'tag': {'type': 'string'}},
6645 'required': ['tag', 'password'],
6647 'EntityPasswords': {'additionalProperties': False,
6648 'properties': {'changes': {'items': {'$ref': '#/definitions/EntityPassword'},
6650 'required': ['changes'],
6652 'Error': {'additionalProperties': False,
6653 'properties': {'code': {'type': 'string'},
6654 'info': {'$ref': '#/definitions/ErrorInfo'},
6655 'message': {'type': 'string'}},
6656 'required': ['message', 'code'],
6658 'ErrorInfo': {'additionalProperties': False,
6659 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
6660 'macaroon-path': {'type': 'string'}},
6662 'ErrorResult': {'additionalProperties': False,
6663 'properties': {'error': {'$ref': '#/definitions/Error'}},
6665 'ErrorResults': {'additionalProperties': False,
6666 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
6668 'required': ['results'],
6670 'IsMasterResult': {'additionalProperties': False,
6671 'properties': {'master': {'type': 'boolean'}},
6672 'required': ['master'],
6674 'Macaroon': {'additionalProperties': False, 'type': 'object'},
6675 'ModelConfigResult': {'additionalProperties': False,
6676 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
6679 'required': ['config'],
6681 'NotifyWatchResult': {'additionalProperties': False,
6682 'properties': {'NotifyWatcherId': {'type': 'string'},
6683 'error': {'$ref': '#/definitions/Error'}},
6684 'required': ['NotifyWatcherId'],
6686 'StateServingInfo': {'additionalProperties': False,
6687 'properties': {'api-port': {'type': 'integer'},
6688 'ca-private-key': {'type': 'string'},
6689 'cert': {'type': 'string'},
6690 'private-key': {'type': 'string'},
6691 'shared-secret': {'type': 'string'},
6692 'state-port': {'type': 'integer'},
6693 'system-identity': {'type': 'string'}},
6694 'required': ['api-port',
6702 'properties': {'ClearReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6703 'Result': {'$ref': '#/definitions/ErrorResults'}},
6705 'CloudSpec': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6706 'Result': {'$ref': '#/definitions/CloudSpecResults'}},
6708 'ControllerConfig': {'properties': {'Result': {'$ref': '#/definitions/ControllerConfigResult'}},
6710 'GetEntities': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6711 'Result': {'$ref': '#/definitions/AgentGetEntitiesResults'}},
6713 'IsMaster': {'properties': {'Result': {'$ref': '#/definitions/IsMasterResult'}},
6715 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
6717 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
6718 'Result': {'$ref': '#/definitions/ErrorResults'}},
6720 'StateServingInfo': {'properties': {'Result': {'$ref': '#/definitions/StateServingInfo'}},
6722 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
6727 @ReturnMapping(ErrorResults
)
6728 async def ClearReboot(self
, entities
):
6730 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6731 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
6733 # map input types to rpc msg
6735 msg
= dict(type='Agent', request
='ClearReboot', version
=2, params
=params
)
6736 params
['entities'] = entities
6737 reply
= await self
.rpc(msg
)
6742 @ReturnMapping(CloudSpecResults
)
6743 async def CloudSpec(self
, entities
):
6745 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6746 Returns -> typing.Sequence<+T_co>[~CloudSpecResult]<~CloudSpecResult>
6748 # map input types to rpc msg
6750 msg
= dict(type='Agent', request
='CloudSpec', version
=2, params
=params
)
6751 params
['entities'] = entities
6752 reply
= await self
.rpc(msg
)
6757 @ReturnMapping(ControllerConfigResult
)
6758 async def ControllerConfig(self
):
6761 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
6763 # map input types to rpc msg
6765 msg
= dict(type='Agent', request
='ControllerConfig', version
=2, params
=params
)
6767 reply
= await self
.rpc(msg
)
6772 @ReturnMapping(AgentGetEntitiesResults
)
6773 async def GetEntities(self
, entities
):
6775 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6776 Returns -> typing.Sequence<+T_co>[~AgentGetEntitiesResult]<~AgentGetEntitiesResult>
6778 # map input types to rpc msg
6780 msg
= dict(type='Agent', request
='GetEntities', version
=2, params
=params
)
6781 params
['entities'] = entities
6782 reply
= await self
.rpc(msg
)
6787 @ReturnMapping(IsMasterResult
)
6788 async def IsMaster(self
):
6793 # map input types to rpc msg
6795 msg
= dict(type='Agent', request
='IsMaster', version
=2, params
=params
)
6797 reply
= await self
.rpc(msg
)
6802 @ReturnMapping(ModelConfigResult
)
6803 async def ModelConfig(self
):
6806 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
6808 # map input types to rpc msg
6810 msg
= dict(type='Agent', request
='ModelConfig', version
=2, params
=params
)
6812 reply
= await self
.rpc(msg
)
6817 @ReturnMapping(ErrorResults
)
6818 async def SetPasswords(self
, changes
):
6820 changes : typing.Sequence<+T_co>[~EntityPassword]<~EntityPassword>
6821 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
6823 # map input types to rpc msg
6825 msg
= dict(type='Agent', request
='SetPasswords', version
=2, params
=params
)
6826 params
['changes'] = changes
6827 reply
= await self
.rpc(msg
)
6832 @ReturnMapping(StateServingInfo
)
6833 async def StateServingInfo(self
):
6836 Returns -> typing.Union[int, str]
6838 # map input types to rpc msg
6840 msg
= dict(type='Agent', request
='StateServingInfo', version
=2, params
=params
)
6842 reply
= await self
.rpc(msg
)
6847 @ReturnMapping(NotifyWatchResult
)
6848 async def WatchForModelConfigChanges(self
):
6851 Returns -> typing.Union[str, _ForwardRef('Error')]
6853 # map input types to rpc msg
6855 msg
= dict(type='Agent', request
='WatchForModelConfigChanges', version
=2, params
=params
)
6857 reply
= await self
.rpc(msg
)
6861 class AgentToolsFacade(Type
):
6864 schema
= {'properties': {'UpdateToolsAvailable': {'type': 'object'}}, 'type': 'object'}
6867 @ReturnMapping(None)
6868 async def UpdateToolsAvailable(self
):
6873 # map input types to rpc msg
6875 msg
= dict(type='AgentTools', request
='UpdateToolsAvailable', version
=1, params
=params
)
6877 reply
= await self
.rpc(msg
)
6881 class AllModelWatcherFacade(Type
):
6882 name
= 'AllModelWatcher'
6884 schema
= {'definitions': {'AllWatcherNextResults': {'additionalProperties': False,
6885 'properties': {'deltas': {'items': {'$ref': '#/definitions/Delta'},
6887 'required': ['deltas'],
6889 'Delta': {'additionalProperties': False,
6890 'properties': {'entity': {'additionalProperties': True,
6892 'removed': {'type': 'boolean'}},
6893 'required': ['removed', 'entity'],
6895 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherNextResults'}},
6897 'Stop': {'type': 'object'}},
6901 @ReturnMapping(AllWatcherNextResults
)
6902 async def Next(self
):
6905 Returns -> typing.Sequence<+T_co>[~Delta]<~Delta>
6907 # map input types to rpc msg
6909 msg
= dict(type='AllModelWatcher', request
='Next', version
=2, params
=params
)
6911 reply
= await self
.rpc(msg
)
6916 @ReturnMapping(None)
6917 async def Stop(self
):
6922 # map input types to rpc msg
6924 msg
= dict(type='AllModelWatcher', request
='Stop', version
=2, params
=params
)
6926 reply
= await self
.rpc(msg
)
6930 class AllWatcherFacade(Type
):
6933 schema
= {'definitions': {'AllWatcherNextResults': {'additionalProperties': False,
6934 'properties': {'deltas': {'items': {'$ref': '#/definitions/Delta'},
6936 'required': ['deltas'],
6938 'Delta': {'additionalProperties': False,
6939 'properties': {'entity': {'additionalProperties': True,
6941 'removed': {'type': 'boolean'}},
6942 'required': ['removed', 'entity'],
6944 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherNextResults'}},
6946 'Stop': {'type': 'object'}},
6950 @ReturnMapping(AllWatcherNextResults
)
6951 async def Next(self
):
6954 Returns -> typing.Sequence<+T_co>[~Delta]<~Delta>
6956 # map input types to rpc msg
6958 msg
= dict(type='AllWatcher', request
='Next', version
=1, params
=params
)
6960 reply
= await self
.rpc(msg
)
6965 @ReturnMapping(None)
6966 async def Stop(self
):
6971 # map input types to rpc msg
6973 msg
= dict(type='AllWatcher', request
='Stop', version
=1, params
=params
)
6975 reply
= await self
.rpc(msg
)
6979 class AnnotationsFacade(Type
):
6980 name
= 'Annotations'
6982 schema
= {'definitions': {'AnnotationsGetResult': {'additionalProperties': False,
6983 'properties': {'annotations': {'patternProperties': {'.*': {'type': 'string'}},
6985 'entity': {'type': 'string'},
6986 'error': {'$ref': '#/definitions/ErrorResult'}},
6987 'required': ['entity', 'annotations'],
6989 'AnnotationsGetResults': {'additionalProperties': False,
6990 'properties': {'results': {'items': {'$ref': '#/definitions/AnnotationsGetResult'},
6992 'required': ['results'],
6994 'AnnotationsSet': {'additionalProperties': False,
6995 'properties': {'annotations': {'items': {'$ref': '#/definitions/EntityAnnotations'},
6997 'required': ['annotations'],
6999 'Entities': {'additionalProperties': False,
7000 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
7002 'required': ['entities'],
7004 'Entity': {'additionalProperties': False,
7005 'properties': {'tag': {'type': 'string'}},
7006 'required': ['tag'],
7008 'EntityAnnotations': {'additionalProperties': False,
7009 'properties': {'annotations': {'patternProperties': {'.*': {'type': 'string'}},
7011 'entity': {'type': 'string'}},
7012 'required': ['entity', 'annotations'],
7014 'Error': {'additionalProperties': False,
7015 'properties': {'code': {'type': 'string'},
7016 'info': {'$ref': '#/definitions/ErrorInfo'},
7017 'message': {'type': 'string'}},
7018 'required': ['message', 'code'],
7020 'ErrorInfo': {'additionalProperties': False,
7021 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
7022 'macaroon-path': {'type': 'string'}},
7024 'ErrorResult': {'additionalProperties': False,
7025 'properties': {'error': {'$ref': '#/definitions/Error'}},
7027 'ErrorResults': {'additionalProperties': False,
7028 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
7030 'required': ['results'],
7032 'Macaroon': {'additionalProperties': False, 'type': 'object'}},
7033 'properties': {'Get': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
7034 'Result': {'$ref': '#/definitions/AnnotationsGetResults'}},
7036 'Set': {'properties': {'Params': {'$ref': '#/definitions/AnnotationsSet'},
7037 'Result': {'$ref': '#/definitions/ErrorResults'}},
7042 @ReturnMapping(AnnotationsGetResults
)
7043 async def Get(self
, entities
):
7045 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
7046 Returns -> typing.Sequence<+T_co>[~AnnotationsGetResult]<~AnnotationsGetResult>
7048 # map input types to rpc msg
7050 msg
= dict(type='Annotations', request
='Get', version
=2, params
=params
)
7051 params
['entities'] = entities
7052 reply
= await self
.rpc(msg
)
7057 @ReturnMapping(ErrorResults
)
7058 async def Set(self
, annotations
):
7060 annotations : typing.Sequence<+T_co>[~EntityAnnotations]<~EntityAnnotations>
7061 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
7063 # map input types to rpc msg
7065 msg
= dict(type='Annotations', request
='Set', version
=2, params
=params
)
7066 params
['annotations'] = annotations
7067 reply
= await self
.rpc(msg
)
7071 class ApplicationFacade(Type
):
7072 name
= 'Application'
7074 schema
= {'definitions': {'AddApplicationUnits': {'additionalProperties': False,
7075 'properties': {'application': {'type': 'string'},
7076 'num-units': {'type': 'integer'},
7077 'placement': {'items': {'$ref': '#/definitions/Placement'},
7079 'required': ['application',
7083 'AddApplicationUnitsResults': {'additionalProperties': False,
7084 'properties': {'units': {'items': {'type': 'string'},
7086 'required': ['units'],
7088 'AddRelation': {'additionalProperties': False,
7089 'properties': {'endpoints': {'items': {'type': 'string'},
7091 'required': ['endpoints'],
7093 'AddRelationResults': {'additionalProperties': False,
7094 'properties': {'endpoints': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmRelation'}},
7096 'required': ['endpoints'],
7098 'ApplicationCharmRelations': {'additionalProperties': False,
7099 'properties': {'application': {'type': 'string'}},
7100 'required': ['application'],
7102 'ApplicationCharmRelationsResults': {'additionalProperties': False,
7103 'properties': {'charm-relations': {'items': {'type': 'string'},
7105 'required': ['charm-relations'],
7107 'ApplicationDeploy': {'additionalProperties': False,
7108 'properties': {'application': {'type': 'string'},
7109 'channel': {'type': 'string'},
7110 'charm-url': {'type': 'string'},
7111 'config': {'patternProperties': {'.*': {'type': 'string'}},
7113 'config-yaml': {'type': 'string'},
7114 'constraints': {'$ref': '#/definitions/Value'},
7115 'endpoint-bindings': {'patternProperties': {'.*': {'type': 'string'}},
7117 'num-units': {'type': 'integer'},
7118 'placement': {'items': {'$ref': '#/definitions/Placement'},
7120 'resources': {'patternProperties': {'.*': {'type': 'string'}},
7122 'series': {'type': 'string'},
7123 'storage': {'patternProperties': {'.*': {'$ref': '#/definitions/Constraints'}},
7125 'required': ['application',
7133 'ApplicationDestroy': {'additionalProperties': False,
7134 'properties': {'application': {'type': 'string'}},
7135 'required': ['application'],
7137 'ApplicationExpose': {'additionalProperties': False,
7138 'properties': {'application': {'type': 'string'}},
7139 'required': ['application'],
7141 'ApplicationGet': {'additionalProperties': False,
7142 'properties': {'application': {'type': 'string'}},
7143 'required': ['application'],
7145 'ApplicationGetResults': {'additionalProperties': False,
7146 'properties': {'application': {'type': 'string'},
7147 'charm': {'type': 'string'},
7148 'config': {'patternProperties': {'.*': {'additionalProperties': True,
7151 'constraints': {'$ref': '#/definitions/Value'},
7152 'series': {'type': 'string'}},
7153 'required': ['application',
7159 'ApplicationMetricCredential': {'additionalProperties': False,
7160 'properties': {'application': {'type': 'string'},
7161 'metrics-credentials': {'items': {'type': 'integer'},
7163 'required': ['application',
7164 'metrics-credentials'],
7166 'ApplicationMetricCredentials': {'additionalProperties': False,
7167 'properties': {'creds': {'items': {'$ref': '#/definitions/ApplicationMetricCredential'},
7169 'required': ['creds'],
7171 'ApplicationSet': {'additionalProperties': False,
7172 'properties': {'application': {'type': 'string'},
7173 'options': {'patternProperties': {'.*': {'type': 'string'}},
7175 'required': ['application', 'options'],
7177 'ApplicationSetCharm': {'additionalProperties': False,
7178 'properties': {'application': {'type': 'string'},
7179 'channel': {'type': 'string'},
7180 'charm-url': {'type': 'string'},
7181 'force-series': {'type': 'boolean'},
7182 'force-units': {'type': 'boolean'},
7183 'resource-ids': {'patternProperties': {'.*': {'type': 'string'}},
7185 'required': ['application',
7191 'ApplicationUnexpose': {'additionalProperties': False,
7192 'properties': {'application': {'type': 'string'}},
7193 'required': ['application'],
7195 'ApplicationUnset': {'additionalProperties': False,
7196 'properties': {'application': {'type': 'string'},
7197 'options': {'items': {'type': 'string'},
7199 'required': ['application', 'options'],
7201 'ApplicationUpdate': {'additionalProperties': False,
7202 'properties': {'application': {'type': 'string'},
7203 'charm-url': {'type': 'string'},
7204 'constraints': {'$ref': '#/definitions/Value'},
7205 'force-charm-url': {'type': 'boolean'},
7206 'force-series': {'type': 'boolean'},
7207 'min-units': {'type': 'integer'},
7208 'settings': {'patternProperties': {'.*': {'type': 'string'}},
7210 'settings-yaml': {'type': 'string'}},
7211 'required': ['application',
7217 'ApplicationsDeploy': {'additionalProperties': False,
7218 'properties': {'applications': {'items': {'$ref': '#/definitions/ApplicationDeploy'},
7220 'required': ['applications'],
7222 'CharmRelation': {'additionalProperties': False,
7223 'properties': {'interface': {'type': 'string'},
7224 'limit': {'type': 'integer'},
7225 'name': {'type': 'string'},
7226 'optional': {'type': 'boolean'},
7227 'role': {'type': 'string'},
7228 'scope': {'type': 'string'}},
7229 'required': ['name',
7236 'Constraints': {'additionalProperties': False,
7237 'properties': {'Count': {'type': 'integer'},
7238 'Pool': {'type': 'string'},
7239 'Size': {'type': 'integer'}},
7240 'required': ['Pool', 'Size', 'Count'],
7242 'DestroyApplicationUnits': {'additionalProperties': False,
7243 'properties': {'unit-names': {'items': {'type': 'string'},
7245 'required': ['unit-names'],
7247 'DestroyRelation': {'additionalProperties': False,
7248 'properties': {'endpoints': {'items': {'type': 'string'},
7250 'required': ['endpoints'],
7252 'Error': {'additionalProperties': False,
7253 'properties': {'code': {'type': 'string'},
7254 'info': {'$ref': '#/definitions/ErrorInfo'},
7255 'message': {'type': 'string'}},
7256 'required': ['message', 'code'],
7258 'ErrorInfo': {'additionalProperties': False,
7259 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
7260 'macaroon-path': {'type': 'string'}},
7262 'ErrorResult': {'additionalProperties': False,
7263 'properties': {'error': {'$ref': '#/definitions/Error'}},
7265 'ErrorResults': {'additionalProperties': False,
7266 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
7268 'required': ['results'],
7270 'GetApplicationConstraints': {'additionalProperties': False,
7271 'properties': {'application': {'type': 'string'}},
7272 'required': ['application'],
7274 'GetConstraintsResults': {'additionalProperties': False,
7275 'properties': {'constraints': {'$ref': '#/definitions/Value'}},
7276 'required': ['constraints'],
7278 'Macaroon': {'additionalProperties': False, 'type': 'object'},
7279 'Placement': {'additionalProperties': False,
7280 'properties': {'directive': {'type': 'string'},
7281 'scope': {'type': 'string'}},
7282 'required': ['scope', 'directive'],
7284 'SetConstraints': {'additionalProperties': False,
7285 'properties': {'application': {'type': 'string'},
7286 'constraints': {'$ref': '#/definitions/Value'}},
7287 'required': ['application', 'constraints'],
7289 'StringResult': {'additionalProperties': False,
7290 'properties': {'error': {'$ref': '#/definitions/Error'},
7291 'result': {'type': 'string'}},
7292 'required': ['result'],
7294 'Value': {'additionalProperties': False,
7295 'properties': {'arch': {'type': 'string'},
7296 'container': {'type': 'string'},
7297 'cpu-cores': {'type': 'integer'},
7298 'cpu-power': {'type': 'integer'},
7299 'instance-type': {'type': 'string'},
7300 'mem': {'type': 'integer'},
7301 'root-disk': {'type': 'integer'},
7302 'spaces': {'items': {'type': 'string'},
7304 'tags': {'items': {'type': 'string'},
7306 'virt-type': {'type': 'string'}},
7308 'properties': {'AddRelation': {'properties': {'Params': {'$ref': '#/definitions/AddRelation'},
7309 'Result': {'$ref': '#/definitions/AddRelationResults'}},
7311 'AddUnits': {'properties': {'Params': {'$ref': '#/definitions/AddApplicationUnits'},
7312 'Result': {'$ref': '#/definitions/AddApplicationUnitsResults'}},
7314 'CharmRelations': {'properties': {'Params': {'$ref': '#/definitions/ApplicationCharmRelations'},
7315 'Result': {'$ref': '#/definitions/ApplicationCharmRelationsResults'}},
7317 'Deploy': {'properties': {'Params': {'$ref': '#/definitions/ApplicationsDeploy'},
7318 'Result': {'$ref': '#/definitions/ErrorResults'}},
7320 'Destroy': {'properties': {'Params': {'$ref': '#/definitions/ApplicationDestroy'}},
7322 'DestroyRelation': {'properties': {'Params': {'$ref': '#/definitions/DestroyRelation'}},
7324 'DestroyUnits': {'properties': {'Params': {'$ref': '#/definitions/DestroyApplicationUnits'}},
7326 'Expose': {'properties': {'Params': {'$ref': '#/definitions/ApplicationExpose'}},
7328 'Get': {'properties': {'Params': {'$ref': '#/definitions/ApplicationGet'},
7329 'Result': {'$ref': '#/definitions/ApplicationGetResults'}},
7331 'GetCharmURL': {'properties': {'Params': {'$ref': '#/definitions/ApplicationGet'},
7332 'Result': {'$ref': '#/definitions/StringResult'}},
7334 'GetConstraints': {'properties': {'Params': {'$ref': '#/definitions/GetApplicationConstraints'},
7335 'Result': {'$ref': '#/definitions/GetConstraintsResults'}},
7337 'Set': {'properties': {'Params': {'$ref': '#/definitions/ApplicationSet'}},
7339 'SetCharm': {'properties': {'Params': {'$ref': '#/definitions/ApplicationSetCharm'}},
7341 'SetConstraints': {'properties': {'Params': {'$ref': '#/definitions/SetConstraints'}},
7343 'SetMetricCredentials': {'properties': {'Params': {'$ref': '#/definitions/ApplicationMetricCredentials'},
7344 'Result': {'$ref': '#/definitions/ErrorResults'}},
7346 'Unexpose': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUnexpose'}},
7348 'Unset': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUnset'}},
7350 'Update': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUpdate'}},
7355 @ReturnMapping(AddRelationResults
)
7356 async def AddRelation(self
, endpoints
):
7358 endpoints : typing.Sequence<+T_co>[str]
7359 Returns -> typing.Mapping<~KT, +VT_co>[str, ~CharmRelation]<~CharmRelation>
7361 # map input types to rpc msg
7363 msg
= dict(type='Application', request
='AddRelation', version
=1, params
=params
)
7364 params
['endpoints'] = endpoints
7365 reply
= await self
.rpc(msg
)
7370 @ReturnMapping(AddApplicationUnitsResults
)
7371 async def AddUnits(self
, application
, num_units
, placement
):
7375 placement : typing.Sequence<+T_co>[~Placement]<~Placement>
7376 Returns -> typing.Sequence<+T_co>[str]
7378 # map input types to rpc msg
7380 msg
= dict(type='Application', request
='AddUnits', version
=1, params
=params
)
7381 params
['application'] = application
7382 params
['num-units'] = num_units
7383 params
['placement'] = placement
7384 reply
= await self
.rpc(msg
)
7389 @ReturnMapping(ApplicationCharmRelationsResults
)
7390 async def CharmRelations(self
, application
):
7393 Returns -> typing.Sequence<+T_co>[str]
7395 # map input types to rpc msg
7397 msg
= dict(type='Application', request
='CharmRelations', version
=1, params
=params
)
7398 params
['application'] = application
7399 reply
= await self
.rpc(msg
)
7404 @ReturnMapping(ErrorResults
)
7405 async def Deploy(self
, applications
):
7407 applications : typing.Sequence<+T_co>[~ApplicationDeploy]<~ApplicationDeploy>
7408 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
7410 # map input types to rpc msg
7412 msg
= dict(type='Application', request
='Deploy', version
=1, params
=params
)
7413 params
['applications'] = applications
7414 reply
= await self
.rpc(msg
)
7419 @ReturnMapping(None)
7420 async def Destroy(self
, application
):
7425 # map input types to rpc msg
7427 msg
= dict(type='Application', request
='Destroy', version
=1, params
=params
)
7428 params
['application'] = application
7429 reply
= await self
.rpc(msg
)
7434 @ReturnMapping(None)
7435 async def DestroyRelation(self
, endpoints
):
7437 endpoints : typing.Sequence<+T_co>[str]
7440 # map input types to rpc msg
7442 msg
= dict(type='Application', request
='DestroyRelation', version
=1, params
=params
)
7443 params
['endpoints'] = endpoints
7444 reply
= await self
.rpc(msg
)
7449 @ReturnMapping(None)
7450 async def DestroyUnits(self
, unit_names
):
7452 unit_names : typing.Sequence<+T_co>[str]
7455 # map input types to rpc msg
7457 msg
= dict(type='Application', request
='DestroyUnits', version
=1, params
=params
)
7458 params
['unit-names'] = unit_names
7459 reply
= await self
.rpc(msg
)
7464 @ReturnMapping(None)
7465 async def Expose(self
, application
):
7470 # map input types to rpc msg
7472 msg
= dict(type='Application', request
='Expose', version
=1, params
=params
)
7473 params
['application'] = application
7474 reply
= await self
.rpc(msg
)
7479 @ReturnMapping(ApplicationGetResults
)
7480 async def Get(self
, application
):
7483 Returns -> typing.Union[str, typing.Mapping<~KT, +VT_co>[str, typing.Any], _ForwardRef('Value')]
7485 # map input types to rpc msg
7487 msg
= dict(type='Application', request
='Get', version
=1, params
=params
)
7488 params
['application'] = application
7489 reply
= await self
.rpc(msg
)
7494 @ReturnMapping(StringResult
)
7495 async def GetCharmURL(self
, application
):
7498 Returns -> typing.Union[_ForwardRef('Error'), str]
7500 # map input types to rpc msg
7502 msg
= dict(type='Application', request
='GetCharmURL', version
=1, params
=params
)
7503 params
['application'] = application
7504 reply
= await self
.rpc(msg
)
7509 @ReturnMapping(GetConstraintsResults
)
7510 async def GetConstraints(self
, application
):
7515 # map input types to rpc msg
7517 msg
= dict(type='Application', request
='GetConstraints', version
=1, params
=params
)
7518 params
['application'] = application
7519 reply
= await self
.rpc(msg
)
7524 @ReturnMapping(None)
7525 async def Set(self
, application
, options
):
7528 options : typing.Mapping<~KT, +VT_co>[str, str]
7531 # map input types to rpc msg
7533 msg
= dict(type='Application', request
='Set', version
=1, params
=params
)
7534 params
['application'] = application
7535 params
['options'] = options
7536 reply
= await self
.rpc(msg
)
7541 @ReturnMapping(None)
7542 async def SetCharm(self
, application
, channel
, charm_url
, force_series
, force_units
, resource_ids
):
7549 resource_ids : typing.Mapping<~KT, +VT_co>[str, str]
7552 # map input types to rpc msg
7554 msg
= dict(type='Application', request
='SetCharm', version
=1, params
=params
)
7555 params
['application'] = application
7556 params
['channel'] = channel
7557 params
['charm-url'] = charm_url
7558 params
['force-series'] = force_series
7559 params
['force-units'] = force_units
7560 params
['resource-ids'] = resource_ids
7561 reply
= await self
.rpc(msg
)
7566 @ReturnMapping(None)
7567 async def SetConstraints(self
, application
, constraints
):
7573 # map input types to rpc msg
7575 msg
= dict(type='Application', request
='SetConstraints', version
=1, params
=params
)
7576 params
['application'] = application
7577 params
['constraints'] = constraints
7578 reply
= await self
.rpc(msg
)
7583 @ReturnMapping(ErrorResults
)
7584 async def SetMetricCredentials(self
, creds
):
7586 creds : typing.Sequence<+T_co>[~ApplicationMetricCredential]<~ApplicationMetricCredential>
7587 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
7589 # map input types to rpc msg
7591 msg
= dict(type='Application', request
='SetMetricCredentials', version
=1, params
=params
)
7592 params
['creds'] = creds
7593 reply
= await self
.rpc(msg
)
7598 @ReturnMapping(None)
7599 async def Unexpose(self
, application
):
7604 # map input types to rpc msg
7606 msg
= dict(type='Application', request
='Unexpose', version
=1, params
=params
)
7607 params
['application'] = application
7608 reply
= await self
.rpc(msg
)
7613 @ReturnMapping(None)
7614 async def Unset(self
, application
, options
):
7617 options : typing.Sequence<+T_co>[str]
7620 # map input types to rpc msg
7622 msg
= dict(type='Application', request
='Unset', version
=1, params
=params
)
7623 params
['application'] = application
7624 params
['options'] = options
7625 reply
= await self
.rpc(msg
)
7630 @ReturnMapping(None)
7631 async def Update(self
, application
, charm_url
, constraints
, force_charm_url
, force_series
, min_units
, settings
, settings_yaml
):
7636 force_charm_url : bool
7639 settings : typing.Mapping<~KT, +VT_co>[str, str]
7643 # map input types to rpc msg
7645 msg
= dict(type='Application', request
='Update', version
=1, params
=params
)
7646 params
['application'] = application
7647 params
['charm-url'] = charm_url
7648 params
['constraints'] = constraints
7649 params
['force-charm-url'] = force_charm_url
7650 params
['force-series'] = force_series
7651 params
['min-units'] = min_units
7652 params
['settings'] = settings
7653 params
['settings-yaml'] = settings_yaml
7654 reply
= await self
.rpc(msg
)
7658 class ApplicationScalerFacade(Type
):
7659 name
= 'ApplicationScaler'
7661 schema
= {'definitions': {'Entities': {'additionalProperties': False,
7662 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
7664 'required': ['entities'],
7666 'Entity': {'additionalProperties': False,
7667 'properties': {'tag': {'type': 'string'}},
7668 'required': ['tag'],
7670 'Error': {'additionalProperties': False,
7671 'properties': {'code': {'type': 'string'},
7672 'info': {'$ref': '#/definitions/ErrorInfo'},
7673 'message': {'type': 'string'}},
7674 'required': ['message', 'code'],
7676 'ErrorInfo': {'additionalProperties': False,
7677 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
7678 'macaroon-path': {'type': 'string'}},
7680 'ErrorResult': {'additionalProperties': False,
7681 'properties': {'error': {'$ref': '#/definitions/Error'}},
7683 'ErrorResults': {'additionalProperties': False,
7684 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
7686 'required': ['results'],
7688 'Macaroon': {'additionalProperties': False, 'type': 'object'},
7689 'StringsWatchResult': {'additionalProperties': False,
7690 'properties': {'changes': {'items': {'type': 'string'},
7692 'error': {'$ref': '#/definitions/Error'},
7693 'watcher-id': {'type': 'string'}},
7694 'required': ['watcher-id'],
7696 'properties': {'Rescale': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
7697 'Result': {'$ref': '#/definitions/ErrorResults'}},
7699 'Watch': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
7704 @ReturnMapping(ErrorResults
)
7705 async def Rescale(self
, entities
):
7707 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
7708 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
7710 # map input types to rpc msg
7712 msg
= dict(type='ApplicationScaler', request
='Rescale', version
=1, params
=params
)
7713 params
['entities'] = entities
7714 reply
= await self
.rpc(msg
)
7719 @ReturnMapping(StringsWatchResult
)
7720 async def Watch(self
):
7723 Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')]
7725 # map input types to rpc msg
7727 msg
= dict(type='ApplicationScaler', request
='Watch', version
=1, params
=params
)
7729 reply
= await self
.rpc(msg
)
7733 class BackupsFacade(Type
):
7736 schema
= {'definitions': {'BackupsCreateArgs': {'additionalProperties': False,
7737 'properties': {'notes': {'type': 'string'}},
7738 'required': ['notes'],
7740 'BackupsInfoArgs': {'additionalProperties': False,
7741 'properties': {'id': {'type': 'string'}},
7744 'BackupsListArgs': {'additionalProperties': False,
7746 'BackupsListResult': {'additionalProperties': False,
7747 'properties': {'list': {'items': {'$ref': '#/definitions/BackupsMetadataResult'},
7749 'required': ['list'],
7751 'BackupsMetadataResult': {'additionalProperties': False,
7752 'properties': {'ca-cert': {'type': 'string'},
7753 'ca-private-key': {'type': 'string'},
7754 'checksum': {'type': 'string'},
7755 'checksum-format': {'type': 'string'},
7756 'finished': {'format': 'date-time',
7758 'hostname': {'type': 'string'},
7759 'id': {'type': 'string'},
7760 'machine': {'type': 'string'},
7761 'model': {'type': 'string'},
7762 'notes': {'type': 'string'},
7763 'series': {'type': 'string'},
7764 'size': {'type': 'integer'},
7765 'started': {'format': 'date-time',
7767 'stored': {'format': 'date-time',
7769 'version': {'$ref': '#/definitions/Number'}},
7786 'BackupsRemoveArgs': {'additionalProperties': False,
7787 'properties': {'id': {'type': 'string'}},
7790 'Number': {'additionalProperties': False,
7791 'properties': {'Build': {'type': 'integer'},
7792 'Major': {'type': 'integer'},
7793 'Minor': {'type': 'integer'},
7794 'Patch': {'type': 'integer'},
7795 'Tag': {'type': 'string'}},
7796 'required': ['Major',
7802 'RestoreArgs': {'additionalProperties': False,
7803 'properties': {'backup-id': {'type': 'string'}},
7804 'required': ['backup-id'],
7806 'properties': {'Create': {'properties': {'Params': {'$ref': '#/definitions/BackupsCreateArgs'},
7807 'Result': {'$ref': '#/definitions/BackupsMetadataResult'}},
7809 'FinishRestore': {'type': 'object'},
7810 'Info': {'properties': {'Params': {'$ref': '#/definitions/BackupsInfoArgs'},
7811 'Result': {'$ref': '#/definitions/BackupsMetadataResult'}},
7813 'List': {'properties': {'Params': {'$ref': '#/definitions/BackupsListArgs'},
7814 'Result': {'$ref': '#/definitions/BackupsListResult'}},
7816 'PrepareRestore': {'type': 'object'},
7817 'Remove': {'properties': {'Params': {'$ref': '#/definitions/BackupsRemoveArgs'}},
7819 'Restore': {'properties': {'Params': {'$ref': '#/definitions/RestoreArgs'}},
7824 @ReturnMapping(BackupsMetadataResult
)
7825 async def Create(self
, notes
):
7828 Returns -> typing.Union[str, int, _ForwardRef('Number')]
7830 # map input types to rpc msg
7832 msg
= dict(type='Backups', request
='Create', version
=1, params
=params
)
7833 params
['notes'] = notes
7834 reply
= await self
.rpc(msg
)
7839 @ReturnMapping(None)
7840 async def FinishRestore(self
):
7845 # map input types to rpc msg
7847 msg
= dict(type='Backups', request
='FinishRestore', version
=1, params
=params
)
7849 reply
= await self
.rpc(msg
)
7854 @ReturnMapping(BackupsMetadataResult
)
7855 async def Info(self
, id_
):
7858 Returns -> typing.Union[str, int, _ForwardRef('Number')]
7860 # map input types to rpc msg
7862 msg
= dict(type='Backups', request
='Info', version
=1, params
=params
)
7864 reply
= await self
.rpc(msg
)
7869 @ReturnMapping(BackupsListResult
)
7870 async def List(self
):
7873 Returns -> typing.Sequence<+T_co>[~BackupsMetadataResult]<~BackupsMetadataResult>
7875 # map input types to rpc msg
7877 msg
= dict(type='Backups', request
='List', version
=1, params
=params
)
7879 reply
= await self
.rpc(msg
)
7884 @ReturnMapping(None)
7885 async def PrepareRestore(self
):
7890 # map input types to rpc msg
7892 msg
= dict(type='Backups', request
='PrepareRestore', version
=1, params
=params
)
7894 reply
= await self
.rpc(msg
)
7899 @ReturnMapping(None)
7900 async def Remove(self
, id_
):
7905 # map input types to rpc msg
7907 msg
= dict(type='Backups', request
='Remove', version
=1, params
=params
)
7909 reply
= await self
.rpc(msg
)
7914 @ReturnMapping(None)
7915 async def Restore(self
, backup_id
):
7920 # map input types to rpc msg
7922 msg
= dict(type='Backups', request
='Restore', version
=1, params
=params
)
7923 params
['backup-id'] = backup_id
7924 reply
= await self
.rpc(msg
)
7928 class BlockFacade(Type
):
7931 schema
= {'definitions': {'Block': {'additionalProperties': False,
7932 'properties': {'id': {'type': 'string'},
7933 'message': {'type': 'string'},
7934 'tag': {'type': 'string'},
7935 'type': {'type': 'string'}},
7936 'required': ['id', 'tag', 'type'],
7938 'BlockResult': {'additionalProperties': False,
7939 'properties': {'error': {'$ref': '#/definitions/Error'},
7940 'result': {'$ref': '#/definitions/Block'}},
7941 'required': ['result'],
7943 'BlockResults': {'additionalProperties': False,
7944 'properties': {'results': {'items': {'$ref': '#/definitions/BlockResult'},
7947 'BlockSwitchParams': {'additionalProperties': False,
7948 'properties': {'message': {'type': 'string'},
7949 'type': {'type': 'string'}},
7950 'required': ['type'],
7952 'Error': {'additionalProperties': False,
7953 'properties': {'code': {'type': 'string'},
7954 'info': {'$ref': '#/definitions/ErrorInfo'},
7955 'message': {'type': 'string'}},
7956 'required': ['message', 'code'],
7958 'ErrorInfo': {'additionalProperties': False,
7959 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
7960 'macaroon-path': {'type': 'string'}},
7962 'ErrorResult': {'additionalProperties': False,
7963 'properties': {'error': {'$ref': '#/definitions/Error'}},
7965 'Macaroon': {'additionalProperties': False, 'type': 'object'}},
7966 'properties': {'List': {'properties': {'Result': {'$ref': '#/definitions/BlockResults'}},
7968 'SwitchBlockOff': {'properties': {'Params': {'$ref': '#/definitions/BlockSwitchParams'},
7969 'Result': {'$ref': '#/definitions/ErrorResult'}},
7971 'SwitchBlockOn': {'properties': {'Params': {'$ref': '#/definitions/BlockSwitchParams'},
7972 'Result': {'$ref': '#/definitions/ErrorResult'}},
7977 @ReturnMapping(BlockResults
)
7978 async def List(self
):
7981 Returns -> typing.Sequence<+T_co>[~BlockResult]<~BlockResult>
7983 # map input types to rpc msg
7985 msg
= dict(type='Block', request
='List', version
=2, params
=params
)
7987 reply
= await self
.rpc(msg
)
7992 @ReturnMapping(ErrorResult
)
7993 async def SwitchBlockOff(self
, message
, type_
):
7999 # map input types to rpc msg
8001 msg
= dict(type='Block', request
='SwitchBlockOff', version
=2, params
=params
)
8002 params
['message'] = message
8003 params
['type'] = type_
8004 reply
= await self
.rpc(msg
)
8009 @ReturnMapping(ErrorResult
)
8010 async def SwitchBlockOn(self
, message
, type_
):
8016 # map input types to rpc msg
8018 msg
= dict(type='Block', request
='SwitchBlockOn', version
=2, params
=params
)
8019 params
['message'] = message
8020 params
['type'] = type_
8021 reply
= await self
.rpc(msg
)
8025 class CharmRevisionUpdaterFacade(Type
):
8026 name
= 'CharmRevisionUpdater'
8028 schema
= {'definitions': {'Error': {'additionalProperties': False,
8029 'properties': {'code': {'type': 'string'},
8030 'info': {'$ref': '#/definitions/ErrorInfo'},
8031 'message': {'type': 'string'}},
8032 'required': ['message', 'code'],
8034 'ErrorInfo': {'additionalProperties': False,
8035 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
8036 'macaroon-path': {'type': 'string'}},
8038 'ErrorResult': {'additionalProperties': False,
8039 'properties': {'error': {'$ref': '#/definitions/Error'}},
8041 'Macaroon': {'additionalProperties': False, 'type': 'object'}},
8042 'properties': {'UpdateLatestRevisions': {'properties': {'Result': {'$ref': '#/definitions/ErrorResult'}},
8047 @ReturnMapping(ErrorResult
)
8048 async def UpdateLatestRevisions(self
):
8053 # map input types to rpc msg
8055 msg
= dict(type='CharmRevisionUpdater', request
='UpdateLatestRevisions', version
=2, params
=params
)
8057 reply
= await self
.rpc(msg
)
8061 class CharmsFacade(Type
):
8064 schema
= {'definitions': {'CharmActionSpec': {'additionalProperties': False,
8065 'properties': {'description': {'type': 'string'},
8066 'params': {'patternProperties': {'.*': {'additionalProperties': True,
8069 'required': ['description', 'params'],
8071 'CharmActions': {'additionalProperties': False,
8072 'properties': {'specs': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmActionSpec'}},
8075 'CharmInfo': {'additionalProperties': False,
8076 'properties': {'actions': {'$ref': '#/definitions/CharmActions'},
8077 'config': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmOption'}},
8079 'meta': {'$ref': '#/definitions/CharmMeta'},
8080 'metrics': {'$ref': '#/definitions/CharmMetrics'},
8081 'revision': {'type': 'integer'},
8082 'url': {'type': 'string'}},
8083 'required': ['revision', 'url', 'config'],
8085 'CharmMeta': {'additionalProperties': False,
8086 'properties': {'categories': {'items': {'type': 'string'},
8088 'description': {'type': 'string'},
8089 'extra-bindings': {'patternProperties': {'.*': {'type': 'string'}},
8091 'min-juju-version': {'type': 'string'},
8092 'name': {'type': 'string'},
8093 'payload-classes': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmPayloadClass'}},
8095 'peers': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmRelation'}},
8097 'provides': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmRelation'}},
8099 'requires': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmRelation'}},
8101 'resources': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmResourceMeta'}},
8103 'series': {'items': {'type': 'string'},
8105 'storage': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmStorage'}},
8107 'subordinate': {'type': 'boolean'},
8108 'summary': {'type': 'string'},
8109 'tags': {'items': {'type': 'string'},
8111 'terms': {'items': {'type': 'string'},
8113 'required': ['name',
8118 'CharmMetric': {'additionalProperties': False,
8119 'properties': {'description': {'type': 'string'},
8120 'type': {'type': 'string'}},
8121 'required': ['type', 'description'],
8123 'CharmMetrics': {'additionalProperties': False,
8124 'properties': {'metrics': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmMetric'}},
8126 'plan': {'$ref': '#/definitions/CharmPlan'}},
8127 'required': ['metrics', 'plan'],
8129 'CharmOption': {'additionalProperties': False,
8130 'properties': {'default': {'additionalProperties': True,
8132 'description': {'type': 'string'},
8133 'type': {'type': 'string'}},
8134 'required': ['type'],
8136 'CharmPayloadClass': {'additionalProperties': False,
8137 'properties': {'name': {'type': 'string'},
8138 'type': {'type': 'string'}},
8139 'required': ['name', 'type'],
8141 'CharmPlan': {'additionalProperties': False,
8142 'properties': {'required': {'type': 'boolean'}},
8143 'required': ['required'],
8145 'CharmRelation': {'additionalProperties': False,
8146 'properties': {'interface': {'type': 'string'},
8147 'limit': {'type': 'integer'},
8148 'name': {'type': 'string'},
8149 'optional': {'type': 'boolean'},
8150 'role': {'type': 'string'},
8151 'scope': {'type': 'string'}},
8152 'required': ['name',
8159 'CharmResourceMeta': {'additionalProperties': False,
8160 'properties': {'description': {'type': 'string'},
8161 'name': {'type': 'string'},
8162 'path': {'type': 'string'},
8163 'type': {'type': 'string'}},
8164 'required': ['name',
8169 'CharmStorage': {'additionalProperties': False,
8170 'properties': {'count-max': {'type': 'integer'},
8171 'count-min': {'type': 'integer'},
8172 'description': {'type': 'string'},
8173 'location': {'type': 'string'},
8174 'minimum-size': {'type': 'integer'},
8175 'name': {'type': 'string'},
8176 'properties': {'items': {'type': 'string'},
8178 'read-only': {'type': 'boolean'},
8179 'shared': {'type': 'boolean'},
8180 'type': {'type': 'string'}},
8181 'required': ['name',
8190 'CharmURL': {'additionalProperties': False,
8191 'properties': {'url': {'type': 'string'}},
8192 'required': ['url'],
8194 'CharmsList': {'additionalProperties': False,
8195 'properties': {'names': {'items': {'type': 'string'},
8197 'required': ['names'],
8199 'CharmsListResult': {'additionalProperties': False,
8200 'properties': {'charm-urls': {'items': {'type': 'string'},
8202 'required': ['charm-urls'],
8204 'IsMeteredResult': {'additionalProperties': False,
8205 'properties': {'metered': {'type': 'boolean'}},
8206 'required': ['metered'],
8208 'properties': {'CharmInfo': {'properties': {'Params': {'$ref': '#/definitions/CharmURL'},
8209 'Result': {'$ref': '#/definitions/CharmInfo'}},
8211 'IsMetered': {'properties': {'Params': {'$ref': '#/definitions/CharmURL'},
8212 'Result': {'$ref': '#/definitions/IsMeteredResult'}},
8214 'List': {'properties': {'Params': {'$ref': '#/definitions/CharmsList'},
8215 'Result': {'$ref': '#/definitions/CharmsListResult'}},
8220 @ReturnMapping(CharmInfo
)
8221 async def CharmInfo(self
, url
):
8224 Returns -> typing.Union[_ForwardRef('CharmActions'), typing.Mapping<~KT, +VT_co>[str, ~CharmOption]<~CharmOption>, _ForwardRef('CharmMeta'), _ForwardRef('CharmMetrics'), int, str]
8226 # map input types to rpc msg
8228 msg
= dict(type='Charms', request
='CharmInfo', version
=2, params
=params
)
8230 reply
= await self
.rpc(msg
)
8235 @ReturnMapping(IsMeteredResult
)
8236 async def IsMetered(self
, url
):
8241 # map input types to rpc msg
8243 msg
= dict(type='Charms', request
='IsMetered', version
=2, params
=params
)
8245 reply
= await self
.rpc(msg
)
8250 @ReturnMapping(CharmsListResult
)
8251 async def List(self
, names
):
8253 names : typing.Sequence<+T_co>[str]
8254 Returns -> typing.Sequence<+T_co>[str]
8256 # map input types to rpc msg
8258 msg
= dict(type='Charms', request
='List', version
=2, params
=params
)
8259 params
['names'] = names
8260 reply
= await self
.rpc(msg
)
8264 class CleanerFacade(Type
):
8267 schema
= {'definitions': {'Error': {'additionalProperties': False,
8268 'properties': {'code': {'type': 'string'},
8269 'info': {'$ref': '#/definitions/ErrorInfo'},
8270 'message': {'type': 'string'}},
8271 'required': ['message', 'code'],
8273 'ErrorInfo': {'additionalProperties': False,
8274 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
8275 'macaroon-path': {'type': 'string'}},
8277 'Macaroon': {'additionalProperties': False, 'type': 'object'},
8278 'NotifyWatchResult': {'additionalProperties': False,
8279 'properties': {'NotifyWatcherId': {'type': 'string'},
8280 'error': {'$ref': '#/definitions/Error'}},
8281 'required': ['NotifyWatcherId'],
8283 'properties': {'Cleanup': {'type': 'object'},
8284 'WatchCleanups': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
8289 @ReturnMapping(None)
8290 async def Cleanup(self
):
8295 # map input types to rpc msg
8297 msg
= dict(type='Cleaner', request
='Cleanup', version
=2, params
=params
)
8299 reply
= await self
.rpc(msg
)
8304 @ReturnMapping(NotifyWatchResult
)
8305 async def WatchCleanups(self
):
8308 Returns -> typing.Union[str, _ForwardRef('Error')]
8310 # map input types to rpc msg
8312 msg
= dict(type='Cleaner', request
='WatchCleanups', version
=2, params
=params
)
8314 reply
= await self
.rpc(msg
)
8318 class ClientFacade(Type
):
8321 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
8322 'properties': {'servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
8325 'required': ['servers'],
8327 'AddCharm': {'additionalProperties': False,
8328 'properties': {'channel': {'type': 'string'},
8329 'url': {'type': 'string'}},
8330 'required': ['url', 'channel'],
8332 'AddCharmWithAuthorization': {'additionalProperties': False,
8333 'properties': {'channel': {'type': 'string'},
8334 'macaroon': {'$ref': '#/definitions/Macaroon'},
8335 'url': {'type': 'string'}},
8340 'AddMachineParams': {'additionalProperties': False,
8341 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'},
8343 'constraints': {'$ref': '#/definitions/Value'},
8344 'container-type': {'type': 'string'},
8345 'disks': {'items': {'$ref': '#/definitions/Constraints'},
8347 'hardware-characteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
8348 'instance-id': {'type': 'string'},
8349 'jobs': {'items': {'type': 'string'},
8351 'nonce': {'type': 'string'},
8352 'parent-id': {'type': 'string'},
8353 'placement': {'$ref': '#/definitions/Placement'},
8354 'series': {'type': 'string'}},
8355 'required': ['series',
8362 'hardware-characteristics',
8365 'AddMachines': {'additionalProperties': False,
8366 'properties': {'params': {'items': {'$ref': '#/definitions/AddMachineParams'},
8368 'required': ['params'],
8370 'AddMachinesResult': {'additionalProperties': False,
8371 'properties': {'error': {'$ref': '#/definitions/Error'},
8372 'machine': {'type': 'string'}},
8373 'required': ['machine'],
8375 'AddMachinesResults': {'additionalProperties': False,
8376 'properties': {'machines': {'items': {'$ref': '#/definitions/AddMachinesResult'},
8378 'required': ['machines'],
8380 'Address': {'additionalProperties': False,
8381 'properties': {'scope': {'type': 'string'},
8382 'space-name': {'type': 'string'},
8383 'type': {'type': 'string'},
8384 'value': {'type': 'string'}},
8385 'required': ['value', 'type', 'scope'],
8387 'AgentVersionResult': {'additionalProperties': False,
8388 'properties': {'version': {'$ref': '#/definitions/Number'}},
8389 'required': ['version'],
8391 'AllWatcherId': {'additionalProperties': False,
8392 'properties': {'watcher-id': {'type': 'string'}},
8393 'required': ['watcher-id'],
8395 'ApplicationStatus': {'additionalProperties': False,
8396 'properties': {'can-upgrade-to': {'type': 'string'},
8397 'charm': {'type': 'string'},
8398 'err': {'additionalProperties': True,
8400 'exposed': {'type': 'boolean'},
8401 'life': {'type': 'string'},
8402 'meter-statuses': {'patternProperties': {'.*': {'$ref': '#/definitions/MeterStatus'}},
8404 'relations': {'patternProperties': {'.*': {'items': {'type': 'string'},
8407 'series': {'type': 'string'},
8408 'status': {'$ref': '#/definitions/DetailedStatus'},
8409 'subordinate-to': {'items': {'type': 'string'},
8411 'units': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitStatus'}},
8413 'workload-version': {'type': 'string'}},
8414 'required': ['charm',
8424 'workload-version'],
8426 'Binary': {'additionalProperties': False,
8427 'properties': {'Arch': {'type': 'string'},
8428 'Number': {'$ref': '#/definitions/Number'},
8429 'Series': {'type': 'string'}},
8430 'required': ['Number', 'Series', 'Arch'],
8432 'BundleChangesChange': {'additionalProperties': False,
8433 'properties': {'args': {'items': {'additionalProperties': True,
8436 'id': {'type': 'string'},
8437 'method': {'type': 'string'},
8438 'requires': {'items': {'type': 'string'},
8445 'ConfigValue': {'additionalProperties': False,
8446 'properties': {'source': {'type': 'string'},
8447 'value': {'additionalProperties': True,
8449 'required': ['value', 'source'],
8451 'Constraints': {'additionalProperties': False,
8452 'properties': {'Count': {'type': 'integer'},
8453 'Pool': {'type': 'string'},
8454 'Size': {'type': 'integer'}},
8455 'required': ['Pool', 'Size', 'Count'],
8457 'DestroyMachines': {'additionalProperties': False,
8458 'properties': {'force': {'type': 'boolean'},
8459 'machine-names': {'items': {'type': 'string'},
8461 'required': ['machine-names', 'force'],
8463 'DetailedStatus': {'additionalProperties': False,
8464 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
8467 'err': {'additionalProperties': True,
8469 'info': {'type': 'string'},
8470 'kind': {'type': 'string'},
8471 'life': {'type': 'string'},
8472 'since': {'format': 'date-time',
8474 'status': {'type': 'string'},
8475 'version': {'type': 'string'}},
8476 'required': ['status',
8484 'EndpointStatus': {'additionalProperties': False,
8485 'properties': {'application': {'type': 'string'},
8486 'name': {'type': 'string'},
8487 'role': {'type': 'string'},
8488 'subordinate': {'type': 'boolean'}},
8489 'required': ['application',
8494 'Entities': {'additionalProperties': False,
8495 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
8497 'required': ['entities'],
8499 'Entity': {'additionalProperties': False,
8500 'properties': {'tag': {'type': 'string'}},
8501 'required': ['tag'],
8503 'EntityStatus': {'additionalProperties': False,
8504 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
8507 'info': {'type': 'string'},
8508 'since': {'format': 'date-time',
8510 'status': {'type': 'string'}},
8511 'required': ['status', 'info', 'since'],
8513 'Error': {'additionalProperties': False,
8514 'properties': {'code': {'type': 'string'},
8515 'info': {'$ref': '#/definitions/ErrorInfo'},
8516 'message': {'type': 'string'}},
8517 'required': ['message', 'code'],
8519 'ErrorInfo': {'additionalProperties': False,
8520 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
8521 'macaroon-path': {'type': 'string'}},
8523 'ErrorResult': {'additionalProperties': False,
8524 'properties': {'error': {'$ref': '#/definitions/Error'}},
8526 'ErrorResults': {'additionalProperties': False,
8527 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
8529 'required': ['results'],
8531 'FindToolsParams': {'additionalProperties': False,
8532 'properties': {'arch': {'type': 'string'},
8533 'major': {'type': 'integer'},
8534 'minor': {'type': 'integer'},
8535 'number': {'$ref': '#/definitions/Number'},
8536 'series': {'type': 'string'}},
8537 'required': ['number',
8543 'FindToolsResult': {'additionalProperties': False,
8544 'properties': {'error': {'$ref': '#/definitions/Error'},
8545 'list': {'items': {'$ref': '#/definitions/Tools'},
8547 'required': ['list'],
8549 'FullStatus': {'additionalProperties': False,
8550 'properties': {'applications': {'patternProperties': {'.*': {'$ref': '#/definitions/ApplicationStatus'}},
8552 'machines': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}},
8554 'model': {'$ref': '#/definitions/ModelStatusInfo'},
8555 'relations': {'items': {'$ref': '#/definitions/RelationStatus'},
8557 'required': ['model',
8562 'GetBundleChangesParams': {'additionalProperties': False,
8563 'properties': {'yaml': {'type': 'string'}},
8564 'required': ['yaml'],
8566 'GetBundleChangesResults': {'additionalProperties': False,
8567 'properties': {'changes': {'items': {'$ref': '#/definitions/BundleChangesChange'},
8569 'errors': {'items': {'type': 'string'},
8572 'GetConstraintsResults': {'additionalProperties': False,
8573 'properties': {'constraints': {'$ref': '#/definitions/Value'}},
8574 'required': ['constraints'],
8576 'HardwareCharacteristics': {'additionalProperties': False,
8577 'properties': {'arch': {'type': 'string'},
8578 'availability-zone': {'type': 'string'},
8579 'cpu-cores': {'type': 'integer'},
8580 'cpu-power': {'type': 'integer'},
8581 'mem': {'type': 'integer'},
8582 'root-disk': {'type': 'integer'},
8583 'tags': {'items': {'type': 'string'},
8586 'History': {'additionalProperties': False,
8587 'properties': {'error': {'$ref': '#/definitions/Error'},
8588 'statuses': {'items': {'$ref': '#/definitions/DetailedStatus'},
8590 'required': ['statuses'],
8592 'HostPort': {'additionalProperties': False,
8593 'properties': {'Address': {'$ref': '#/definitions/Address'},
8594 'port': {'type': 'integer'}},
8595 'required': ['Address', 'port'],
8597 'Macaroon': {'additionalProperties': False, 'type': 'object'},
8598 'MachineHardware': {'additionalProperties': False,
8599 'properties': {'arch': {'type': 'string'},
8600 'availability-zone': {'type': 'string'},
8601 'cores': {'type': 'integer'},
8602 'cpu-power': {'type': 'integer'},
8603 'mem': {'type': 'integer'},
8604 'root-disk': {'type': 'integer'},
8605 'tags': {'items': {'type': 'string'},
8608 'MachineStatus': {'additionalProperties': False,
8609 'properties': {'agent-status': {'$ref': '#/definitions/DetailedStatus'},
8610 'containers': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}},
8612 'dns-name': {'type': 'string'},
8613 'hardware': {'type': 'string'},
8614 'has-vote': {'type': 'boolean'},
8615 'id': {'type': 'string'},
8616 'instance-id': {'type': 'string'},
8617 'instance-status': {'$ref': '#/definitions/DetailedStatus'},
8618 'jobs': {'items': {'type': 'string'},
8620 'series': {'type': 'string'},
8621 'wants-vote': {'type': 'boolean'}},
8622 'required': ['agent-status',
8634 'MeterStatus': {'additionalProperties': False,
8635 'properties': {'color': {'type': 'string'},
8636 'message': {'type': 'string'}},
8637 'required': ['color', 'message'],
8639 'ModelConfigResults': {'additionalProperties': False,
8640 'properties': {'config': {'patternProperties': {'.*': {'$ref': '#/definitions/ConfigValue'}},
8642 'required': ['config'],
8644 'ModelDefaultValues': {'additionalProperties': False,
8645 'properties': {'cloud-region': {'type': 'string'},
8646 'cloud-tag': {'type': 'string'},
8647 'config': {'patternProperties': {'.*': {'additionalProperties': True,
8650 'required': ['config'],
8652 'ModelDefaults': {'additionalProperties': False,
8653 'properties': {'controller': {'additionalProperties': True,
8655 'default': {'additionalProperties': True,
8657 'regions': {'items': {'$ref': '#/definitions/RegionDefaults'},
8660 'ModelDefaultsResult': {'additionalProperties': False,
8661 'properties': {'config': {'patternProperties': {'.*': {'$ref': '#/definitions/ModelDefaults'}},
8663 'required': ['config'],
8665 'ModelInfo': {'additionalProperties': False,
8666 'properties': {'cloud': {'type': 'string'},
8667 'cloud-credential-tag': {'type': 'string'},
8668 'cloud-region': {'type': 'string'},
8669 'controller-uuid': {'type': 'string'},
8670 'default-series': {'type': 'string'},
8671 'life': {'type': 'string'},
8672 'machines': {'items': {'$ref': '#/definitions/ModelMachineInfo'},
8674 'name': {'type': 'string'},
8675 'owner-tag': {'type': 'string'},
8676 'provider-type': {'type': 'string'},
8677 'status': {'$ref': '#/definitions/EntityStatus'},
8678 'users': {'items': {'$ref': '#/definitions/ModelUserInfo'},
8680 'uuid': {'type': 'string'}},
8681 'required': ['name',
8693 'ModelMachineInfo': {'additionalProperties': False,
8694 'properties': {'hardware': {'$ref': '#/definitions/MachineHardware'},
8695 'id': {'type': 'string'}},
8698 'ModelSet': {'additionalProperties': False,
8699 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
8702 'required': ['config'],
8704 'ModelStatusInfo': {'additionalProperties': False,
8705 'properties': {'available-version': {'type': 'string'},
8706 'cloud': {'type': 'string'},
8707 'migration': {'type': 'string'},
8708 'name': {'type': 'string'},
8709 'region': {'type': 'string'},
8710 'version': {'type': 'string'}},
8711 'required': ['name',
8714 'available-version'],
8716 'ModelUnset': {'additionalProperties': False,
8717 'properties': {'keys': {'items': {'type': 'string'},
8719 'required': ['keys'],
8721 'ModelUnsetKeys': {'additionalProperties': False,
8722 'properties': {'cloud-region': {'type': 'string'},
8723 'cloud-tag': {'type': 'string'},
8724 'keys': {'items': {'type': 'string'},
8726 'required': ['keys'],
8728 'ModelUserInfo': {'additionalProperties': False,
8729 'properties': {'access': {'type': 'string'},
8730 'display-name': {'type': 'string'},
8731 'last-connection': {'format': 'date-time',
8733 'user': {'type': 'string'}},
8734 'required': ['user',
8739 'ModelUserInfoResult': {'additionalProperties': False,
8740 'properties': {'error': {'$ref': '#/definitions/Error'},
8741 'result': {'$ref': '#/definitions/ModelUserInfo'}},
8743 'ModelUserInfoResults': {'additionalProperties': False,
8744 'properties': {'results': {'items': {'$ref': '#/definitions/ModelUserInfoResult'},
8746 'required': ['results'],
8748 'Number': {'additionalProperties': False,
8749 'properties': {'Build': {'type': 'integer'},
8750 'Major': {'type': 'integer'},
8751 'Minor': {'type': 'integer'},
8752 'Patch': {'type': 'integer'},
8753 'Tag': {'type': 'string'}},
8754 'required': ['Major',
8760 'Placement': {'additionalProperties': False,
8761 'properties': {'directive': {'type': 'string'},
8762 'scope': {'type': 'string'}},
8763 'required': ['scope', 'directive'],
8765 'PrivateAddress': {'additionalProperties': False,
8766 'properties': {'target': {'type': 'string'}},
8767 'required': ['target'],
8769 'PrivateAddressResults': {'additionalProperties': False,
8770 'properties': {'private-address': {'type': 'string'}},
8771 'required': ['private-address'],
8773 'ProvisioningScriptParams': {'additionalProperties': False,
8774 'properties': {'data-dir': {'type': 'string'},
8775 'disable-package-commands': {'type': 'boolean'},
8776 'machine-id': {'type': 'string'},
8777 'nonce': {'type': 'string'}},
8778 'required': ['machine-id',
8781 'disable-package-commands'],
8783 'ProvisioningScriptResult': {'additionalProperties': False,
8784 'properties': {'script': {'type': 'string'}},
8785 'required': ['script'],
8787 'PublicAddress': {'additionalProperties': False,
8788 'properties': {'target': {'type': 'string'}},
8789 'required': ['target'],
8791 'PublicAddressResults': {'additionalProperties': False,
8792 'properties': {'public-address': {'type': 'string'}},
8793 'required': ['public-address'],
8795 'RegionDefaults': {'additionalProperties': False,
8796 'properties': {'region-name': {'type': 'string'},
8797 'value': {'additionalProperties': True,
8799 'required': ['region-name', 'value'],
8801 'RelationStatus': {'additionalProperties': False,
8802 'properties': {'endpoints': {'items': {'$ref': '#/definitions/EndpointStatus'},
8804 'id': {'type': 'integer'},
8805 'interface': {'type': 'string'},
8806 'key': {'type': 'string'},
8807 'scope': {'type': 'string'}},
8814 'ResolveCharmResult': {'additionalProperties': False,
8815 'properties': {'error': {'type': 'string'},
8816 'url': {'type': 'string'}},
8818 'ResolveCharmResults': {'additionalProperties': False,
8819 'properties': {'urls': {'items': {'$ref': '#/definitions/ResolveCharmResult'},
8821 'required': ['urls'],
8823 'ResolveCharms': {'additionalProperties': False,
8824 'properties': {'references': {'items': {'type': 'string'},
8826 'required': ['references'],
8828 'Resolved': {'additionalProperties': False,
8829 'properties': {'retry': {'type': 'boolean'},
8830 'unit-name': {'type': 'string'}},
8831 'required': ['unit-name', 'retry'],
8833 'SetConstraints': {'additionalProperties': False,
8834 'properties': {'application': {'type': 'string'},
8835 'constraints': {'$ref': '#/definitions/Value'}},
8836 'required': ['application', 'constraints'],
8838 'SetModelAgentVersion': {'additionalProperties': False,
8839 'properties': {'version': {'$ref': '#/definitions/Number'}},
8840 'required': ['version'],
8842 'SetModelDefaults': {'additionalProperties': False,
8843 'properties': {'config': {'items': {'$ref': '#/definitions/ModelDefaultValues'},
8845 'required': ['config'],
8847 'StatusHistoryFilter': {'additionalProperties': False,
8848 'properties': {'date': {'format': 'date-time',
8850 'delta': {'type': 'integer'},
8851 'size': {'type': 'integer'}},
8852 'required': ['size', 'date', 'delta'],
8854 'StatusHistoryRequest': {'additionalProperties': False,
8855 'properties': {'filter': {'$ref': '#/definitions/StatusHistoryFilter'},
8856 'historyKind': {'type': 'string'},
8857 'size': {'type': 'integer'},
8858 'tag': {'type': 'string'}},
8859 'required': ['historyKind',
8864 'StatusHistoryRequests': {'additionalProperties': False,
8865 'properties': {'requests': {'items': {'$ref': '#/definitions/StatusHistoryRequest'},
8867 'required': ['requests'],
8869 'StatusHistoryResult': {'additionalProperties': False,
8870 'properties': {'error': {'$ref': '#/definitions/Error'},
8871 'history': {'$ref': '#/definitions/History'}},
8872 'required': ['history'],
8874 'StatusHistoryResults': {'additionalProperties': False,
8875 'properties': {'results': {'items': {'$ref': '#/definitions/StatusHistoryResult'},
8877 'required': ['results'],
8879 'StatusParams': {'additionalProperties': False,
8880 'properties': {'patterns': {'items': {'type': 'string'},
8882 'required': ['patterns'],
8884 'Tools': {'additionalProperties': False,
8885 'properties': {'sha256': {'type': 'string'},
8886 'size': {'type': 'integer'},
8887 'url': {'type': 'string'},
8888 'version': {'$ref': '#/definitions/Binary'}},
8889 'required': ['version', 'url', 'size'],
8891 'UnitStatus': {'additionalProperties': False,
8892 'properties': {'agent-status': {'$ref': '#/definitions/DetailedStatus'},
8893 'charm': {'type': 'string'},
8894 'machine': {'type': 'string'},
8895 'opened-ports': {'items': {'type': 'string'},
8897 'public-address': {'type': 'string'},
8898 'subordinates': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitStatus'}},
8900 'workload-status': {'$ref': '#/definitions/DetailedStatus'},
8901 'workload-version': {'type': 'string'}},
8902 'required': ['agent-status',
8911 'UnsetModelDefaults': {'additionalProperties': False,
8912 'properties': {'keys': {'items': {'$ref': '#/definitions/ModelUnsetKeys'},
8914 'required': ['keys'],
8916 'Value': {'additionalProperties': False,
8917 'properties': {'arch': {'type': 'string'},
8918 'container': {'type': 'string'},
8919 'cpu-cores': {'type': 'integer'},
8920 'cpu-power': {'type': 'integer'},
8921 'instance-type': {'type': 'string'},
8922 'mem': {'type': 'integer'},
8923 'root-disk': {'type': 'integer'},
8924 'spaces': {'items': {'type': 'string'},
8926 'tags': {'items': {'type': 'string'},
8928 'virt-type': {'type': 'string'}},
8930 'properties': {'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
8932 'AbortCurrentUpgrade': {'type': 'object'},
8933 'AddCharm': {'properties': {'Params': {'$ref': '#/definitions/AddCharm'}},
8935 'AddCharmWithAuthorization': {'properties': {'Params': {'$ref': '#/definitions/AddCharmWithAuthorization'}},
8937 'AddMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
8938 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
8940 'AddMachinesV2': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
8941 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
8943 'AgentVersion': {'properties': {'Result': {'$ref': '#/definitions/AgentVersionResult'}},
8945 'DestroyMachines': {'properties': {'Params': {'$ref': '#/definitions/DestroyMachines'}},
8947 'FindTools': {'properties': {'Params': {'$ref': '#/definitions/FindToolsParams'},
8948 'Result': {'$ref': '#/definitions/FindToolsResult'}},
8950 'FullStatus': {'properties': {'Params': {'$ref': '#/definitions/StatusParams'},
8951 'Result': {'$ref': '#/definitions/FullStatus'}},
8953 'GetBundleChanges': {'properties': {'Params': {'$ref': '#/definitions/GetBundleChangesParams'},
8954 'Result': {'$ref': '#/definitions/GetBundleChangesResults'}},
8956 'GetModelConstraints': {'properties': {'Result': {'$ref': '#/definitions/GetConstraintsResults'}},
8958 'InjectMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
8959 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
8961 'ModelDefaults': {'properties': {'Result': {'$ref': '#/definitions/ModelDefaultsResult'}},
8963 'ModelGet': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResults'}},
8965 'ModelInfo': {'properties': {'Result': {'$ref': '#/definitions/ModelInfo'}},
8967 'ModelSet': {'properties': {'Params': {'$ref': '#/definitions/ModelSet'}},
8969 'ModelUnset': {'properties': {'Params': {'$ref': '#/definitions/ModelUnset'}},
8971 'ModelUserInfo': {'properties': {'Result': {'$ref': '#/definitions/ModelUserInfoResults'}},
8973 'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/PrivateAddress'},
8974 'Result': {'$ref': '#/definitions/PrivateAddressResults'}},
8976 'ProvisioningScript': {'properties': {'Params': {'$ref': '#/definitions/ProvisioningScriptParams'},
8977 'Result': {'$ref': '#/definitions/ProvisioningScriptResult'}},
8979 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/PublicAddress'},
8980 'Result': {'$ref': '#/definitions/PublicAddressResults'}},
8982 'ResolveCharms': {'properties': {'Params': {'$ref': '#/definitions/ResolveCharms'},
8983 'Result': {'$ref': '#/definitions/ResolveCharmResults'}},
8985 'Resolved': {'properties': {'Params': {'$ref': '#/definitions/Resolved'}},
8987 'RetryProvisioning': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
8988 'Result': {'$ref': '#/definitions/ErrorResults'}},
8990 'SetModelAgentVersion': {'properties': {'Params': {'$ref': '#/definitions/SetModelAgentVersion'}},
8992 'SetModelConstraints': {'properties': {'Params': {'$ref': '#/definitions/SetConstraints'}},
8994 'SetModelDefaults': {'properties': {'Params': {'$ref': '#/definitions/SetModelDefaults'},
8995 'Result': {'$ref': '#/definitions/ErrorResults'}},
8997 'StatusHistory': {'properties': {'Params': {'$ref': '#/definitions/StatusHistoryRequests'},
8998 'Result': {'$ref': '#/definitions/StatusHistoryResults'}},
9000 'UnsetModelDefaults': {'properties': {'Params': {'$ref': '#/definitions/UnsetModelDefaults'},
9001 'Result': {'$ref': '#/definitions/ErrorResults'}},
9003 'WatchAll': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherId'}},
9008 @ReturnMapping(APIHostPortsResult
)
9009 async def APIHostPorts(self
):
9012 Returns -> typing.Sequence<+T_co>[~HostPort]<~HostPort>
9014 # map input types to rpc msg
9016 msg
= dict(type='Client', request
='APIHostPorts', version
=1, params
=params
)
9018 reply
= await self
.rpc(msg
)
9023 @ReturnMapping(None)
9024 async def AbortCurrentUpgrade(self
):
9029 # map input types to rpc msg
9031 msg
= dict(type='Client', request
='AbortCurrentUpgrade', version
=1, params
=params
)
9033 reply
= await self
.rpc(msg
)
9038 @ReturnMapping(None)
9039 async def AddCharm(self
, channel
, url
):
9045 # map input types to rpc msg
9047 msg
= dict(type='Client', request
='AddCharm', version
=1, params
=params
)
9048 params
['channel'] = channel
9050 reply
= await self
.rpc(msg
)
9055 @ReturnMapping(None)
9056 async def AddCharmWithAuthorization(self
, channel
, macaroon
, url
):
9063 # map input types to rpc msg
9065 msg
= dict(type='Client', request
='AddCharmWithAuthorization', version
=1, params
=params
)
9066 params
['channel'] = channel
9067 params
['macaroon'] = macaroon
9069 reply
= await self
.rpc(msg
)
9074 @ReturnMapping(AddMachinesResults
)
9075 async def AddMachines(self
, params
):
9077 params : typing.Sequence<+T_co>[~AddMachineParams]<~AddMachineParams>
9078 Returns -> typing.Sequence<+T_co>[~AddMachinesResult]<~AddMachinesResult>
9080 # map input types to rpc msg
9082 msg
= dict(type='Client', request
='AddMachines', version
=1, params
=params
)
9083 params
['params'] = params
9084 reply
= await self
.rpc(msg
)
9089 @ReturnMapping(AddMachinesResults
)
9090 async def AddMachinesV2(self
, params
):
9092 params : typing.Sequence<+T_co>[~AddMachineParams]<~AddMachineParams>
9093 Returns -> typing.Sequence<+T_co>[~AddMachinesResult]<~AddMachinesResult>
9095 # map input types to rpc msg
9097 msg
= dict(type='Client', request
='AddMachinesV2', version
=1, params
=params
)
9098 params
['params'] = params
9099 reply
= await self
.rpc(msg
)
9104 @ReturnMapping(AgentVersionResult
)
9105 async def AgentVersion(self
):
9110 # map input types to rpc msg
9112 msg
= dict(type='Client', request
='AgentVersion', version
=1, params
=params
)
9114 reply
= await self
.rpc(msg
)
9119 @ReturnMapping(None)
9120 async def DestroyMachines(self
, force
, machine_names
):
9123 machine_names : typing.Sequence<+T_co>[str]
9126 # map input types to rpc msg
9128 msg
= dict(type='Client', request
='DestroyMachines', version
=1, params
=params
)
9129 params
['force'] = force
9130 params
['machine-names'] = machine_names
9131 reply
= await self
.rpc(msg
)
9136 @ReturnMapping(FindToolsResult
)
9137 async def FindTools(self
, arch
, major
, minor
, number
, series
):
9144 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[~Tools]<~Tools>]
9146 # map input types to rpc msg
9148 msg
= dict(type='Client', request
='FindTools', version
=1, params
=params
)
9149 params
['arch'] = arch
9150 params
['major'] = major
9151 params
['minor'] = minor
9152 params
['number'] = number
9153 params
['series'] = series
9154 reply
= await self
.rpc(msg
)
9159 @ReturnMapping(FullStatus
)
9160 async def FullStatus(self
, patterns
):
9162 patterns : typing.Sequence<+T_co>[str]
9163 Returns -> typing.Union[typing.Mapping<~KT, +VT_co>[str, ~MachineStatus]<~MachineStatus>, _ForwardRef('ModelStatusInfo'), typing.Sequence<+T_co>[~RelationStatus]<~RelationStatus>]
9165 # map input types to rpc msg
9167 msg
= dict(type='Client', request
='FullStatus', version
=1, params
=params
)
9168 params
['patterns'] = patterns
9169 reply
= await self
.rpc(msg
)
9174 @ReturnMapping(GetBundleChangesResults
)
9175 async def GetBundleChanges(self
, yaml
):
9178 Returns -> typing.Sequence<+T_co>[~BundleChangesChange]<~BundleChangesChange>
9180 # map input types to rpc msg
9182 msg
= dict(type='Client', request
='GetBundleChanges', version
=1, params
=params
)
9183 params
['yaml'] = yaml
9184 reply
= await self
.rpc(msg
)
9189 @ReturnMapping(GetConstraintsResults
)
9190 async def GetModelConstraints(self
):
9195 # map input types to rpc msg
9197 msg
= dict(type='Client', request
='GetModelConstraints', version
=1, params
=params
)
9199 reply
= await self
.rpc(msg
)
9204 @ReturnMapping(AddMachinesResults
)
9205 async def InjectMachines(self
, params
):
9207 params : typing.Sequence<+T_co>[~AddMachineParams]<~AddMachineParams>
9208 Returns -> typing.Sequence<+T_co>[~AddMachinesResult]<~AddMachinesResult>
9210 # map input types to rpc msg
9212 msg
= dict(type='Client', request
='InjectMachines', version
=1, params
=params
)
9213 params
['params'] = params
9214 reply
= await self
.rpc(msg
)
9219 @ReturnMapping(ModelDefaultsResult
)
9220 async def ModelDefaults(self
):
9223 Returns -> typing.Mapping<~KT, +VT_co>[str, ~ModelDefaults]<~ModelDefaults>
9225 # map input types to rpc msg
9227 msg
= dict(type='Client', request
='ModelDefaults', version
=1, params
=params
)
9229 reply
= await self
.rpc(msg
)
9234 @ReturnMapping(ModelConfigResults
)
9235 async def ModelGet(self
):
9238 Returns -> typing.Mapping<~KT, +VT_co>[str, ~ConfigValue]<~ConfigValue>
9240 # map input types to rpc msg
9242 msg
= dict(type='Client', request
='ModelGet', version
=1, params
=params
)
9244 reply
= await self
.rpc(msg
)
9249 @ReturnMapping(ModelInfo
)
9250 async def ModelInfo(self
):
9253 Returns -> typing.Union[_ForwardRef('EntityStatus'), typing.Sequence<+T_co>[~ModelUserInfo]<~ModelUserInfo>]
9255 # map input types to rpc msg
9257 msg
= dict(type='Client', request
='ModelInfo', version
=1, params
=params
)
9259 reply
= await self
.rpc(msg
)
9264 @ReturnMapping(None)
9265 async def ModelSet(self
, config
):
9267 config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
9270 # map input types to rpc msg
9272 msg
= dict(type='Client', request
='ModelSet', version
=1, params
=params
)
9273 params
['config'] = config
9274 reply
= await self
.rpc(msg
)
9279 @ReturnMapping(None)
9280 async def ModelUnset(self
, keys
):
9282 keys : typing.Sequence<+T_co>[str]
9285 # map input types to rpc msg
9287 msg
= dict(type='Client', request
='ModelUnset', version
=1, params
=params
)
9288 params
['keys'] = keys
9289 reply
= await self
.rpc(msg
)
9294 @ReturnMapping(ModelUserInfoResults
)
9295 async def ModelUserInfo(self
):
9298 Returns -> typing.Sequence<+T_co>[~ModelUserInfoResult]<~ModelUserInfoResult>
9300 # map input types to rpc msg
9302 msg
= dict(type='Client', request
='ModelUserInfo', version
=1, params
=params
)
9304 reply
= await self
.rpc(msg
)
9309 @ReturnMapping(PrivateAddressResults
)
9310 async def PrivateAddress(self
, target
):
9315 # map input types to rpc msg
9317 msg
= dict(type='Client', request
='PrivateAddress', version
=1, params
=params
)
9318 params
['target'] = target
9319 reply
= await self
.rpc(msg
)
9324 @ReturnMapping(ProvisioningScriptResult
)
9325 async def ProvisioningScript(self
, data_dir
, disable_package_commands
, machine_id
, nonce
):
9328 disable_package_commands : bool
9333 # map input types to rpc msg
9335 msg
= dict(type='Client', request
='ProvisioningScript', version
=1, params
=params
)
9336 params
['data-dir'] = data_dir
9337 params
['disable-package-commands'] = disable_package_commands
9338 params
['machine-id'] = machine_id
9339 params
['nonce'] = nonce
9340 reply
= await self
.rpc(msg
)
9345 @ReturnMapping(PublicAddressResults
)
9346 async def PublicAddress(self
, target
):
9351 # map input types to rpc msg
9353 msg
= dict(type='Client', request
='PublicAddress', version
=1, params
=params
)
9354 params
['target'] = target
9355 reply
= await self
.rpc(msg
)
9360 @ReturnMapping(ResolveCharmResults
)
9361 async def ResolveCharms(self
, references
):
9363 references : typing.Sequence<+T_co>[str]
9364 Returns -> typing.Sequence<+T_co>[~ResolveCharmResult]<~ResolveCharmResult>
9366 # map input types to rpc msg
9368 msg
= dict(type='Client', request
='ResolveCharms', version
=1, params
=params
)
9369 params
['references'] = references
9370 reply
= await self
.rpc(msg
)
9375 @ReturnMapping(None)
9376 async def Resolved(self
, retry
, unit_name
):
9382 # map input types to rpc msg
9384 msg
= dict(type='Client', request
='Resolved', version
=1, params
=params
)
9385 params
['retry'] = retry
9386 params
['unit-name'] = unit_name
9387 reply
= await self
.rpc(msg
)
9392 @ReturnMapping(ErrorResults
)
9393 async def RetryProvisioning(self
, entities
):
9395 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
9396 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
9398 # map input types to rpc msg
9400 msg
= dict(type='Client', request
='RetryProvisioning', version
=1, params
=params
)
9401 params
['entities'] = entities
9402 reply
= await self
.rpc(msg
)
9407 @ReturnMapping(None)
9408 async def SetModelAgentVersion(self
, version
):
9413 # map input types to rpc msg
9415 msg
= dict(type='Client', request
='SetModelAgentVersion', version
=1, params
=params
)
9416 params
['version'] = version
9417 reply
= await self
.rpc(msg
)
9422 @ReturnMapping(None)
9423 async def SetModelConstraints(self
, application
, constraints
):
9429 # map input types to rpc msg
9431 msg
= dict(type='Client', request
='SetModelConstraints', version
=1, params
=params
)
9432 params
['application'] = application
9433 params
['constraints'] = constraints
9434 reply
= await self
.rpc(msg
)
9439 @ReturnMapping(ErrorResults
)
9440 async def SetModelDefaults(self
, config
):
9442 config : typing.Sequence<+T_co>[~ModelDefaultValues]<~ModelDefaultValues>
9443 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
9445 # map input types to rpc msg
9447 msg
= dict(type='Client', request
='SetModelDefaults', version
=1, params
=params
)
9448 params
['config'] = config
9449 reply
= await self
.rpc(msg
)
9454 @ReturnMapping(StatusHistoryResults
)
9455 async def StatusHistory(self
, requests
):
9457 requests : typing.Sequence<+T_co>[~StatusHistoryRequest]<~StatusHistoryRequest>
9458 Returns -> typing.Sequence<+T_co>[~StatusHistoryResult]<~StatusHistoryResult>
9460 # map input types to rpc msg
9462 msg
= dict(type='Client', request
='StatusHistory', version
=1, params
=params
)
9463 params
['requests'] = requests
9464 reply
= await self
.rpc(msg
)
9469 @ReturnMapping(ErrorResults
)
9470 async def UnsetModelDefaults(self
, keys
):
9472 keys : typing.Sequence<+T_co>[~ModelUnsetKeys]<~ModelUnsetKeys>
9473 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
9475 # map input types to rpc msg
9477 msg
= dict(type='Client', request
='UnsetModelDefaults', version
=1, params
=params
)
9478 params
['keys'] = keys
9479 reply
= await self
.rpc(msg
)
9484 @ReturnMapping(AllWatcherId
)
9485 async def WatchAll(self
):
9490 # map input types to rpc msg
9492 msg
= dict(type='Client', request
='WatchAll', version
=1, params
=params
)
9494 reply
= await self
.rpc(msg
)
9498 class CloudFacade(Type
):
9501 schema
= {'definitions': {'Cloud': {'additionalProperties': False,
9502 'properties': {'auth-types': {'items': {'type': 'string'},
9504 'endpoint': {'type': 'string'},
9505 'identity-endpoint': {'type': 'string'},
9506 'regions': {'items': {'$ref': '#/definitions/CloudRegion'},
9508 'storage-endpoint': {'type': 'string'},
9509 'type': {'type': 'string'}},
9510 'required': ['type'],
9512 'CloudCredential': {'additionalProperties': False,
9513 'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}},
9515 'auth-type': {'type': 'string'},
9516 'redacted': {'items': {'type': 'string'},
9518 'required': ['auth-type'],
9520 'CloudCredentialResult': {'additionalProperties': False,
9521 'properties': {'error': {'$ref': '#/definitions/Error'},
9522 'result': {'$ref': '#/definitions/CloudCredential'}},
9524 'CloudCredentialResults': {'additionalProperties': False,
9525 'properties': {'results': {'items': {'$ref': '#/definitions/CloudCredentialResult'},
9528 'CloudRegion': {'additionalProperties': False,
9529 'properties': {'endpoint': {'type': 'string'},
9530 'identity-endpoint': {'type': 'string'},
9531 'name': {'type': 'string'},
9532 'storage-endpoint': {'type': 'string'}},
9533 'required': ['name'],
9535 'CloudResult': {'additionalProperties': False,
9536 'properties': {'cloud': {'$ref': '#/definitions/Cloud'},
9537 'error': {'$ref': '#/definitions/Error'}},
9539 'CloudResults': {'additionalProperties': False,
9540 'properties': {'results': {'items': {'$ref': '#/definitions/CloudResult'},
9543 'CloudsResult': {'additionalProperties': False,
9544 'properties': {'clouds': {'patternProperties': {'.*': {'$ref': '#/definitions/Cloud'}},
9547 'Entities': {'additionalProperties': False,
9548 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
9550 'required': ['entities'],
9552 'Entity': {'additionalProperties': False,
9553 'properties': {'tag': {'type': 'string'}},
9554 'required': ['tag'],
9556 'Error': {'additionalProperties': False,
9557 'properties': {'code': {'type': 'string'},
9558 'info': {'$ref': '#/definitions/ErrorInfo'},
9559 'message': {'type': 'string'}},
9560 'required': ['message', 'code'],
9562 'ErrorInfo': {'additionalProperties': False,
9563 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
9564 'macaroon-path': {'type': 'string'}},
9566 'ErrorResult': {'additionalProperties': False,
9567 'properties': {'error': {'$ref': '#/definitions/Error'}},
9569 'ErrorResults': {'additionalProperties': False,
9570 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
9572 'required': ['results'],
9574 'Macaroon': {'additionalProperties': False, 'type': 'object'},
9575 'StringResult': {'additionalProperties': False,
9576 'properties': {'error': {'$ref': '#/definitions/Error'},
9577 'result': {'type': 'string'}},
9578 'required': ['result'],
9580 'StringsResult': {'additionalProperties': False,
9581 'properties': {'error': {'$ref': '#/definitions/Error'},
9582 'result': {'items': {'type': 'string'},
9585 'StringsResults': {'additionalProperties': False,
9586 'properties': {'results': {'items': {'$ref': '#/definitions/StringsResult'},
9588 'required': ['results'],
9590 'UpdateCloudCredential': {'additionalProperties': False,
9591 'properties': {'credential': {'$ref': '#/definitions/CloudCredential'},
9592 'tag': {'type': 'string'}},
9593 'required': ['tag', 'credential'],
9595 'UpdateCloudCredentials': {'additionalProperties': False,
9596 'properties': {'credentials': {'items': {'$ref': '#/definitions/UpdateCloudCredential'},
9599 'UserCloud': {'additionalProperties': False,
9600 'properties': {'cloud-tag': {'type': 'string'},
9601 'user-tag': {'type': 'string'}},
9602 'required': ['user-tag', 'cloud-tag'],
9604 'UserClouds': {'additionalProperties': False,
9605 'properties': {'user-clouds': {'items': {'$ref': '#/definitions/UserCloud'},
9608 'properties': {'Cloud': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9609 'Result': {'$ref': '#/definitions/CloudResults'}},
9611 'Clouds': {'properties': {'Result': {'$ref': '#/definitions/CloudsResult'}},
9613 'Credential': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9614 'Result': {'$ref': '#/definitions/CloudCredentialResults'}},
9616 'DefaultCloud': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
9618 'RevokeCredentials': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9619 'Result': {'$ref': '#/definitions/ErrorResults'}},
9621 'UpdateCredentials': {'properties': {'Params': {'$ref': '#/definitions/UpdateCloudCredentials'},
9622 'Result': {'$ref': '#/definitions/ErrorResults'}},
9624 'UserCredentials': {'properties': {'Params': {'$ref': '#/definitions/UserClouds'},
9625 'Result': {'$ref': '#/definitions/StringsResults'}},
9630 @ReturnMapping(CloudResults
)
9631 async def Cloud(self
, entities
):
9633 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
9634 Returns -> typing.Sequence<+T_co>[~CloudResult]<~CloudResult>
9636 # map input types to rpc msg
9638 msg
= dict(type='Cloud', request
='Cloud', version
=1, params
=params
)
9639 params
['entities'] = entities
9640 reply
= await self
.rpc(msg
)
9645 @ReturnMapping(CloudsResult
)
9646 async def Clouds(self
):
9649 Returns -> typing.Mapping<~KT, +VT_co>[str, ~Cloud]<~Cloud>
9651 # map input types to rpc msg
9653 msg
= dict(type='Cloud', request
='Clouds', version
=1, params
=params
)
9655 reply
= await self
.rpc(msg
)
9660 @ReturnMapping(CloudCredentialResults
)
9661 async def Credential(self
, entities
):
9663 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
9664 Returns -> typing.Sequence<+T_co>[~CloudCredentialResult]<~CloudCredentialResult>
9666 # map input types to rpc msg
9668 msg
= dict(type='Cloud', request
='Credential', version
=1, params
=params
)
9669 params
['entities'] = entities
9670 reply
= await self
.rpc(msg
)
9675 @ReturnMapping(StringResult
)
9676 async def DefaultCloud(self
):
9679 Returns -> typing.Union[_ForwardRef('Error'), str]
9681 # map input types to rpc msg
9683 msg
= dict(type='Cloud', request
='DefaultCloud', version
=1, params
=params
)
9685 reply
= await self
.rpc(msg
)
9690 @ReturnMapping(ErrorResults
)
9691 async def RevokeCredentials(self
, entities
):
9693 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
9694 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
9696 # map input types to rpc msg
9698 msg
= dict(type='Cloud', request
='RevokeCredentials', version
=1, params
=params
)
9699 params
['entities'] = entities
9700 reply
= await self
.rpc(msg
)
9705 @ReturnMapping(ErrorResults
)
9706 async def UpdateCredentials(self
, credentials
):
9708 credentials : typing.Sequence<+T_co>[~UpdateCloudCredential]<~UpdateCloudCredential>
9709 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
9711 # map input types to rpc msg
9713 msg
= dict(type='Cloud', request
='UpdateCredentials', version
=1, params
=params
)
9714 params
['credentials'] = credentials
9715 reply
= await self
.rpc(msg
)
9720 @ReturnMapping(StringsResults
)
9721 async def UserCredentials(self
, user_clouds
):
9723 user_clouds : typing.Sequence<+T_co>[~UserCloud]<~UserCloud>
9724 Returns -> typing.Sequence<+T_co>[~StringsResult]<~StringsResult>
9726 # map input types to rpc msg
9728 msg
= dict(type='Cloud', request
='UserCredentials', version
=1, params
=params
)
9729 params
['user-clouds'] = user_clouds
9730 reply
= await self
.rpc(msg
)
9734 class ControllerFacade(Type
):
9737 schema
= {'definitions': {'AllWatcherId': {'additionalProperties': False,
9738 'properties': {'watcher-id': {'type': 'string'}},
9739 'required': ['watcher-id'],
9741 'CloudCredential': {'additionalProperties': False,
9742 'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}},
9744 'auth-type': {'type': 'string'},
9745 'redacted': {'items': {'type': 'string'},
9747 'required': ['auth-type'],
9749 'CloudSpec': {'additionalProperties': False,
9750 'properties': {'credential': {'$ref': '#/definitions/CloudCredential'},
9751 'endpoint': {'type': 'string'},
9752 'identity-endpoint': {'type': 'string'},
9753 'name': {'type': 'string'},
9754 'region': {'type': 'string'},
9755 'storage-endpoint': {'type': 'string'},
9756 'type': {'type': 'string'}},
9757 'required': ['type', 'name'],
9759 'CloudSpecResult': {'additionalProperties': False,
9760 'properties': {'error': {'$ref': '#/definitions/Error'},
9761 'result': {'$ref': '#/definitions/CloudSpec'}},
9763 'CloudSpecResults': {'additionalProperties': False,
9764 'properties': {'results': {'items': {'$ref': '#/definitions/CloudSpecResult'},
9767 'ConfigValue': {'additionalProperties': False,
9768 'properties': {'source': {'type': 'string'},
9769 'value': {'additionalProperties': True,
9771 'required': ['value', 'source'],
9773 'ControllerConfigResult': {'additionalProperties': False,
9774 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
9777 'required': ['config'],
9779 'DestroyControllerArgs': {'additionalProperties': False,
9780 'properties': {'destroy-models': {'type': 'boolean'}},
9781 'required': ['destroy-models'],
9783 'Entities': {'additionalProperties': False,
9784 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
9786 'required': ['entities'],
9788 'Entity': {'additionalProperties': False,
9789 'properties': {'tag': {'type': 'string'}},
9790 'required': ['tag'],
9792 'Error': {'additionalProperties': False,
9793 'properties': {'code': {'type': 'string'},
9794 'info': {'$ref': '#/definitions/ErrorInfo'},
9795 'message': {'type': 'string'}},
9796 'required': ['message', 'code'],
9798 'ErrorInfo': {'additionalProperties': False,
9799 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
9800 'macaroon-path': {'type': 'string'}},
9802 'ErrorResult': {'additionalProperties': False,
9803 'properties': {'error': {'$ref': '#/definitions/Error'}},
9805 'ErrorResults': {'additionalProperties': False,
9806 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
9808 'required': ['results'],
9810 'InitiateMigrationArgs': {'additionalProperties': False,
9811 'properties': {'specs': {'items': {'$ref': '#/definitions/MigrationSpec'},
9813 'required': ['specs'],
9815 'InitiateMigrationResult': {'additionalProperties': False,
9816 'properties': {'error': {'$ref': '#/definitions/Error'},
9817 'migration-id': {'type': 'string'},
9818 'model-tag': {'type': 'string'}},
9819 'required': ['model-tag',
9822 'InitiateMigrationResults': {'additionalProperties': False,
9823 'properties': {'results': {'items': {'$ref': '#/definitions/InitiateMigrationResult'},
9825 'required': ['results'],
9827 'Macaroon': {'additionalProperties': False, 'type': 'object'},
9828 'MachineHardware': {'additionalProperties': False,
9829 'properties': {'arch': {'type': 'string'},
9830 'availability-zone': {'type': 'string'},
9831 'cores': {'type': 'integer'},
9832 'cpu-power': {'type': 'integer'},
9833 'mem': {'type': 'integer'},
9834 'root-disk': {'type': 'integer'},
9835 'tags': {'items': {'type': 'string'},
9838 'MigrationSpec': {'additionalProperties': False,
9839 'properties': {'external-control': {'type': 'boolean'},
9840 'model-tag': {'type': 'string'},
9841 'target-info': {'$ref': '#/definitions/MigrationTargetInfo'}},
9842 'required': ['model-tag',
9844 'external-control'],
9846 'MigrationTargetInfo': {'additionalProperties': False,
9847 'properties': {'addrs': {'items': {'type': 'string'},
9849 'auth-tag': {'type': 'string'},
9850 'ca-cert': {'type': 'string'},
9851 'controller-tag': {'type': 'string'},
9852 'macaroons': {'type': 'string'},
9853 'password': {'type': 'string'}},
9854 'required': ['controller-tag',
9859 'Model': {'additionalProperties': False,
9860 'properties': {'name': {'type': 'string'},
9861 'owner-tag': {'type': 'string'},
9862 'uuid': {'type': 'string'}},
9863 'required': ['name', 'uuid', 'owner-tag'],
9865 'ModelBlockInfo': {'additionalProperties': False,
9866 'properties': {'blocks': {'items': {'type': 'string'},
9868 'model-uuid': {'type': 'string'},
9869 'name': {'type': 'string'},
9870 'owner-tag': {'type': 'string'}},
9871 'required': ['name',
9876 'ModelBlockInfoList': {'additionalProperties': False,
9877 'properties': {'models': {'items': {'$ref': '#/definitions/ModelBlockInfo'},
9880 'ModelConfigResults': {'additionalProperties': False,
9881 'properties': {'config': {'patternProperties': {'.*': {'$ref': '#/definitions/ConfigValue'}},
9883 'required': ['config'],
9885 'ModelMachineInfo': {'additionalProperties': False,
9886 'properties': {'hardware': {'$ref': '#/definitions/MachineHardware'},
9887 'id': {'type': 'string'}},
9890 'ModelStatus': {'additionalProperties': False,
9891 'properties': {'application-count': {'type': 'integer'},
9892 'hosted-machine-count': {'type': 'integer'},
9893 'life': {'type': 'string'},
9894 'machines': {'items': {'$ref': '#/definitions/ModelMachineInfo'},
9896 'model-tag': {'type': 'string'},
9897 'owner-tag': {'type': 'string'}},
9898 'required': ['model-tag',
9900 'hosted-machine-count',
9901 'application-count',
9904 'ModelStatusResults': {'additionalProperties': False,
9905 'properties': {'models': {'items': {'$ref': '#/definitions/ModelStatus'},
9907 'required': ['models'],
9909 'ModifyControllerAccess': {'additionalProperties': False,
9910 'properties': {'access': {'type': 'string'},
9911 'action': {'type': 'string'},
9912 'user-tag': {'type': 'string'}},
9913 'required': ['user-tag',
9917 'ModifyControllerAccessRequest': {'additionalProperties': False,
9918 'properties': {'changes': {'items': {'$ref': '#/definitions/ModifyControllerAccess'},
9920 'required': ['changes'],
9922 'RemoveBlocksArgs': {'additionalProperties': False,
9923 'properties': {'all': {'type': 'boolean'}},
9924 'required': ['all'],
9926 'UserAccess': {'additionalProperties': False,
9927 'properties': {'access': {'type': 'string'},
9928 'user-tag': {'type': 'string'}},
9929 'required': ['user-tag', 'access'],
9931 'UserAccessResult': {'additionalProperties': False,
9932 'properties': {'error': {'$ref': '#/definitions/Error'},
9933 'result': {'$ref': '#/definitions/UserAccess'}},
9935 'UserAccessResults': {'additionalProperties': False,
9936 'properties': {'results': {'items': {'$ref': '#/definitions/UserAccessResult'},
9939 'UserModel': {'additionalProperties': False,
9940 'properties': {'last-connection': {'format': 'date-time',
9942 'model': {'$ref': '#/definitions/Model'}},
9943 'required': ['model', 'last-connection'],
9945 'UserModelList': {'additionalProperties': False,
9946 'properties': {'user-models': {'items': {'$ref': '#/definitions/UserModel'},
9948 'required': ['user-models'],
9950 'properties': {'AllModels': {'properties': {'Result': {'$ref': '#/definitions/UserModelList'}},
9952 'CloudSpec': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9953 'Result': {'$ref': '#/definitions/CloudSpecResults'}},
9955 'ControllerConfig': {'properties': {'Result': {'$ref': '#/definitions/ControllerConfigResult'}},
9957 'DestroyController': {'properties': {'Params': {'$ref': '#/definitions/DestroyControllerArgs'}},
9959 'GetControllerAccess': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9960 'Result': {'$ref': '#/definitions/UserAccessResults'}},
9962 'InitiateMigration': {'properties': {'Params': {'$ref': '#/definitions/InitiateMigrationArgs'},
9963 'Result': {'$ref': '#/definitions/InitiateMigrationResults'}},
9965 'ListBlockedModels': {'properties': {'Result': {'$ref': '#/definitions/ModelBlockInfoList'}},
9967 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResults'}},
9969 'ModelStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9970 'Result': {'$ref': '#/definitions/ModelStatusResults'}},
9972 'ModifyControllerAccess': {'properties': {'Params': {'$ref': '#/definitions/ModifyControllerAccessRequest'},
9973 'Result': {'$ref': '#/definitions/ErrorResults'}},
9975 'RemoveBlocks': {'properties': {'Params': {'$ref': '#/definitions/RemoveBlocksArgs'}},
9977 'WatchAllModels': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherId'}},
9982 @ReturnMapping(UserModelList
)
9983 async def AllModels(self
):
9986 Returns -> typing.Sequence<+T_co>[~UserModel]<~UserModel>
9988 # map input types to rpc msg
9990 msg
= dict(type='Controller', request
='AllModels', version
=3, params
=params
)
9992 reply
= await self
.rpc(msg
)
9997 @ReturnMapping(CloudSpecResults
)
9998 async def CloudSpec(self
, entities
):
10000 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
10001 Returns -> typing.Sequence<+T_co>[~CloudSpecResult]<~CloudSpecResult>
10003 # map input types to rpc msg
10005 msg
= dict(type='Controller', request
='CloudSpec', version
=3, params
=params
)
10006 params
['entities'] = entities
10007 reply
= await self
.rpc(msg
)
10012 @ReturnMapping(ControllerConfigResult
)
10013 async def ControllerConfig(self
):
10016 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
10018 # map input types to rpc msg
10020 msg
= dict(type='Controller', request
='ControllerConfig', version
=3, params
=params
)
10022 reply
= await self
.rpc(msg
)
10027 @ReturnMapping(None)
10028 async def DestroyController(self
, destroy_models
):
10030 destroy_models : bool
10033 # map input types to rpc msg
10035 msg
= dict(type='Controller', request
='DestroyController', version
=3, params
=params
)
10036 params
['destroy-models'] = destroy_models
10037 reply
= await self
.rpc(msg
)
10042 @ReturnMapping(UserAccessResults
)
10043 async def GetControllerAccess(self
, entities
):
10045 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
10046 Returns -> typing.Sequence<+T_co>[~UserAccessResult]<~UserAccessResult>
10048 # map input types to rpc msg
10050 msg
= dict(type='Controller', request
='GetControllerAccess', version
=3, params
=params
)
10051 params
['entities'] = entities
10052 reply
= await self
.rpc(msg
)
10057 @ReturnMapping(InitiateMigrationResults
)
10058 async def InitiateMigration(self
, specs
):
10060 specs : typing.Sequence<+T_co>[~MigrationSpec]<~MigrationSpec>
10061 Returns -> typing.Sequence<+T_co>[~InitiateMigrationResult]<~InitiateMigrationResult>
10063 # map input types to rpc msg
10065 msg
= dict(type='Controller', request
='InitiateMigration', version
=3, params
=params
)
10066 params
['specs'] = specs
10067 reply
= await self
.rpc(msg
)
10072 @ReturnMapping(ModelBlockInfoList
)
10073 async def ListBlockedModels(self
):
10076 Returns -> typing.Sequence<+T_co>[~ModelBlockInfo]<~ModelBlockInfo>
10078 # map input types to rpc msg
10080 msg
= dict(type='Controller', request
='ListBlockedModels', version
=3, params
=params
)
10082 reply
= await self
.rpc(msg
)
10087 @ReturnMapping(ModelConfigResults
)
10088 async def ModelConfig(self
):
10091 Returns -> typing.Mapping<~KT, +VT_co>[str, ~ConfigValue]<~ConfigValue>
10093 # map input types to rpc msg
10095 msg
= dict(type='Controller', request
='ModelConfig', version
=3, params
=params
)
10097 reply
= await self
.rpc(msg
)
10102 @ReturnMapping(ModelStatusResults
)
10103 async def ModelStatus(self
, entities
):
10105 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
10106 Returns -> typing.Sequence<+T_co>[~ModelStatus]<~ModelStatus>
10108 # map input types to rpc msg
10110 msg
= dict(type='Controller', request
='ModelStatus', version
=3, params
=params
)
10111 params
['entities'] = entities
10112 reply
= await self
.rpc(msg
)
10117 @ReturnMapping(ErrorResults
)
10118 async def ModifyControllerAccess(self
, changes
):
10120 changes : typing.Sequence<+T_co>[~ModifyControllerAccess]<~ModifyControllerAccess>
10121 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
10123 # map input types to rpc msg
10125 msg
= dict(type='Controller', request
='ModifyControllerAccess', version
=3, params
=params
)
10126 params
['changes'] = changes
10127 reply
= await self
.rpc(msg
)
10132 @ReturnMapping(None)
10133 async def RemoveBlocks(self
, all_
):
10138 # map input types to rpc msg
10140 msg
= dict(type='Controller', request
='RemoveBlocks', version
=3, params
=params
)
10141 params
['all'] = all_
10142 reply
= await self
.rpc(msg
)
10147 @ReturnMapping(AllWatcherId
)
10148 async def WatchAllModels(self
):
10153 # map input types to rpc msg
10155 msg
= dict(type='Controller', request
='WatchAllModels', version
=3, params
=params
)
10157 reply
= await self
.rpc(msg
)
10161 class DeployerFacade(Type
):
10164 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
10165 'properties': {'servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
10168 'required': ['servers'],
10170 'Address': {'additionalProperties': False,
10171 'properties': {'scope': {'type': 'string'},
10172 'space-name': {'type': 'string'},
10173 'type': {'type': 'string'},
10174 'value': {'type': 'string'}},
10175 'required': ['value', 'type', 'scope'],
10177 'BytesResult': {'additionalProperties': False,
10178 'properties': {'result': {'items': {'type': 'integer'},
10180 'required': ['result'],
10182 'DeployerConnectionValues': {'additionalProperties': False,
10183 'properties': {'api-addresses': {'items': {'type': 'string'},
10185 'state-addresses': {'items': {'type': 'string'},
10187 'required': ['state-addresses',
10190 'Entities': {'additionalProperties': False,
10191 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
10193 'required': ['entities'],
10195 'Entity': {'additionalProperties': False,
10196 'properties': {'tag': {'type': 'string'}},
10197 'required': ['tag'],
10199 'EntityPassword': {'additionalProperties': False,
10200 'properties': {'password': {'type': 'string'},
10201 'tag': {'type': 'string'}},
10202 'required': ['tag', 'password'],
10204 'EntityPasswords': {'additionalProperties': False,
10205 'properties': {'changes': {'items': {'$ref': '#/definitions/EntityPassword'},
10207 'required': ['changes'],
10209 'Error': {'additionalProperties': False,
10210 'properties': {'code': {'type': 'string'},
10211 'info': {'$ref': '#/definitions/ErrorInfo'},
10212 'message': {'type': 'string'}},
10213 'required': ['message', 'code'],
10215 'ErrorInfo': {'additionalProperties': False,
10216 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
10217 'macaroon-path': {'type': 'string'}},
10219 'ErrorResult': {'additionalProperties': False,
10220 'properties': {'error': {'$ref': '#/definitions/Error'}},
10222 'ErrorResults': {'additionalProperties': False,
10223 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
10225 'required': ['results'],
10227 'HostPort': {'additionalProperties': False,
10228 'properties': {'Address': {'$ref': '#/definitions/Address'},
10229 'port': {'type': 'integer'}},
10230 'required': ['Address', 'port'],
10232 'LifeResult': {'additionalProperties': False,
10233 'properties': {'error': {'$ref': '#/definitions/Error'},
10234 'life': {'type': 'string'}},
10235 'required': ['life'],
10237 'LifeResults': {'additionalProperties': False,
10238 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
10240 'required': ['results'],
10242 'Macaroon': {'additionalProperties': False, 'type': 'object'},
10243 'NotifyWatchResult': {'additionalProperties': False,
10244 'properties': {'NotifyWatcherId': {'type': 'string'},
10245 'error': {'$ref': '#/definitions/Error'}},
10246 'required': ['NotifyWatcherId'],
10248 'StringResult': {'additionalProperties': False,
10249 'properties': {'error': {'$ref': '#/definitions/Error'},
10250 'result': {'type': 'string'}},
10251 'required': ['result'],
10253 'StringsResult': {'additionalProperties': False,
10254 'properties': {'error': {'$ref': '#/definitions/Error'},
10255 'result': {'items': {'type': 'string'},
10258 'StringsWatchResult': {'additionalProperties': False,
10259 'properties': {'changes': {'items': {'type': 'string'},
10261 'error': {'$ref': '#/definitions/Error'},
10262 'watcher-id': {'type': 'string'}},
10263 'required': ['watcher-id'],
10265 'StringsWatchResults': {'additionalProperties': False,
10266 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
10268 'required': ['results'],
10269 'type': 'object'}},
10270 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
10272 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
10274 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
10276 'ConnectionInfo': {'properties': {'Result': {'$ref': '#/definitions/DeployerConnectionValues'}},
10278 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10279 'Result': {'$ref': '#/definitions/LifeResults'}},
10281 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
10283 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10284 'Result': {'$ref': '#/definitions/ErrorResults'}},
10286 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
10287 'Result': {'$ref': '#/definitions/ErrorResults'}},
10289 'StateAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
10291 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
10293 'WatchUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10294 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
10295 'type': 'object'}},
10299 @ReturnMapping(StringsResult
)
10300 async def APIAddresses(self
):
10303 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[str]]
10305 # map input types to rpc msg
10307 msg
= dict(type='Deployer', request
='APIAddresses', version
=1, params
=params
)
10309 reply
= await self
.rpc(msg
)
10314 @ReturnMapping(APIHostPortsResult
)
10315 async def APIHostPorts(self
):
10318 Returns -> typing.Sequence<+T_co>[~HostPort]<~HostPort>
10320 # map input types to rpc msg
10322 msg
= dict(type='Deployer', request
='APIHostPorts', version
=1, params
=params
)
10324 reply
= await self
.rpc(msg
)
10329 @ReturnMapping(BytesResult
)
10330 async def CACert(self
):
10333 Returns -> typing.Sequence<+T_co>[int]
10335 # map input types to rpc msg
10337 msg
= dict(type='Deployer', request
='CACert', version
=1, params
=params
)
10339 reply
= await self
.rpc(msg
)
10344 @ReturnMapping(DeployerConnectionValues
)
10345 async def ConnectionInfo(self
):
10348 Returns -> typing.Sequence<+T_co>[str]
10350 # map input types to rpc msg
10352 msg
= dict(type='Deployer', request
='ConnectionInfo', version
=1, params
=params
)
10354 reply
= await self
.rpc(msg
)
10359 @ReturnMapping(LifeResults
)
10360 async def Life(self
, entities
):
10362 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
10363 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
10365 # map input types to rpc msg
10367 msg
= dict(type='Deployer', request
='Life', version
=1, params
=params
)
10368 params
['entities'] = entities
10369 reply
= await self
.rpc(msg
)
10374 @ReturnMapping(StringResult
)
10375 async def ModelUUID(self
):
10378 Returns -> typing.Union[_ForwardRef('Error'), str]
10380 # map input types to rpc msg
10382 msg
= dict(type='Deployer', request
='ModelUUID', version
=1, params
=params
)
10384 reply
= await self
.rpc(msg
)
10389 @ReturnMapping(ErrorResults
)
10390 async def Remove(self
, entities
):
10392 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
10393 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
10395 # map input types to rpc msg
10397 msg
= dict(type='Deployer', request
='Remove', version
=1, params
=params
)
10398 params
['entities'] = entities
10399 reply
= await self
.rpc(msg
)
10404 @ReturnMapping(ErrorResults
)
10405 async def SetPasswords(self
, changes
):
10407 changes : typing.Sequence<+T_co>[~EntityPassword]<~EntityPassword>
10408 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
10410 # map input types to rpc msg
10412 msg
= dict(type='Deployer', request
='SetPasswords', version
=1, params
=params
)
10413 params
['changes'] = changes
10414 reply
= await self
.rpc(msg
)
10419 @ReturnMapping(StringsResult
)
10420 async def StateAddresses(self
):
10423 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[str]]
10425 # map input types to rpc msg
10427 msg
= dict(type='Deployer', request
='StateAddresses', version
=1, params
=params
)
10429 reply
= await self
.rpc(msg
)
10434 @ReturnMapping(NotifyWatchResult
)
10435 async def WatchAPIHostPorts(self
):
10438 Returns -> typing.Union[str, _ForwardRef('Error')]
10440 # map input types to rpc msg
10442 msg
= dict(type='Deployer', request
='WatchAPIHostPorts', version
=1, params
=params
)
10444 reply
= await self
.rpc(msg
)
10449 @ReturnMapping(StringsWatchResults
)
10450 async def WatchUnits(self
, entities
):
10452 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
10453 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
10455 # map input types to rpc msg
10457 msg
= dict(type='Deployer', request
='WatchUnits', version
=1, params
=params
)
10458 params
['entities'] = entities
10459 reply
= await self
.rpc(msg
)
10463 class DiscoverSpacesFacade(Type
):
10464 name
= 'DiscoverSpaces'
10466 schema
= {'definitions': {'AddSubnetParams': {'additionalProperties': False,
10467 'properties': {'space-tag': {'type': 'string'},
10468 'subnet-provider-id': {'type': 'string'},
10469 'subnet-tag': {'type': 'string'},
10470 'zones': {'items': {'type': 'string'},
10472 'required': ['space-tag'],
10474 'AddSubnetsParams': {'additionalProperties': False,
10475 'properties': {'subnets': {'items': {'$ref': '#/definitions/AddSubnetParams'},
10477 'required': ['subnets'],
10479 'CreateSpaceParams': {'additionalProperties': False,
10480 'properties': {'provider-id': {'type': 'string'},
10481 'public': {'type': 'boolean'},
10482 'space-tag': {'type': 'string'},
10483 'subnet-tags': {'items': {'type': 'string'},
10485 'required': ['subnet-tags',
10489 'CreateSpacesParams': {'additionalProperties': False,
10490 'properties': {'spaces': {'items': {'$ref': '#/definitions/CreateSpaceParams'},
10492 'required': ['spaces'],
10494 'DiscoverSpacesResults': {'additionalProperties': False,
10495 'properties': {'results': {'items': {'$ref': '#/definitions/ProviderSpace'},
10497 'required': ['results'],
10499 'Error': {'additionalProperties': False,
10500 'properties': {'code': {'type': 'string'},
10501 'info': {'$ref': '#/definitions/ErrorInfo'},
10502 'message': {'type': 'string'}},
10503 'required': ['message', 'code'],
10505 'ErrorInfo': {'additionalProperties': False,
10506 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
10507 'macaroon-path': {'type': 'string'}},
10509 'ErrorResult': {'additionalProperties': False,
10510 'properties': {'error': {'$ref': '#/definitions/Error'}},
10512 'ErrorResults': {'additionalProperties': False,
10513 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
10515 'required': ['results'],
10517 'ListSubnetsResults': {'additionalProperties': False,
10518 'properties': {'results': {'items': {'$ref': '#/definitions/Subnet'},
10520 'required': ['results'],
10522 'Macaroon': {'additionalProperties': False, 'type': 'object'},
10523 'ModelConfigResult': {'additionalProperties': False,
10524 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
10525 'type': 'object'}},
10526 'type': 'object'}},
10527 'required': ['config'],
10529 'ProviderSpace': {'additionalProperties': False,
10530 'properties': {'error': {'$ref': '#/definitions/Error'},
10531 'name': {'type': 'string'},
10532 'provider-id': {'type': 'string'},
10533 'subnets': {'items': {'$ref': '#/definitions/Subnet'},
10535 'required': ['name',
10539 'Subnet': {'additionalProperties': False,
10540 'properties': {'cidr': {'type': 'string'},
10541 'life': {'type': 'string'},
10542 'provider-id': {'type': 'string'},
10543 'space-tag': {'type': 'string'},
10544 'status': {'type': 'string'},
10545 'vlan-tag': {'type': 'integer'},
10546 'zones': {'items': {'type': 'string'},
10548 'required': ['cidr',
10554 'SubnetsFilters': {'additionalProperties': False,
10555 'properties': {'space-tag': {'type': 'string'},
10556 'zone': {'type': 'string'}},
10557 'type': 'object'}},
10558 'properties': {'AddSubnets': {'properties': {'Params': {'$ref': '#/definitions/AddSubnetsParams'},
10559 'Result': {'$ref': '#/definitions/ErrorResults'}},
10561 'CreateSpaces': {'properties': {'Params': {'$ref': '#/definitions/CreateSpacesParams'},
10562 'Result': {'$ref': '#/definitions/ErrorResults'}},
10564 'ListSpaces': {'properties': {'Result': {'$ref': '#/definitions/DiscoverSpacesResults'}},
10566 'ListSubnets': {'properties': {'Params': {'$ref': '#/definitions/SubnetsFilters'},
10567 'Result': {'$ref': '#/definitions/ListSubnetsResults'}},
10569 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
10570 'type': 'object'}},
10574 @ReturnMapping(ErrorResults
)
10575 async def AddSubnets(self
, subnets
):
10577 subnets : typing.Sequence<+T_co>[~AddSubnetParams]<~AddSubnetParams>
10578 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
10580 # map input types to rpc msg
10582 msg
= dict(type='DiscoverSpaces', request
='AddSubnets', version
=2, params
=params
)
10583 params
['subnets'] = subnets
10584 reply
= await self
.rpc(msg
)
10589 @ReturnMapping(ErrorResults
)
10590 async def CreateSpaces(self
, spaces
):
10592 spaces : typing.Sequence<+T_co>[~CreateSpaceParams]<~CreateSpaceParams>
10593 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
10595 # map input types to rpc msg
10597 msg
= dict(type='DiscoverSpaces', request
='CreateSpaces', version
=2, params
=params
)
10598 params
['spaces'] = spaces
10599 reply
= await self
.rpc(msg
)
10604 @ReturnMapping(DiscoverSpacesResults
)
10605 async def ListSpaces(self
):
10608 Returns -> typing.Sequence<+T_co>[~ProviderSpace]<~ProviderSpace>
10610 # map input types to rpc msg
10612 msg
= dict(type='DiscoverSpaces', request
='ListSpaces', version
=2, params
=params
)
10614 reply
= await self
.rpc(msg
)
10619 @ReturnMapping(ListSubnetsResults
)
10620 async def ListSubnets(self
, space_tag
, zone
):
10624 Returns -> typing.Sequence<+T_co>[~Subnet]<~Subnet>
10626 # map input types to rpc msg
10628 msg
= dict(type='DiscoverSpaces', request
='ListSubnets', version
=2, params
=params
)
10629 params
['space-tag'] = space_tag
10630 params
['zone'] = zone
10631 reply
= await self
.rpc(msg
)
10636 @ReturnMapping(ModelConfigResult
)
10637 async def ModelConfig(self
):
10640 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
10642 # map input types to rpc msg
10644 msg
= dict(type='DiscoverSpaces', request
='ModelConfig', version
=2, params
=params
)
10646 reply
= await self
.rpc(msg
)
10650 class DiskManagerFacade(Type
):
10651 name
= 'DiskManager'
10653 schema
= {'definitions': {'BlockDevice': {'additionalProperties': False,
10654 'properties': {'BusAddress': {'type': 'string'},
10655 'DeviceLinks': {'items': {'type': 'string'},
10657 'DeviceName': {'type': 'string'},
10658 'FilesystemType': {'type': 'string'},
10659 'HardwareId': {'type': 'string'},
10660 'InUse': {'type': 'boolean'},
10661 'Label': {'type': 'string'},
10662 'MountPoint': {'type': 'string'},
10663 'Size': {'type': 'integer'},
10664 'UUID': {'type': 'string'}},
10665 'required': ['DeviceName',
10676 'Error': {'additionalProperties': False,
10677 'properties': {'code': {'type': 'string'},
10678 'info': {'$ref': '#/definitions/ErrorInfo'},
10679 'message': {'type': 'string'}},
10680 'required': ['message', 'code'],
10682 'ErrorInfo': {'additionalProperties': False,
10683 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
10684 'macaroon-path': {'type': 'string'}},
10686 'ErrorResult': {'additionalProperties': False,
10687 'properties': {'error': {'$ref': '#/definitions/Error'}},
10689 'ErrorResults': {'additionalProperties': False,
10690 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
10692 'required': ['results'],
10694 'Macaroon': {'additionalProperties': False, 'type': 'object'},
10695 'MachineBlockDevices': {'additionalProperties': False,
10696 'properties': {'block-devices': {'items': {'$ref': '#/definitions/BlockDevice'},
10698 'machine': {'type': 'string'}},
10699 'required': ['machine'],
10701 'SetMachineBlockDevices': {'additionalProperties': False,
10702 'properties': {'machine-block-devices': {'items': {'$ref': '#/definitions/MachineBlockDevices'},
10704 'required': ['machine-block-devices'],
10705 'type': 'object'}},
10706 'properties': {'SetMachineBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/SetMachineBlockDevices'},
10707 'Result': {'$ref': '#/definitions/ErrorResults'}},
10708 'type': 'object'}},
10712 @ReturnMapping(ErrorResults
)
10713 async def SetMachineBlockDevices(self
, machine_block_devices
):
10715 machine_block_devices : typing.Sequence<+T_co>[~MachineBlockDevices]<~MachineBlockDevices>
10716 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
10718 # map input types to rpc msg
10720 msg
= dict(type='DiskManager', request
='SetMachineBlockDevices', version
=2, params
=params
)
10721 params
['machine-block-devices'] = machine_block_devices
10722 reply
= await self
.rpc(msg
)
10726 class EntityWatcherFacade(Type
):
10727 name
= 'EntityWatcher'
10729 schema
= {'definitions': {'EntitiesWatchResult': {'additionalProperties': False,
10730 'properties': {'changes': {'items': {'type': 'string'},
10732 'error': {'$ref': '#/definitions/Error'},
10733 'watcher-id': {'type': 'string'}},
10734 'required': ['watcher-id'],
10736 'Error': {'additionalProperties': False,
10737 'properties': {'code': {'type': 'string'},
10738 'info': {'$ref': '#/definitions/ErrorInfo'},
10739 'message': {'type': 'string'}},
10740 'required': ['message', 'code'],
10742 'ErrorInfo': {'additionalProperties': False,
10743 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
10744 'macaroon-path': {'type': 'string'}},
10746 'Macaroon': {'additionalProperties': False, 'type': 'object'}},
10747 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/EntitiesWatchResult'}},
10749 'Stop': {'type': 'object'}},
10753 @ReturnMapping(EntitiesWatchResult
)
10754 async def Next(self
):
10757 Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')]
10759 # map input types to rpc msg
10761 msg
= dict(type='EntityWatcher', request
='Next', version
=2, params
=params
)
10763 reply
= await self
.rpc(msg
)
10768 @ReturnMapping(None)
10769 async def Stop(self
):
10774 # map input types to rpc msg
10776 msg
= dict(type='EntityWatcher', request
='Stop', version
=2, params
=params
)
10778 reply
= await self
.rpc(msg
)
10782 class FilesystemAttachmentsWatcherFacade(Type
):
10783 name
= 'FilesystemAttachmentsWatcher'
10785 schema
= {'definitions': {'Error': {'additionalProperties': False,
10786 'properties': {'code': {'type': 'string'},
10787 'info': {'$ref': '#/definitions/ErrorInfo'},
10788 'message': {'type': 'string'}},
10789 'required': ['message', 'code'],
10791 'ErrorInfo': {'additionalProperties': False,
10792 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
10793 'macaroon-path': {'type': 'string'}},
10795 'Macaroon': {'additionalProperties': False, 'type': 'object'},
10796 'MachineStorageId': {'additionalProperties': False,
10797 'properties': {'attachment-tag': {'type': 'string'},
10798 'machine-tag': {'type': 'string'}},
10799 'required': ['machine-tag',
10802 'MachineStorageIdsWatchResult': {'additionalProperties': False,
10803 'properties': {'changes': {'items': {'$ref': '#/definitions/MachineStorageId'},
10805 'error': {'$ref': '#/definitions/Error'},
10806 'watcher-id': {'type': 'string'}},
10807 'required': ['watcher-id',
10809 'type': 'object'}},
10810 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResult'}},
10812 'Stop': {'type': 'object'}},
10816 @ReturnMapping(MachineStorageIdsWatchResult
)
10817 async def Next(self
):
10820 Returns -> typing.Union[typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>, _ForwardRef('Error')]
10822 # map input types to rpc msg
10824 msg
= dict(type='FilesystemAttachmentsWatcher', request
='Next', version
=2, params
=params
)
10826 reply
= await self
.rpc(msg
)
10831 @ReturnMapping(None)
10832 async def Stop(self
):
10837 # map input types to rpc msg
10839 msg
= dict(type='FilesystemAttachmentsWatcher', request
='Stop', version
=2, params
=params
)
10841 reply
= await self
.rpc(msg
)
10845 class FirewallerFacade(Type
):
10846 name
= 'Firewaller'
10848 schema
= {'definitions': {'BoolResult': {'additionalProperties': False,
10849 'properties': {'error': {'$ref': '#/definitions/Error'},
10850 'result': {'type': 'boolean'}},
10851 'required': ['result'],
10853 'BoolResults': {'additionalProperties': False,
10854 'properties': {'results': {'items': {'$ref': '#/definitions/BoolResult'},
10856 'required': ['results'],
10858 'CloudCredential': {'additionalProperties': False,
10859 'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}},
10861 'auth-type': {'type': 'string'},
10862 'redacted': {'items': {'type': 'string'},
10864 'required': ['auth-type'],
10866 'CloudSpec': {'additionalProperties': False,
10867 'properties': {'credential': {'$ref': '#/definitions/CloudCredential'},
10868 'endpoint': {'type': 'string'},
10869 'identity-endpoint': {'type': 'string'},
10870 'name': {'type': 'string'},
10871 'region': {'type': 'string'},
10872 'storage-endpoint': {'type': 'string'},
10873 'type': {'type': 'string'}},
10874 'required': ['type', 'name'],
10876 'CloudSpecResult': {'additionalProperties': False,
10877 'properties': {'error': {'$ref': '#/definitions/Error'},
10878 'result': {'$ref': '#/definitions/CloudSpec'}},
10880 'CloudSpecResults': {'additionalProperties': False,
10881 'properties': {'results': {'items': {'$ref': '#/definitions/CloudSpecResult'},
10884 'Entities': {'additionalProperties': False,
10885 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
10887 'required': ['entities'],
10889 'Entity': {'additionalProperties': False,
10890 'properties': {'tag': {'type': 'string'}},
10891 'required': ['tag'],
10893 'Error': {'additionalProperties': False,
10894 'properties': {'code': {'type': 'string'},
10895 'info': {'$ref': '#/definitions/ErrorInfo'},
10896 'message': {'type': 'string'}},
10897 'required': ['message', 'code'],
10899 'ErrorInfo': {'additionalProperties': False,
10900 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
10901 'macaroon-path': {'type': 'string'}},
10903 'LifeResult': {'additionalProperties': False,
10904 'properties': {'error': {'$ref': '#/definitions/Error'},
10905 'life': {'type': 'string'}},
10906 'required': ['life'],
10908 'LifeResults': {'additionalProperties': False,
10909 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
10911 'required': ['results'],
10913 'Macaroon': {'additionalProperties': False, 'type': 'object'},
10914 'MachinePortRange': {'additionalProperties': False,
10915 'properties': {'port-range': {'$ref': '#/definitions/PortRange'},
10916 'relation-tag': {'type': 'string'},
10917 'unit-tag': {'type': 'string'}},
10918 'required': ['unit-tag',
10922 'MachinePorts': {'additionalProperties': False,
10923 'properties': {'machine-tag': {'type': 'string'},
10924 'subnet-tag': {'type': 'string'}},
10925 'required': ['machine-tag', 'subnet-tag'],
10927 'MachinePortsParams': {'additionalProperties': False,
10928 'properties': {'params': {'items': {'$ref': '#/definitions/MachinePorts'},
10930 'required': ['params'],
10932 'MachinePortsResult': {'additionalProperties': False,
10933 'properties': {'error': {'$ref': '#/definitions/Error'},
10934 'ports': {'items': {'$ref': '#/definitions/MachinePortRange'},
10936 'required': ['ports'],
10938 'MachinePortsResults': {'additionalProperties': False,
10939 'properties': {'results': {'items': {'$ref': '#/definitions/MachinePortsResult'},
10941 'required': ['results'],
10943 'ModelConfigResult': {'additionalProperties': False,
10944 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
10945 'type': 'object'}},
10946 'type': 'object'}},
10947 'required': ['config'],
10949 'NotifyWatchResult': {'additionalProperties': False,
10950 'properties': {'NotifyWatcherId': {'type': 'string'},
10951 'error': {'$ref': '#/definitions/Error'}},
10952 'required': ['NotifyWatcherId'],
10954 'NotifyWatchResults': {'additionalProperties': False,
10955 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
10957 'required': ['results'],
10959 'PortRange': {'additionalProperties': False,
10960 'properties': {'from-port': {'type': 'integer'},
10961 'protocol': {'type': 'string'},
10962 'to-port': {'type': 'integer'}},
10963 'required': ['from-port', 'to-port', 'protocol'],
10965 'StringResult': {'additionalProperties': False,
10966 'properties': {'error': {'$ref': '#/definitions/Error'},
10967 'result': {'type': 'string'}},
10968 'required': ['result'],
10970 'StringResults': {'additionalProperties': False,
10971 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
10973 'required': ['results'],
10975 'StringsResult': {'additionalProperties': False,
10976 'properties': {'error': {'$ref': '#/definitions/Error'},
10977 'result': {'items': {'type': 'string'},
10980 'StringsResults': {'additionalProperties': False,
10981 'properties': {'results': {'items': {'$ref': '#/definitions/StringsResult'},
10983 'required': ['results'],
10985 'StringsWatchResult': {'additionalProperties': False,
10986 'properties': {'changes': {'items': {'type': 'string'},
10988 'error': {'$ref': '#/definitions/Error'},
10989 'watcher-id': {'type': 'string'}},
10990 'required': ['watcher-id'],
10992 'StringsWatchResults': {'additionalProperties': False,
10993 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
10995 'required': ['results'],
10996 'type': 'object'}},
10997 'properties': {'CloudSpec': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10998 'Result': {'$ref': '#/definitions/CloudSpecResults'}},
11000 'GetAssignedMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11001 'Result': {'$ref': '#/definitions/StringResults'}},
11003 'GetExposed': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11004 'Result': {'$ref': '#/definitions/BoolResults'}},
11006 'GetMachineActiveSubnets': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11007 'Result': {'$ref': '#/definitions/StringsResults'}},
11009 'GetMachinePorts': {'properties': {'Params': {'$ref': '#/definitions/MachinePortsParams'},
11010 'Result': {'$ref': '#/definitions/MachinePortsResults'}},
11012 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11013 'Result': {'$ref': '#/definitions/StringResults'}},
11015 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11016 'Result': {'$ref': '#/definitions/LifeResults'}},
11018 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
11020 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11021 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
11023 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
11025 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
11027 'WatchOpenedPorts': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11028 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
11030 'WatchUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11031 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
11032 'type': 'object'}},
11036 @ReturnMapping(CloudSpecResults
)
11037 async def CloudSpec(self
, entities
):
11039 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11040 Returns -> typing.Sequence<+T_co>[~CloudSpecResult]<~CloudSpecResult>
11042 # map input types to rpc msg
11044 msg
= dict(type='Firewaller', request
='CloudSpec', version
=3, params
=params
)
11045 params
['entities'] = entities
11046 reply
= await self
.rpc(msg
)
11051 @ReturnMapping(StringResults
)
11052 async def GetAssignedMachine(self
, entities
):
11054 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11055 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
11057 # map input types to rpc msg
11059 msg
= dict(type='Firewaller', request
='GetAssignedMachine', version
=3, params
=params
)
11060 params
['entities'] = entities
11061 reply
= await self
.rpc(msg
)
11066 @ReturnMapping(BoolResults
)
11067 async def GetExposed(self
, entities
):
11069 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11070 Returns -> typing.Sequence<+T_co>[~BoolResult]<~BoolResult>
11072 # map input types to rpc msg
11074 msg
= dict(type='Firewaller', request
='GetExposed', version
=3, params
=params
)
11075 params
['entities'] = entities
11076 reply
= await self
.rpc(msg
)
11081 @ReturnMapping(StringsResults
)
11082 async def GetMachineActiveSubnets(self
, entities
):
11084 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11085 Returns -> typing.Sequence<+T_co>[~StringsResult]<~StringsResult>
11087 # map input types to rpc msg
11089 msg
= dict(type='Firewaller', request
='GetMachineActiveSubnets', version
=3, params
=params
)
11090 params
['entities'] = entities
11091 reply
= await self
.rpc(msg
)
11096 @ReturnMapping(MachinePortsResults
)
11097 async def GetMachinePorts(self
, params
):
11099 params : typing.Sequence<+T_co>[~MachinePorts]<~MachinePorts>
11100 Returns -> typing.Sequence<+T_co>[~MachinePortsResult]<~MachinePortsResult>
11102 # map input types to rpc msg
11104 msg
= dict(type='Firewaller', request
='GetMachinePorts', version
=3, params
=params
)
11105 params
['params'] = params
11106 reply
= await self
.rpc(msg
)
11111 @ReturnMapping(StringResults
)
11112 async def InstanceId(self
, entities
):
11114 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11115 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
11117 # map input types to rpc msg
11119 msg
= dict(type='Firewaller', request
='InstanceId', version
=3, params
=params
)
11120 params
['entities'] = entities
11121 reply
= await self
.rpc(msg
)
11126 @ReturnMapping(LifeResults
)
11127 async def Life(self
, entities
):
11129 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11130 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
11132 # map input types to rpc msg
11134 msg
= dict(type='Firewaller', request
='Life', version
=3, params
=params
)
11135 params
['entities'] = entities
11136 reply
= await self
.rpc(msg
)
11141 @ReturnMapping(ModelConfigResult
)
11142 async def ModelConfig(self
):
11145 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
11147 # map input types to rpc msg
11149 msg
= dict(type='Firewaller', request
='ModelConfig', version
=3, params
=params
)
11151 reply
= await self
.rpc(msg
)
11156 @ReturnMapping(NotifyWatchResults
)
11157 async def Watch(self
, entities
):
11159 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11160 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
11162 # map input types to rpc msg
11164 msg
= dict(type='Firewaller', request
='Watch', version
=3, params
=params
)
11165 params
['entities'] = entities
11166 reply
= await self
.rpc(msg
)
11171 @ReturnMapping(NotifyWatchResult
)
11172 async def WatchForModelConfigChanges(self
):
11175 Returns -> typing.Union[str, _ForwardRef('Error')]
11177 # map input types to rpc msg
11179 msg
= dict(type='Firewaller', request
='WatchForModelConfigChanges', version
=3, params
=params
)
11181 reply
= await self
.rpc(msg
)
11186 @ReturnMapping(StringsWatchResult
)
11187 async def WatchModelMachines(self
):
11190 Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')]
11192 # map input types to rpc msg
11194 msg
= dict(type='Firewaller', request
='WatchModelMachines', version
=3, params
=params
)
11196 reply
= await self
.rpc(msg
)
11201 @ReturnMapping(StringsWatchResults
)
11202 async def WatchOpenedPorts(self
, entities
):
11204 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11205 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
11207 # map input types to rpc msg
11209 msg
= dict(type='Firewaller', request
='WatchOpenedPorts', version
=3, params
=params
)
11210 params
['entities'] = entities
11211 reply
= await self
.rpc(msg
)
11216 @ReturnMapping(StringsWatchResults
)
11217 async def WatchUnits(self
, entities
):
11219 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11220 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
11222 # map input types to rpc msg
11224 msg
= dict(type='Firewaller', request
='WatchUnits', version
=3, params
=params
)
11225 params
['entities'] = entities
11226 reply
= await self
.rpc(msg
)
11230 class HighAvailabilityFacade(Type
):
11231 name
= 'HighAvailability'
11233 schema
= {'definitions': {'Address': {'additionalProperties': False,
11234 'properties': {'Scope': {'type': 'string'},
11235 'SpaceName': {'type': 'string'},
11236 'SpaceProviderId': {'type': 'string'},
11237 'Type': {'type': 'string'},
11238 'Value': {'type': 'string'}},
11239 'required': ['Value',
11243 'SpaceProviderId'],
11245 'ControllersChangeResult': {'additionalProperties': False,
11246 'properties': {'error': {'$ref': '#/definitions/Error'},
11247 'result': {'$ref': '#/definitions/ControllersChanges'}},
11248 'required': ['result'],
11250 'ControllersChangeResults': {'additionalProperties': False,
11251 'properties': {'results': {'items': {'$ref': '#/definitions/ControllersChangeResult'},
11253 'required': ['results'],
11255 'ControllersChanges': {'additionalProperties': False,
11256 'properties': {'added': {'items': {'type': 'string'},
11258 'converted': {'items': {'type': 'string'},
11260 'demoted': {'items': {'type': 'string'},
11262 'maintained': {'items': {'type': 'string'},
11264 'promoted': {'items': {'type': 'string'},
11266 'removed': {'items': {'type': 'string'},
11269 'ControllersSpec': {'additionalProperties': False,
11270 'properties': {'constraints': {'$ref': '#/definitions/Value'},
11271 'model-tag': {'type': 'string'},
11272 'num-controllers': {'type': 'integer'},
11273 'placement': {'items': {'type': 'string'},
11275 'series': {'type': 'string'}},
11276 'required': ['model-tag',
11277 'num-controllers'],
11279 'ControllersSpecs': {'additionalProperties': False,
11280 'properties': {'specs': {'items': {'$ref': '#/definitions/ControllersSpec'},
11282 'required': ['specs'],
11284 'Error': {'additionalProperties': False,
11285 'properties': {'code': {'type': 'string'},
11286 'info': {'$ref': '#/definitions/ErrorInfo'},
11287 'message': {'type': 'string'}},
11288 'required': ['message', 'code'],
11290 'ErrorInfo': {'additionalProperties': False,
11291 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
11292 'macaroon-path': {'type': 'string'}},
11294 'HAMember': {'additionalProperties': False,
11295 'properties': {'public-address': {'$ref': '#/definitions/Address'},
11296 'series': {'type': 'string'},
11297 'tag': {'type': 'string'}},
11298 'required': ['tag', 'public-address', 'series'],
11300 'Macaroon': {'additionalProperties': False, 'type': 'object'},
11301 'Member': {'additionalProperties': False,
11302 'properties': {'Address': {'type': 'string'},
11303 'Arbiter': {'type': 'boolean'},
11304 'BuildIndexes': {'type': 'boolean'},
11305 'Hidden': {'type': 'boolean'},
11306 'Id': {'type': 'integer'},
11307 'Priority': {'type': 'number'},
11308 'SlaveDelay': {'type': 'integer'},
11309 'Tags': {'patternProperties': {'.*': {'type': 'string'}},
11311 'Votes': {'type': 'integer'}},
11322 'MongoUpgradeResults': {'additionalProperties': False,
11323 'properties': {'ha-members': {'items': {'$ref': '#/definitions/HAMember'},
11325 'master': {'$ref': '#/definitions/HAMember'},
11326 'rs-members': {'items': {'$ref': '#/definitions/Member'},
11328 'required': ['rs-members',
11332 'MongoVersion': {'additionalProperties': False,
11333 'properties': {'engine': {'type': 'string'},
11334 'major': {'type': 'integer'},
11335 'minor': {'type': 'integer'},
11336 'patch': {'type': 'string'}},
11337 'required': ['major',
11342 'ResumeReplicationParams': {'additionalProperties': False,
11343 'properties': {'members': {'items': {'$ref': '#/definitions/Member'},
11345 'required': ['members'],
11347 'UpgradeMongoParams': {'additionalProperties': False,
11348 'properties': {'target': {'$ref': '#/definitions/MongoVersion'}},
11349 'required': ['target'],
11351 'Value': {'additionalProperties': False,
11352 'properties': {'arch': {'type': 'string'},
11353 'container': {'type': 'string'},
11354 'cpu-cores': {'type': 'integer'},
11355 'cpu-power': {'type': 'integer'},
11356 'instance-type': {'type': 'string'},
11357 'mem': {'type': 'integer'},
11358 'root-disk': {'type': 'integer'},
11359 'spaces': {'items': {'type': 'string'},
11361 'tags': {'items': {'type': 'string'},
11363 'virt-type': {'type': 'string'}},
11364 'type': 'object'}},
11365 'properties': {'EnableHA': {'properties': {'Params': {'$ref': '#/definitions/ControllersSpecs'},
11366 'Result': {'$ref': '#/definitions/ControllersChangeResults'}},
11368 'ResumeHAReplicationAfterUpgrade': {'properties': {'Params': {'$ref': '#/definitions/ResumeReplicationParams'}},
11370 'StopHAReplicationForUpgrade': {'properties': {'Params': {'$ref': '#/definitions/UpgradeMongoParams'},
11371 'Result': {'$ref': '#/definitions/MongoUpgradeResults'}},
11372 'type': 'object'}},
11376 @ReturnMapping(ControllersChangeResults
)
11377 async def EnableHA(self
, specs
):
11379 specs : typing.Sequence<+T_co>[~ControllersSpec]<~ControllersSpec>
11380 Returns -> typing.Sequence<+T_co>[~ControllersChangeResult]<~ControllersChangeResult>
11382 # map input types to rpc msg
11384 msg
= dict(type='HighAvailability', request
='EnableHA', version
=2, params
=params
)
11385 params
['specs'] = specs
11386 reply
= await self
.rpc(msg
)
11391 @ReturnMapping(None)
11392 async def ResumeHAReplicationAfterUpgrade(self
, members
):
11394 members : typing.Sequence<+T_co>[~Member]<~Member>
11397 # map input types to rpc msg
11399 msg
= dict(type='HighAvailability', request
='ResumeHAReplicationAfterUpgrade', version
=2, params
=params
)
11400 params
['members'] = members
11401 reply
= await self
.rpc(msg
)
11406 @ReturnMapping(MongoUpgradeResults
)
11407 async def StopHAReplicationForUpgrade(self
, target
):
11409 target : MongoVersion
11410 Returns -> typing.Union[_ForwardRef('HAMember'), typing.Sequence<+T_co>[~Member]<~Member>]
11412 # map input types to rpc msg
11414 msg
= dict(type='HighAvailability', request
='StopHAReplicationForUpgrade', version
=2, params
=params
)
11415 params
['target'] = target
11416 reply
= await self
.rpc(msg
)
11420 class HostKeyReporterFacade(Type
):
11421 name
= 'HostKeyReporter'
11423 schema
= {'definitions': {'Error': {'additionalProperties': False,
11424 'properties': {'code': {'type': 'string'},
11425 'info': {'$ref': '#/definitions/ErrorInfo'},
11426 'message': {'type': 'string'}},
11427 'required': ['message', 'code'],
11429 'ErrorInfo': {'additionalProperties': False,
11430 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
11431 'macaroon-path': {'type': 'string'}},
11433 'ErrorResult': {'additionalProperties': False,
11434 'properties': {'error': {'$ref': '#/definitions/Error'}},
11436 'ErrorResults': {'additionalProperties': False,
11437 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
11439 'required': ['results'],
11441 'Macaroon': {'additionalProperties': False, 'type': 'object'},
11442 'SSHHostKeySet': {'additionalProperties': False,
11443 'properties': {'entity-keys': {'items': {'$ref': '#/definitions/SSHHostKeys'},
11445 'required': ['entity-keys'],
11447 'SSHHostKeys': {'additionalProperties': False,
11448 'properties': {'public-keys': {'items': {'type': 'string'},
11450 'tag': {'type': 'string'}},
11451 'required': ['tag', 'public-keys'],
11452 'type': 'object'}},
11453 'properties': {'ReportKeys': {'properties': {'Params': {'$ref': '#/definitions/SSHHostKeySet'},
11454 'Result': {'$ref': '#/definitions/ErrorResults'}},
11455 'type': 'object'}},
11459 @ReturnMapping(ErrorResults
)
11460 async def ReportKeys(self
, entity_keys
):
11462 entity_keys : typing.Sequence<+T_co>[~SSHHostKeys]<~SSHHostKeys>
11463 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
11465 # map input types to rpc msg
11467 msg
= dict(type='HostKeyReporter', request
='ReportKeys', version
=1, params
=params
)
11468 params
['entity-keys'] = entity_keys
11469 reply
= await self
.rpc(msg
)
11473 class ImageManagerFacade(Type
):
11474 name
= 'ImageManager'
11476 schema
= {'definitions': {'Error': {'additionalProperties': False,
11477 'properties': {'code': {'type': 'string'},
11478 'info': {'$ref': '#/definitions/ErrorInfo'},
11479 'message': {'type': 'string'}},
11480 'required': ['message', 'code'],
11482 'ErrorInfo': {'additionalProperties': False,
11483 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
11484 'macaroon-path': {'type': 'string'}},
11486 'ErrorResult': {'additionalProperties': False,
11487 'properties': {'error': {'$ref': '#/definitions/Error'}},
11489 'ErrorResults': {'additionalProperties': False,
11490 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
11492 'required': ['results'],
11494 'ImageFilterParams': {'additionalProperties': False,
11495 'properties': {'images': {'items': {'$ref': '#/definitions/ImageSpec'},
11497 'required': ['images'],
11499 'ImageMetadata': {'additionalProperties': False,
11500 'properties': {'arch': {'type': 'string'},
11501 'created': {'format': 'date-time',
11503 'kind': {'type': 'string'},
11504 'series': {'type': 'string'},
11505 'url': {'type': 'string'}},
11506 'required': ['kind',
11512 'ImageSpec': {'additionalProperties': False,
11513 'properties': {'arch': {'type': 'string'},
11514 'kind': {'type': 'string'},
11515 'series': {'type': 'string'}},
11516 'required': ['kind', 'arch', 'series'],
11518 'ListImageResult': {'additionalProperties': False,
11519 'properties': {'result': {'items': {'$ref': '#/definitions/ImageMetadata'},
11521 'required': ['result'],
11523 'Macaroon': {'additionalProperties': False, 'type': 'object'}},
11524 'properties': {'DeleteImages': {'properties': {'Params': {'$ref': '#/definitions/ImageFilterParams'},
11525 'Result': {'$ref': '#/definitions/ErrorResults'}},
11527 'ListImages': {'properties': {'Params': {'$ref': '#/definitions/ImageFilterParams'},
11528 'Result': {'$ref': '#/definitions/ListImageResult'}},
11529 'type': 'object'}},
11533 @ReturnMapping(ErrorResults
)
11534 async def DeleteImages(self
, images
):
11536 images : typing.Sequence<+T_co>[~ImageSpec]<~ImageSpec>
11537 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
11539 # map input types to rpc msg
11541 msg
= dict(type='ImageManager', request
='DeleteImages', version
=2, params
=params
)
11542 params
['images'] = images
11543 reply
= await self
.rpc(msg
)
11548 @ReturnMapping(ListImageResult
)
11549 async def ListImages(self
, images
):
11551 images : typing.Sequence<+T_co>[~ImageSpec]<~ImageSpec>
11552 Returns -> typing.Sequence<+T_co>[~ImageMetadata]<~ImageMetadata>
11554 # map input types to rpc msg
11556 msg
= dict(type='ImageManager', request
='ListImages', version
=2, params
=params
)
11557 params
['images'] = images
11558 reply
= await self
.rpc(msg
)
11562 class ImageMetadataFacade(Type
):
11563 name
= 'ImageMetadata'
11565 schema
= {'definitions': {'CloudImageMetadata': {'additionalProperties': False,
11566 'properties': {'arch': {'type': 'string'},
11567 'image-id': {'type': 'string'},
11568 'priority': {'type': 'integer'},
11569 'region': {'type': 'string'},
11570 'root-storage-size': {'type': 'integer'},
11571 'root-storage-type': {'type': 'string'},
11572 'series': {'type': 'string'},
11573 'source': {'type': 'string'},
11574 'stream': {'type': 'string'},
11575 'version': {'type': 'string'},
11576 'virt-type': {'type': 'string'}},
11577 'required': ['image-id',
11585 'CloudImageMetadataList': {'additionalProperties': False,
11586 'properties': {'metadata': {'items': {'$ref': '#/definitions/CloudImageMetadata'},
11589 'Error': {'additionalProperties': False,
11590 'properties': {'code': {'type': 'string'},
11591 'info': {'$ref': '#/definitions/ErrorInfo'},
11592 'message': {'type': 'string'}},
11593 'required': ['message', 'code'],
11595 'ErrorInfo': {'additionalProperties': False,
11596 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
11597 'macaroon-path': {'type': 'string'}},
11599 'ErrorResult': {'additionalProperties': False,
11600 'properties': {'error': {'$ref': '#/definitions/Error'}},
11602 'ErrorResults': {'additionalProperties': False,
11603 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
11605 'required': ['results'],
11607 'ImageMetadataFilter': {'additionalProperties': False,
11608 'properties': {'arches': {'items': {'type': 'string'},
11610 'region': {'type': 'string'},
11611 'root-storage-type': {'type': 'string'},
11612 'series': {'items': {'type': 'string'},
11614 'stream': {'type': 'string'},
11615 'virt-type': {'type': 'string'}},
11617 'ListCloudImageMetadataResult': {'additionalProperties': False,
11618 'properties': {'result': {'items': {'$ref': '#/definitions/CloudImageMetadata'},
11620 'required': ['result'],
11622 'Macaroon': {'additionalProperties': False, 'type': 'object'},
11623 'MetadataImageIds': {'additionalProperties': False,
11624 'properties': {'image-ids': {'items': {'type': 'string'},
11626 'required': ['image-ids'],
11628 'MetadataSaveParams': {'additionalProperties': False,
11629 'properties': {'metadata': {'items': {'$ref': '#/definitions/CloudImageMetadataList'},
11631 'type': 'object'}},
11632 'properties': {'Delete': {'properties': {'Params': {'$ref': '#/definitions/MetadataImageIds'},
11633 'Result': {'$ref': '#/definitions/ErrorResults'}},
11635 'List': {'properties': {'Params': {'$ref': '#/definitions/ImageMetadataFilter'},
11636 'Result': {'$ref': '#/definitions/ListCloudImageMetadataResult'}},
11638 'Save': {'properties': {'Params': {'$ref': '#/definitions/MetadataSaveParams'},
11639 'Result': {'$ref': '#/definitions/ErrorResults'}},
11641 'UpdateFromPublishedImages': {'type': 'object'}},
11645 @ReturnMapping(ErrorResults
)
11646 async def Delete(self
, image_ids
):
11648 image_ids : typing.Sequence<+T_co>[str]
11649 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
11651 # map input types to rpc msg
11653 msg
= dict(type='ImageMetadata', request
='Delete', version
=2, params
=params
)
11654 params
['image-ids'] = image_ids
11655 reply
= await self
.rpc(msg
)
11660 @ReturnMapping(ListCloudImageMetadataResult
)
11661 async def List(self
, arches
, region
, root_storage_type
, series
, stream
, virt_type
):
11663 arches : typing.Sequence<+T_co>[str]
11665 root_storage_type : str
11666 series : typing.Sequence<+T_co>[str]
11669 Returns -> typing.Sequence<+T_co>[~CloudImageMetadata]<~CloudImageMetadata>
11671 # map input types to rpc msg
11673 msg
= dict(type='ImageMetadata', request
='List', version
=2, params
=params
)
11674 params
['arches'] = arches
11675 params
['region'] = region
11676 params
['root-storage-type'] = root_storage_type
11677 params
['series'] = series
11678 params
['stream'] = stream
11679 params
['virt-type'] = virt_type
11680 reply
= await self
.rpc(msg
)
11685 @ReturnMapping(ErrorResults
)
11686 async def Save(self
, metadata
):
11688 metadata : typing.Sequence<+T_co>[~CloudImageMetadataList]<~CloudImageMetadataList>
11689 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
11691 # map input types to rpc msg
11693 msg
= dict(type='ImageMetadata', request
='Save', version
=2, params
=params
)
11694 params
['metadata'] = metadata
11695 reply
= await self
.rpc(msg
)
11700 @ReturnMapping(None)
11701 async def UpdateFromPublishedImages(self
):
11706 # map input types to rpc msg
11708 msg
= dict(type='ImageMetadata', request
='UpdateFromPublishedImages', version
=2, params
=params
)
11710 reply
= await self
.rpc(msg
)
11714 class InstancePollerFacade(Type
):
11715 name
= 'InstancePoller'
11717 schema
= {'definitions': {'Address': {'additionalProperties': False,
11718 'properties': {'scope': {'type': 'string'},
11719 'space-name': {'type': 'string'},
11720 'type': {'type': 'string'},
11721 'value': {'type': 'string'}},
11722 'required': ['value', 'type', 'scope'],
11724 'BoolResult': {'additionalProperties': False,
11725 'properties': {'error': {'$ref': '#/definitions/Error'},
11726 'result': {'type': 'boolean'}},
11727 'required': ['result'],
11729 'BoolResults': {'additionalProperties': False,
11730 'properties': {'results': {'items': {'$ref': '#/definitions/BoolResult'},
11732 'required': ['results'],
11734 'Entities': {'additionalProperties': False,
11735 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
11737 'required': ['entities'],
11739 'Entity': {'additionalProperties': False,
11740 'properties': {'tag': {'type': 'string'}},
11741 'required': ['tag'],
11743 'EntityStatusArgs': {'additionalProperties': False,
11744 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
11745 'type': 'object'}},
11747 'info': {'type': 'string'},
11748 'status': {'type': 'string'},
11749 'tag': {'type': 'string'}},
11750 'required': ['tag',
11755 'Error': {'additionalProperties': False,
11756 'properties': {'code': {'type': 'string'},
11757 'info': {'$ref': '#/definitions/ErrorInfo'},
11758 'message': {'type': 'string'}},
11759 'required': ['message', 'code'],
11761 'ErrorInfo': {'additionalProperties': False,
11762 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
11763 'macaroon-path': {'type': 'string'}},
11765 'ErrorResult': {'additionalProperties': False,
11766 'properties': {'error': {'$ref': '#/definitions/Error'}},
11768 'ErrorResults': {'additionalProperties': False,
11769 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
11771 'required': ['results'],
11773 'LifeResult': {'additionalProperties': False,
11774 'properties': {'error': {'$ref': '#/definitions/Error'},
11775 'life': {'type': 'string'}},
11776 'required': ['life'],
11778 'LifeResults': {'additionalProperties': False,
11779 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
11781 'required': ['results'],
11783 'Macaroon': {'additionalProperties': False, 'type': 'object'},
11784 'MachineAddresses': {'additionalProperties': False,
11785 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'},
11787 'tag': {'type': 'string'}},
11788 'required': ['tag', 'addresses'],
11790 'MachineAddressesResult': {'additionalProperties': False,
11791 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'},
11793 'error': {'$ref': '#/definitions/Error'}},
11794 'required': ['addresses'],
11796 'MachineAddressesResults': {'additionalProperties': False,
11797 'properties': {'results': {'items': {'$ref': '#/definitions/MachineAddressesResult'},
11799 'required': ['results'],
11801 'ModelConfigResult': {'additionalProperties': False,
11802 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
11803 'type': 'object'}},
11804 'type': 'object'}},
11805 'required': ['config'],
11807 'NotifyWatchResult': {'additionalProperties': False,
11808 'properties': {'NotifyWatcherId': {'type': 'string'},
11809 'error': {'$ref': '#/definitions/Error'}},
11810 'required': ['NotifyWatcherId'],
11812 'SetMachinesAddresses': {'additionalProperties': False,
11813 'properties': {'machine-addresses': {'items': {'$ref': '#/definitions/MachineAddresses'},
11815 'required': ['machine-addresses'],
11817 'SetStatus': {'additionalProperties': False,
11818 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
11820 'required': ['entities'],
11822 'StatusResult': {'additionalProperties': False,
11823 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
11824 'type': 'object'}},
11826 'error': {'$ref': '#/definitions/Error'},
11827 'id': {'type': 'string'},
11828 'info': {'type': 'string'},
11829 'life': {'type': 'string'},
11830 'since': {'format': 'date-time',
11832 'status': {'type': 'string'}},
11840 'StatusResults': {'additionalProperties': False,
11841 'properties': {'results': {'items': {'$ref': '#/definitions/StatusResult'},
11843 'required': ['results'],
11845 'StringResult': {'additionalProperties': False,
11846 'properties': {'error': {'$ref': '#/definitions/Error'},
11847 'result': {'type': 'string'}},
11848 'required': ['result'],
11850 'StringResults': {'additionalProperties': False,
11851 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
11853 'required': ['results'],
11855 'StringsWatchResult': {'additionalProperties': False,
11856 'properties': {'changes': {'items': {'type': 'string'},
11858 'error': {'$ref': '#/definitions/Error'},
11859 'watcher-id': {'type': 'string'}},
11860 'required': ['watcher-id'],
11861 'type': 'object'}},
11862 'properties': {'AreManuallyProvisioned': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11863 'Result': {'$ref': '#/definitions/BoolResults'}},
11865 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11866 'Result': {'$ref': '#/definitions/StringResults'}},
11868 'InstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11869 'Result': {'$ref': '#/definitions/StatusResults'}},
11871 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11872 'Result': {'$ref': '#/definitions/LifeResults'}},
11874 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
11876 'ProviderAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11877 'Result': {'$ref': '#/definitions/MachineAddressesResults'}},
11879 'SetInstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
11880 'Result': {'$ref': '#/definitions/ErrorResults'}},
11882 'SetProviderAddresses': {'properties': {'Params': {'$ref': '#/definitions/SetMachinesAddresses'},
11883 'Result': {'$ref': '#/definitions/ErrorResults'}},
11885 'Status': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11886 'Result': {'$ref': '#/definitions/StatusResults'}},
11888 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
11890 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
11891 'type': 'object'}},
11895 @ReturnMapping(BoolResults
)
11896 async def AreManuallyProvisioned(self
, entities
):
11898 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11899 Returns -> typing.Sequence<+T_co>[~BoolResult]<~BoolResult>
11901 # map input types to rpc msg
11903 msg
= dict(type='InstancePoller', request
='AreManuallyProvisioned', version
=3, params
=params
)
11904 params
['entities'] = entities
11905 reply
= await self
.rpc(msg
)
11910 @ReturnMapping(StringResults
)
11911 async def InstanceId(self
, entities
):
11913 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11914 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
11916 # map input types to rpc msg
11918 msg
= dict(type='InstancePoller', request
='InstanceId', version
=3, params
=params
)
11919 params
['entities'] = entities
11920 reply
= await self
.rpc(msg
)
11925 @ReturnMapping(StatusResults
)
11926 async def InstanceStatus(self
, entities
):
11928 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11929 Returns -> typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
11931 # map input types to rpc msg
11933 msg
= dict(type='InstancePoller', request
='InstanceStatus', version
=3, params
=params
)
11934 params
['entities'] = entities
11935 reply
= await self
.rpc(msg
)
11940 @ReturnMapping(LifeResults
)
11941 async def Life(self
, entities
):
11943 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11944 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
11946 # map input types to rpc msg
11948 msg
= dict(type='InstancePoller', request
='Life', version
=3, params
=params
)
11949 params
['entities'] = entities
11950 reply
= await self
.rpc(msg
)
11955 @ReturnMapping(ModelConfigResult
)
11956 async def ModelConfig(self
):
11959 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
11961 # map input types to rpc msg
11963 msg
= dict(type='InstancePoller', request
='ModelConfig', version
=3, params
=params
)
11965 reply
= await self
.rpc(msg
)
11970 @ReturnMapping(MachineAddressesResults
)
11971 async def ProviderAddresses(self
, entities
):
11973 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11974 Returns -> typing.Sequence<+T_co>[~MachineAddressesResult]<~MachineAddressesResult>
11976 # map input types to rpc msg
11978 msg
= dict(type='InstancePoller', request
='ProviderAddresses', version
=3, params
=params
)
11979 params
['entities'] = entities
11980 reply
= await self
.rpc(msg
)
11985 @ReturnMapping(ErrorResults
)
11986 async def SetInstanceStatus(self
, entities
):
11988 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
11989 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
11991 # map input types to rpc msg
11993 msg
= dict(type='InstancePoller', request
='SetInstanceStatus', version
=3, params
=params
)
11994 params
['entities'] = entities
11995 reply
= await self
.rpc(msg
)
12000 @ReturnMapping(ErrorResults
)
12001 async def SetProviderAddresses(self
, machine_addresses
):
12003 machine_addresses : typing.Sequence<+T_co>[~MachineAddresses]<~MachineAddresses>
12004 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
12006 # map input types to rpc msg
12008 msg
= dict(type='InstancePoller', request
='SetProviderAddresses', version
=3, params
=params
)
12009 params
['machine-addresses'] = machine_addresses
12010 reply
= await self
.rpc(msg
)
12015 @ReturnMapping(StatusResults
)
12016 async def Status(self
, entities
):
12018 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12019 Returns -> typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
12021 # map input types to rpc msg
12023 msg
= dict(type='InstancePoller', request
='Status', version
=3, params
=params
)
12024 params
['entities'] = entities
12025 reply
= await self
.rpc(msg
)
12030 @ReturnMapping(NotifyWatchResult
)
12031 async def WatchForModelConfigChanges(self
):
12034 Returns -> typing.Union[str, _ForwardRef('Error')]
12036 # map input types to rpc msg
12038 msg
= dict(type='InstancePoller', request
='WatchForModelConfigChanges', version
=3, params
=params
)
12040 reply
= await self
.rpc(msg
)
12045 @ReturnMapping(StringsWatchResult
)
12046 async def WatchModelMachines(self
):
12049 Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')]
12051 # map input types to rpc msg
12053 msg
= dict(type='InstancePoller', request
='WatchModelMachines', version
=3, params
=params
)
12055 reply
= await self
.rpc(msg
)
12059 class KeyManagerFacade(Type
):
12060 name
= 'KeyManager'
12062 schema
= {'definitions': {'Entities': {'additionalProperties': False,
12063 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
12065 'required': ['entities'],
12067 'Entity': {'additionalProperties': False,
12068 'properties': {'tag': {'type': 'string'}},
12069 'required': ['tag'],
12071 'Error': {'additionalProperties': False,
12072 'properties': {'code': {'type': 'string'},
12073 'info': {'$ref': '#/definitions/ErrorInfo'},
12074 'message': {'type': 'string'}},
12075 'required': ['message', 'code'],
12077 'ErrorInfo': {'additionalProperties': False,
12078 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
12079 'macaroon-path': {'type': 'string'}},
12081 'ErrorResult': {'additionalProperties': False,
12082 'properties': {'error': {'$ref': '#/definitions/Error'}},
12084 'ErrorResults': {'additionalProperties': False,
12085 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
12087 'required': ['results'],
12089 'ListSSHKeys': {'additionalProperties': False,
12090 'properties': {'entities': {'$ref': '#/definitions/Entities'},
12091 'mode': {'type': 'boolean'}},
12092 'required': ['entities', 'mode'],
12094 'Macaroon': {'additionalProperties': False, 'type': 'object'},
12095 'ModifyUserSSHKeys': {'additionalProperties': False,
12096 'properties': {'ssh-keys': {'items': {'type': 'string'},
12098 'user': {'type': 'string'}},
12099 'required': ['user', 'ssh-keys'],
12101 'StringsResult': {'additionalProperties': False,
12102 'properties': {'error': {'$ref': '#/definitions/Error'},
12103 'result': {'items': {'type': 'string'},
12106 'StringsResults': {'additionalProperties': False,
12107 'properties': {'results': {'items': {'$ref': '#/definitions/StringsResult'},
12109 'required': ['results'],
12110 'type': 'object'}},
12111 'properties': {'AddKeys': {'properties': {'Params': {'$ref': '#/definitions/ModifyUserSSHKeys'},
12112 'Result': {'$ref': '#/definitions/ErrorResults'}},
12114 'DeleteKeys': {'properties': {'Params': {'$ref': '#/definitions/ModifyUserSSHKeys'},
12115 'Result': {'$ref': '#/definitions/ErrorResults'}},
12117 'ImportKeys': {'properties': {'Params': {'$ref': '#/definitions/ModifyUserSSHKeys'},
12118 'Result': {'$ref': '#/definitions/ErrorResults'}},
12120 'ListKeys': {'properties': {'Params': {'$ref': '#/definitions/ListSSHKeys'},
12121 'Result': {'$ref': '#/definitions/StringsResults'}},
12122 'type': 'object'}},
12126 @ReturnMapping(ErrorResults
)
12127 async def AddKeys(self
, ssh_keys
, user
):
12129 ssh_keys : typing.Sequence<+T_co>[str]
12131 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
12133 # map input types to rpc msg
12135 msg
= dict(type='KeyManager', request
='AddKeys', version
=1, params
=params
)
12136 params
['ssh-keys'] = ssh_keys
12137 params
['user'] = user
12138 reply
= await self
.rpc(msg
)
12143 @ReturnMapping(ErrorResults
)
12144 async def DeleteKeys(self
, ssh_keys
, user
):
12146 ssh_keys : typing.Sequence<+T_co>[str]
12148 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
12150 # map input types to rpc msg
12152 msg
= dict(type='KeyManager', request
='DeleteKeys', version
=1, params
=params
)
12153 params
['ssh-keys'] = ssh_keys
12154 params
['user'] = user
12155 reply
= await self
.rpc(msg
)
12160 @ReturnMapping(ErrorResults
)
12161 async def ImportKeys(self
, ssh_keys
, user
):
12163 ssh_keys : typing.Sequence<+T_co>[str]
12165 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
12167 # map input types to rpc msg
12169 msg
= dict(type='KeyManager', request
='ImportKeys', version
=1, params
=params
)
12170 params
['ssh-keys'] = ssh_keys
12171 params
['user'] = user
12172 reply
= await self
.rpc(msg
)
12177 @ReturnMapping(StringsResults
)
12178 async def ListKeys(self
, entities
, mode
):
12180 entities : Entities
12182 Returns -> typing.Sequence<+T_co>[~StringsResult]<~StringsResult>
12184 # map input types to rpc msg
12186 msg
= dict(type='KeyManager', request
='ListKeys', version
=1, params
=params
)
12187 params
['entities'] = entities
12188 params
['mode'] = mode
12189 reply
= await self
.rpc(msg
)
12193 class KeyUpdaterFacade(Type
):
12194 name
= 'KeyUpdater'
12196 schema
= {'definitions': {'Entities': {'additionalProperties': False,
12197 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
12199 'required': ['entities'],
12201 'Entity': {'additionalProperties': False,
12202 'properties': {'tag': {'type': 'string'}},
12203 'required': ['tag'],
12205 'Error': {'additionalProperties': False,
12206 'properties': {'code': {'type': 'string'},
12207 'info': {'$ref': '#/definitions/ErrorInfo'},
12208 'message': {'type': 'string'}},
12209 'required': ['message', 'code'],
12211 'ErrorInfo': {'additionalProperties': False,
12212 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
12213 'macaroon-path': {'type': 'string'}},
12215 'Macaroon': {'additionalProperties': False, 'type': 'object'},
12216 'NotifyWatchResult': {'additionalProperties': False,
12217 'properties': {'NotifyWatcherId': {'type': 'string'},
12218 'error': {'$ref': '#/definitions/Error'}},
12219 'required': ['NotifyWatcherId'],
12221 'NotifyWatchResults': {'additionalProperties': False,
12222 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
12224 'required': ['results'],
12226 'StringsResult': {'additionalProperties': False,
12227 'properties': {'error': {'$ref': '#/definitions/Error'},
12228 'result': {'items': {'type': 'string'},
12231 'StringsResults': {'additionalProperties': False,
12232 'properties': {'results': {'items': {'$ref': '#/definitions/StringsResult'},
12234 'required': ['results'],
12235 'type': 'object'}},
12236 'properties': {'AuthorisedKeys': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12237 'Result': {'$ref': '#/definitions/StringsResults'}},
12239 'WatchAuthorisedKeys': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12240 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
12241 'type': 'object'}},
12245 @ReturnMapping(StringsResults
)
12246 async def AuthorisedKeys(self
, entities
):
12248 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12249 Returns -> typing.Sequence<+T_co>[~StringsResult]<~StringsResult>
12251 # map input types to rpc msg
12253 msg
= dict(type='KeyUpdater', request
='AuthorisedKeys', version
=1, params
=params
)
12254 params
['entities'] = entities
12255 reply
= await self
.rpc(msg
)
12260 @ReturnMapping(NotifyWatchResults
)
12261 async def WatchAuthorisedKeys(self
, entities
):
12263 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12264 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
12266 # map input types to rpc msg
12268 msg
= dict(type='KeyUpdater', request
='WatchAuthorisedKeys', version
=1, params
=params
)
12269 params
['entities'] = entities
12270 reply
= await self
.rpc(msg
)
12274 class LeadershipServiceFacade(Type
):
12275 name
= 'LeadershipService'
12277 schema
= {'definitions': {'ApplicationTag': {'additionalProperties': False,
12278 'properties': {'Name': {'type': 'string'}},
12279 'required': ['Name'],
12281 'ClaimLeadershipBulkParams': {'additionalProperties': False,
12282 'properties': {'params': {'items': {'$ref': '#/definitions/ClaimLeadershipParams'},
12284 'required': ['params'],
12286 'ClaimLeadershipBulkResults': {'additionalProperties': False,
12287 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
12289 'required': ['results'],
12291 'ClaimLeadershipParams': {'additionalProperties': False,
12292 'properties': {'application-tag': {'type': 'string'},
12293 'duration': {'type': 'number'},
12294 'unit-tag': {'type': 'string'}},
12295 'required': ['application-tag',
12299 'Error': {'additionalProperties': False,
12300 'properties': {'code': {'type': 'string'},
12301 'info': {'$ref': '#/definitions/ErrorInfo'},
12302 'message': {'type': 'string'}},
12303 'required': ['message', 'code'],
12305 'ErrorInfo': {'additionalProperties': False,
12306 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
12307 'macaroon-path': {'type': 'string'}},
12309 'ErrorResult': {'additionalProperties': False,
12310 'properties': {'error': {'$ref': '#/definitions/Error'}},
12312 'Macaroon': {'additionalProperties': False, 'type': 'object'}},
12313 'properties': {'BlockUntilLeadershipReleased': {'properties': {'Params': {'$ref': '#/definitions/ApplicationTag'},
12314 'Result': {'$ref': '#/definitions/ErrorResult'}},
12316 'ClaimLeadership': {'properties': {'Params': {'$ref': '#/definitions/ClaimLeadershipBulkParams'},
12317 'Result': {'$ref': '#/definitions/ClaimLeadershipBulkResults'}},
12318 'type': 'object'}},
12322 @ReturnMapping(ErrorResult
)
12323 async def BlockUntilLeadershipReleased(self
, name
):
12328 # map input types to rpc msg
12330 msg
= dict(type='LeadershipService', request
='BlockUntilLeadershipReleased', version
=2, params
=params
)
12331 params
['Name'] = name
12332 reply
= await self
.rpc(msg
)
12337 @ReturnMapping(ClaimLeadershipBulkResults
)
12338 async def ClaimLeadership(self
, params
):
12340 params : typing.Sequence<+T_co>[~ClaimLeadershipParams]<~ClaimLeadershipParams>
12341 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
12343 # map input types to rpc msg
12345 msg
= dict(type='LeadershipService', request
='ClaimLeadership', version
=2, params
=params
)
12346 params
['params'] = params
12347 reply
= await self
.rpc(msg
)
12351 class LifeFlagFacade(Type
):
12354 schema
= {'definitions': {'Entities': {'additionalProperties': False,
12355 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
12357 'required': ['entities'],
12359 'Entity': {'additionalProperties': False,
12360 'properties': {'tag': {'type': 'string'}},
12361 'required': ['tag'],
12363 'Error': {'additionalProperties': False,
12364 'properties': {'code': {'type': 'string'},
12365 'info': {'$ref': '#/definitions/ErrorInfo'},
12366 'message': {'type': 'string'}},
12367 'required': ['message', 'code'],
12369 'ErrorInfo': {'additionalProperties': False,
12370 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
12371 'macaroon-path': {'type': 'string'}},
12373 'LifeResult': {'additionalProperties': False,
12374 'properties': {'error': {'$ref': '#/definitions/Error'},
12375 'life': {'type': 'string'}},
12376 'required': ['life'],
12378 'LifeResults': {'additionalProperties': False,
12379 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
12381 'required': ['results'],
12383 'Macaroon': {'additionalProperties': False, 'type': 'object'},
12384 'NotifyWatchResult': {'additionalProperties': False,
12385 'properties': {'NotifyWatcherId': {'type': 'string'},
12386 'error': {'$ref': '#/definitions/Error'}},
12387 'required': ['NotifyWatcherId'],
12389 'NotifyWatchResults': {'additionalProperties': False,
12390 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
12392 'required': ['results'],
12393 'type': 'object'}},
12394 'properties': {'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12395 'Result': {'$ref': '#/definitions/LifeResults'}},
12397 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12398 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
12399 'type': 'object'}},
12403 @ReturnMapping(LifeResults
)
12404 async def Life(self
, entities
):
12406 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12407 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
12409 # map input types to rpc msg
12411 msg
= dict(type='LifeFlag', request
='Life', version
=1, params
=params
)
12412 params
['entities'] = entities
12413 reply
= await self
.rpc(msg
)
12418 @ReturnMapping(NotifyWatchResults
)
12419 async def Watch(self
, entities
):
12421 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12422 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
12424 # map input types to rpc msg
12426 msg
= dict(type='LifeFlag', request
='Watch', version
=1, params
=params
)
12427 params
['entities'] = entities
12428 reply
= await self
.rpc(msg
)
12432 class LogForwardingFacade(Type
):
12433 name
= 'LogForwarding'
12435 schema
= {'definitions': {'Error': {'additionalProperties': False,
12436 'properties': {'code': {'type': 'string'},
12437 'info': {'$ref': '#/definitions/ErrorInfo'},
12438 'message': {'type': 'string'}},
12439 'required': ['message', 'code'],
12441 'ErrorInfo': {'additionalProperties': False,
12442 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
12443 'macaroon-path': {'type': 'string'}},
12445 'ErrorResult': {'additionalProperties': False,
12446 'properties': {'error': {'$ref': '#/definitions/Error'}},
12448 'ErrorResults': {'additionalProperties': False,
12449 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
12451 'required': ['results'],
12453 'LogForwardingGetLastSentParams': {'additionalProperties': False,
12454 'properties': {'ids': {'items': {'$ref': '#/definitions/LogForwardingID'},
12456 'required': ['ids'],
12458 'LogForwardingGetLastSentResult': {'additionalProperties': False,
12459 'properties': {'err': {'$ref': '#/definitions/Error'},
12460 'record-id': {'type': 'integer'},
12461 'record-timestamp': {'type': 'integer'}},
12462 'required': ['record-id',
12463 'record-timestamp',
12466 'LogForwardingGetLastSentResults': {'additionalProperties': False,
12467 'properties': {'results': {'items': {'$ref': '#/definitions/LogForwardingGetLastSentResult'},
12469 'required': ['results'],
12471 'LogForwardingID': {'additionalProperties': False,
12472 'properties': {'model': {'type': 'string'},
12473 'sink': {'type': 'string'}},
12474 'required': ['model', 'sink'],
12476 'LogForwardingSetLastSentParam': {'additionalProperties': False,
12477 'properties': {'LogForwardingID': {'$ref': '#/definitions/LogForwardingID'},
12478 'record-id': {'type': 'integer'},
12479 'record-timestamp': {'type': 'integer'}},
12480 'required': ['LogForwardingID',
12482 'record-timestamp'],
12484 'LogForwardingSetLastSentParams': {'additionalProperties': False,
12485 'properties': {'params': {'items': {'$ref': '#/definitions/LogForwardingSetLastSentParam'},
12487 'required': ['params'],
12489 'Macaroon': {'additionalProperties': False, 'type': 'object'}},
12490 'properties': {'GetLastSent': {'properties': {'Params': {'$ref': '#/definitions/LogForwardingGetLastSentParams'},
12491 'Result': {'$ref': '#/definitions/LogForwardingGetLastSentResults'}},
12493 'SetLastSent': {'properties': {'Params': {'$ref': '#/definitions/LogForwardingSetLastSentParams'},
12494 'Result': {'$ref': '#/definitions/ErrorResults'}},
12495 'type': 'object'}},
12499 @ReturnMapping(LogForwardingGetLastSentResults
)
12500 async def GetLastSent(self
, ids
):
12502 ids : typing.Sequence<+T_co>[~LogForwardingID]<~LogForwardingID>
12503 Returns -> typing.Sequence<+T_co>[~LogForwardingGetLastSentResult]<~LogForwardingGetLastSentResult>
12505 # map input types to rpc msg
12507 msg
= dict(type='LogForwarding', request
='GetLastSent', version
=1, params
=params
)
12508 params
['ids'] = ids
12509 reply
= await self
.rpc(msg
)
12514 @ReturnMapping(ErrorResults
)
12515 async def SetLastSent(self
, params
):
12517 params : typing.Sequence<+T_co>[~LogForwardingSetLastSentParam]<~LogForwardingSetLastSentParam>
12518 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
12520 # map input types to rpc msg
12522 msg
= dict(type='LogForwarding', request
='SetLastSent', version
=1, params
=params
)
12523 params
['params'] = params
12524 reply
= await self
.rpc(msg
)
12528 class LoggerFacade(Type
):
12531 schema
= {'definitions': {'Entities': {'additionalProperties': False,
12532 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
12534 'required': ['entities'],
12536 'Entity': {'additionalProperties': False,
12537 'properties': {'tag': {'type': 'string'}},
12538 'required': ['tag'],
12540 'Error': {'additionalProperties': False,
12541 'properties': {'code': {'type': 'string'},
12542 'info': {'$ref': '#/definitions/ErrorInfo'},
12543 'message': {'type': 'string'}},
12544 'required': ['message', 'code'],
12546 'ErrorInfo': {'additionalProperties': False,
12547 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
12548 'macaroon-path': {'type': 'string'}},
12550 'Macaroon': {'additionalProperties': False, 'type': 'object'},
12551 'NotifyWatchResult': {'additionalProperties': False,
12552 'properties': {'NotifyWatcherId': {'type': 'string'},
12553 'error': {'$ref': '#/definitions/Error'}},
12554 'required': ['NotifyWatcherId'],
12556 'NotifyWatchResults': {'additionalProperties': False,
12557 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
12559 'required': ['results'],
12561 'StringResult': {'additionalProperties': False,
12562 'properties': {'error': {'$ref': '#/definitions/Error'},
12563 'result': {'type': 'string'}},
12564 'required': ['result'],
12566 'StringResults': {'additionalProperties': False,
12567 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
12569 'required': ['results'],
12570 'type': 'object'}},
12571 'properties': {'LoggingConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12572 'Result': {'$ref': '#/definitions/StringResults'}},
12574 'WatchLoggingConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12575 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
12576 'type': 'object'}},
12580 @ReturnMapping(StringResults
)
12581 async def LoggingConfig(self
, entities
):
12583 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12584 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
12586 # map input types to rpc msg
12588 msg
= dict(type='Logger', request
='LoggingConfig', version
=1, params
=params
)
12589 params
['entities'] = entities
12590 reply
= await self
.rpc(msg
)
12595 @ReturnMapping(NotifyWatchResults
)
12596 async def WatchLoggingConfig(self
, entities
):
12598 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12599 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
12601 # map input types to rpc msg
12603 msg
= dict(type='Logger', request
='WatchLoggingConfig', version
=1, params
=params
)
12604 params
['entities'] = entities
12605 reply
= await self
.rpc(msg
)
12609 class MachineActionsFacade(Type
):
12610 name
= 'MachineActions'
12612 schema
= {'definitions': {'Action': {'additionalProperties': False,
12613 'properties': {'name': {'type': 'string'},
12614 'parameters': {'patternProperties': {'.*': {'additionalProperties': True,
12615 'type': 'object'}},
12617 'receiver': {'type': 'string'},
12618 'tag': {'type': 'string'}},
12619 'required': ['tag', 'receiver', 'name'],
12621 'ActionExecutionResult': {'additionalProperties': False,
12622 'properties': {'action-tag': {'type': 'string'},
12623 'message': {'type': 'string'},
12624 'results': {'patternProperties': {'.*': {'additionalProperties': True,
12625 'type': 'object'}},
12627 'status': {'type': 'string'}},
12628 'required': ['action-tag', 'status'],
12630 'ActionExecutionResults': {'additionalProperties': False,
12631 'properties': {'results': {'items': {'$ref': '#/definitions/ActionExecutionResult'},
12634 'ActionResult': {'additionalProperties': False,
12635 'properties': {'action': {'$ref': '#/definitions/Action'},
12636 'completed': {'format': 'date-time',
12638 'enqueued': {'format': 'date-time',
12640 'error': {'$ref': '#/definitions/Error'},
12641 'message': {'type': 'string'},
12642 'output': {'patternProperties': {'.*': {'additionalProperties': True,
12643 'type': 'object'}},
12645 'started': {'format': 'date-time',
12647 'status': {'type': 'string'}},
12649 'ActionResults': {'additionalProperties': False,
12650 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'},
12653 'ActionsByReceiver': {'additionalProperties': False,
12654 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'},
12656 'error': {'$ref': '#/definitions/Error'},
12657 'receiver': {'type': 'string'}},
12659 'ActionsByReceivers': {'additionalProperties': False,
12660 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByReceiver'},
12663 'Entities': {'additionalProperties': False,
12664 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
12666 'required': ['entities'],
12668 'Entity': {'additionalProperties': False,
12669 'properties': {'tag': {'type': 'string'}},
12670 'required': ['tag'],
12672 'Error': {'additionalProperties': False,
12673 'properties': {'code': {'type': 'string'},
12674 'info': {'$ref': '#/definitions/ErrorInfo'},
12675 'message': {'type': 'string'}},
12676 'required': ['message', 'code'],
12678 'ErrorInfo': {'additionalProperties': False,
12679 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
12680 'macaroon-path': {'type': 'string'}},
12682 'ErrorResult': {'additionalProperties': False,
12683 'properties': {'error': {'$ref': '#/definitions/Error'}},
12685 'ErrorResults': {'additionalProperties': False,
12686 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
12688 'required': ['results'],
12690 'Macaroon': {'additionalProperties': False, 'type': 'object'},
12691 'StringsWatchResult': {'additionalProperties': False,
12692 'properties': {'changes': {'items': {'type': 'string'},
12694 'error': {'$ref': '#/definitions/Error'},
12695 'watcher-id': {'type': 'string'}},
12696 'required': ['watcher-id'],
12698 'StringsWatchResults': {'additionalProperties': False,
12699 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
12701 'required': ['results'],
12702 'type': 'object'}},
12703 'properties': {'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12704 'Result': {'$ref': '#/definitions/ActionResults'}},
12706 'BeginActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12707 'Result': {'$ref': '#/definitions/ErrorResults'}},
12709 'FinishActions': {'properties': {'Params': {'$ref': '#/definitions/ActionExecutionResults'},
12710 'Result': {'$ref': '#/definitions/ErrorResults'}},
12712 'RunningActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12713 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
12715 'WatchActionNotifications': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12716 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
12717 'type': 'object'}},
12721 @ReturnMapping(ActionResults
)
12722 async def Actions(self
, entities
):
12724 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12725 Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
12727 # map input types to rpc msg
12729 msg
= dict(type='MachineActions', request
='Actions', version
=1, params
=params
)
12730 params
['entities'] = entities
12731 reply
= await self
.rpc(msg
)
12736 @ReturnMapping(ErrorResults
)
12737 async def BeginActions(self
, entities
):
12739 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12740 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
12742 # map input types to rpc msg
12744 msg
= dict(type='MachineActions', request
='BeginActions', version
=1, params
=params
)
12745 params
['entities'] = entities
12746 reply
= await self
.rpc(msg
)
12751 @ReturnMapping(ErrorResults
)
12752 async def FinishActions(self
, results
):
12754 results : typing.Sequence<+T_co>[~ActionExecutionResult]<~ActionExecutionResult>
12755 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
12757 # map input types to rpc msg
12759 msg
= dict(type='MachineActions', request
='FinishActions', version
=1, params
=params
)
12760 params
['results'] = results
12761 reply
= await self
.rpc(msg
)
12766 @ReturnMapping(ActionsByReceivers
)
12767 async def RunningActions(self
, entities
):
12769 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12770 Returns -> typing.Sequence<+T_co>[~ActionsByReceiver]<~ActionsByReceiver>
12772 # map input types to rpc msg
12774 msg
= dict(type='MachineActions', request
='RunningActions', version
=1, params
=params
)
12775 params
['entities'] = entities
12776 reply
= await self
.rpc(msg
)
12781 @ReturnMapping(StringsWatchResults
)
12782 async def WatchActionNotifications(self
, entities
):
12784 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12785 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
12787 # map input types to rpc msg
12789 msg
= dict(type='MachineActions', request
='WatchActionNotifications', version
=1, params
=params
)
12790 params
['entities'] = entities
12791 reply
= await self
.rpc(msg
)
12795 class MachineManagerFacade(Type
):
12796 name
= 'MachineManager'
12798 schema
= {'definitions': {'AddMachineParams': {'additionalProperties': False,
12799 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'},
12801 'constraints': {'$ref': '#/definitions/Value'},
12802 'container-type': {'type': 'string'},
12803 'disks': {'items': {'$ref': '#/definitions/Constraints'},
12805 'hardware-characteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
12806 'instance-id': {'type': 'string'},
12807 'jobs': {'items': {'type': 'string'},
12809 'nonce': {'type': 'string'},
12810 'parent-id': {'type': 'string'},
12811 'placement': {'$ref': '#/definitions/Placement'},
12812 'series': {'type': 'string'}},
12813 'required': ['series',
12820 'hardware-characteristics',
12823 'AddMachines': {'additionalProperties': False,
12824 'properties': {'params': {'items': {'$ref': '#/definitions/AddMachineParams'},
12826 'required': ['params'],
12828 'AddMachinesResult': {'additionalProperties': False,
12829 'properties': {'error': {'$ref': '#/definitions/Error'},
12830 'machine': {'type': 'string'}},
12831 'required': ['machine'],
12833 'AddMachinesResults': {'additionalProperties': False,
12834 'properties': {'machines': {'items': {'$ref': '#/definitions/AddMachinesResult'},
12836 'required': ['machines'],
12838 'Address': {'additionalProperties': False,
12839 'properties': {'scope': {'type': 'string'},
12840 'space-name': {'type': 'string'},
12841 'type': {'type': 'string'},
12842 'value': {'type': 'string'}},
12843 'required': ['value', 'type', 'scope'],
12845 'Constraints': {'additionalProperties': False,
12846 'properties': {'Count': {'type': 'integer'},
12847 'Pool': {'type': 'string'},
12848 'Size': {'type': 'integer'}},
12849 'required': ['Pool', 'Size', 'Count'],
12851 'Error': {'additionalProperties': False,
12852 'properties': {'code': {'type': 'string'},
12853 'info': {'$ref': '#/definitions/ErrorInfo'},
12854 'message': {'type': 'string'}},
12855 'required': ['message', 'code'],
12857 'ErrorInfo': {'additionalProperties': False,
12858 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
12859 'macaroon-path': {'type': 'string'}},
12861 'HardwareCharacteristics': {'additionalProperties': False,
12862 'properties': {'arch': {'type': 'string'},
12863 'availability-zone': {'type': 'string'},
12864 'cpu-cores': {'type': 'integer'},
12865 'cpu-power': {'type': 'integer'},
12866 'mem': {'type': 'integer'},
12867 'root-disk': {'type': 'integer'},
12868 'tags': {'items': {'type': 'string'},
12871 'Macaroon': {'additionalProperties': False, 'type': 'object'},
12872 'Placement': {'additionalProperties': False,
12873 'properties': {'directive': {'type': 'string'},
12874 'scope': {'type': 'string'}},
12875 'required': ['scope', 'directive'],
12877 'Value': {'additionalProperties': False,
12878 'properties': {'arch': {'type': 'string'},
12879 'container': {'type': 'string'},
12880 'cpu-cores': {'type': 'integer'},
12881 'cpu-power': {'type': 'integer'},
12882 'instance-type': {'type': 'string'},
12883 'mem': {'type': 'integer'},
12884 'root-disk': {'type': 'integer'},
12885 'spaces': {'items': {'type': 'string'},
12887 'tags': {'items': {'type': 'string'},
12889 'virt-type': {'type': 'string'}},
12890 'type': 'object'}},
12891 'properties': {'AddMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
12892 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
12893 'type': 'object'}},
12897 @ReturnMapping(AddMachinesResults
)
12898 async def AddMachines(self
, params
):
12900 params : typing.Sequence<+T_co>[~AddMachineParams]<~AddMachineParams>
12901 Returns -> typing.Sequence<+T_co>[~AddMachinesResult]<~AddMachinesResult>
12903 # map input types to rpc msg
12905 msg
= dict(type='MachineManager', request
='AddMachines', version
=2, params
=params
)
12906 params
['params'] = params
12907 reply
= await self
.rpc(msg
)
12911 class MachineUndertakerFacade(Type
):
12912 name
= 'MachineUndertaker'
12914 schema
= {'definitions': {'Entities': {'additionalProperties': False,
12915 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
12917 'required': ['entities'],
12919 'EntitiesResult': {'additionalProperties': False,
12920 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
12922 'error': {'$ref': '#/definitions/Error'}},
12923 'required': ['entities'],
12925 'EntitiesResults': {'additionalProperties': False,
12926 'properties': {'results': {'items': {'$ref': '#/definitions/EntitiesResult'},
12928 'required': ['results'],
12930 'Entity': {'additionalProperties': False,
12931 'properties': {'tag': {'type': 'string'}},
12932 'required': ['tag'],
12934 'Error': {'additionalProperties': False,
12935 'properties': {'code': {'type': 'string'},
12936 'info': {'$ref': '#/definitions/ErrorInfo'},
12937 'message': {'type': 'string'}},
12938 'required': ['message', 'code'],
12940 'ErrorInfo': {'additionalProperties': False,
12941 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
12942 'macaroon-path': {'type': 'string'}},
12944 'Macaroon': {'additionalProperties': False, 'type': 'object'},
12945 'NotifyWatchResult': {'additionalProperties': False,
12946 'properties': {'NotifyWatcherId': {'type': 'string'},
12947 'error': {'$ref': '#/definitions/Error'}},
12948 'required': ['NotifyWatcherId'],
12950 'NotifyWatchResults': {'additionalProperties': False,
12951 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
12953 'required': ['results'],
12955 'ProviderInterfaceInfo': {'additionalProperties': False,
12956 'properties': {'interface-name': {'type': 'string'},
12957 'mac-address': {'type': 'string'},
12958 'provider-id': {'type': 'string'}},
12959 'required': ['interface-name',
12963 'ProviderInterfaceInfoResult': {'additionalProperties': False,
12964 'properties': {'error': {'$ref': '#/definitions/Error'},
12965 'interfaces': {'items': {'$ref': '#/definitions/ProviderInterfaceInfo'},
12967 'machine-tag': {'type': 'string'}},
12968 'required': ['machine-tag',
12971 'ProviderInterfaceInfoResults': {'additionalProperties': False,
12972 'properties': {'results': {'items': {'$ref': '#/definitions/ProviderInterfaceInfoResult'},
12974 'required': ['results'],
12975 'type': 'object'}},
12976 'properties': {'AllMachineRemovals': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12977 'Result': {'$ref': '#/definitions/EntitiesResults'}},
12979 'CompleteMachineRemovals': {'properties': {'Params': {'$ref': '#/definitions/Entities'}},
12981 'GetMachineProviderInterfaceInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12982 'Result': {'$ref': '#/definitions/ProviderInterfaceInfoResults'}},
12984 'WatchMachineRemovals': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12985 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
12986 'type': 'object'}},
12990 @ReturnMapping(EntitiesResults
)
12991 async def AllMachineRemovals(self
, entities
):
12993 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12994 Returns -> typing.Sequence<+T_co>[~EntitiesResult]<~EntitiesResult>
12996 # map input types to rpc msg
12998 msg
= dict(type='MachineUndertaker', request
='AllMachineRemovals', version
=1, params
=params
)
12999 params
['entities'] = entities
13000 reply
= await self
.rpc(msg
)
13005 @ReturnMapping(None)
13006 async def CompleteMachineRemovals(self
, entities
):
13008 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13011 # map input types to rpc msg
13013 msg
= dict(type='MachineUndertaker', request
='CompleteMachineRemovals', version
=1, params
=params
)
13014 params
['entities'] = entities
13015 reply
= await self
.rpc(msg
)
13020 @ReturnMapping(ProviderInterfaceInfoResults
)
13021 async def GetMachineProviderInterfaceInfo(self
, entities
):
13023 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13024 Returns -> typing.Sequence<+T_co>[~ProviderInterfaceInfoResult]<~ProviderInterfaceInfoResult>
13026 # map input types to rpc msg
13028 msg
= dict(type='MachineUndertaker', request
='GetMachineProviderInterfaceInfo', version
=1, params
=params
)
13029 params
['entities'] = entities
13030 reply
= await self
.rpc(msg
)
13035 @ReturnMapping(NotifyWatchResults
)
13036 async def WatchMachineRemovals(self
, entities
):
13038 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13039 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
13041 # map input types to rpc msg
13043 msg
= dict(type='MachineUndertaker', request
='WatchMachineRemovals', version
=1, params
=params
)
13044 params
['entities'] = entities
13045 reply
= await self
.rpc(msg
)
13049 class MachinerFacade(Type
):
13052 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
13053 'properties': {'servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
13056 'required': ['servers'],
13058 'Address': {'additionalProperties': False,
13059 'properties': {'scope': {'type': 'string'},
13060 'space-name': {'type': 'string'},
13061 'type': {'type': 'string'},
13062 'value': {'type': 'string'}},
13063 'required': ['value', 'type', 'scope'],
13065 'BytesResult': {'additionalProperties': False,
13066 'properties': {'result': {'items': {'type': 'integer'},
13068 'required': ['result'],
13070 'Entities': {'additionalProperties': False,
13071 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
13073 'required': ['entities'],
13075 'Entity': {'additionalProperties': False,
13076 'properties': {'tag': {'type': 'string'}},
13077 'required': ['tag'],
13079 'EntityStatusArgs': {'additionalProperties': False,
13080 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
13081 'type': 'object'}},
13083 'info': {'type': 'string'},
13084 'status': {'type': 'string'},
13085 'tag': {'type': 'string'}},
13086 'required': ['tag',
13091 'Error': {'additionalProperties': False,
13092 'properties': {'code': {'type': 'string'},
13093 'info': {'$ref': '#/definitions/ErrorInfo'},
13094 'message': {'type': 'string'}},
13095 'required': ['message', 'code'],
13097 'ErrorInfo': {'additionalProperties': False,
13098 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
13099 'macaroon-path': {'type': 'string'}},
13101 'ErrorResult': {'additionalProperties': False,
13102 'properties': {'error': {'$ref': '#/definitions/Error'}},
13104 'ErrorResults': {'additionalProperties': False,
13105 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
13107 'required': ['results'],
13109 'HostPort': {'additionalProperties': False,
13110 'properties': {'Address': {'$ref': '#/definitions/Address'},
13111 'port': {'type': 'integer'}},
13112 'required': ['Address', 'port'],
13114 'JobsResult': {'additionalProperties': False,
13115 'properties': {'error': {'$ref': '#/definitions/Error'},
13116 'jobs': {'items': {'type': 'string'},
13118 'required': ['jobs'],
13120 'JobsResults': {'additionalProperties': False,
13121 'properties': {'results': {'items': {'$ref': '#/definitions/JobsResult'},
13123 'required': ['results'],
13125 'LifeResult': {'additionalProperties': False,
13126 'properties': {'error': {'$ref': '#/definitions/Error'},
13127 'life': {'type': 'string'}},
13128 'required': ['life'],
13130 'LifeResults': {'additionalProperties': False,
13131 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
13133 'required': ['results'],
13135 'Macaroon': {'additionalProperties': False, 'type': 'object'},
13136 'MachineAddresses': {'additionalProperties': False,
13137 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'},
13139 'tag': {'type': 'string'}},
13140 'required': ['tag', 'addresses'],
13142 'NetworkConfig': {'additionalProperties': False,
13143 'properties': {'address': {'type': 'string'},
13144 'cidr': {'type': 'string'},
13145 'config-type': {'type': 'string'},
13146 'device-index': {'type': 'integer'},
13147 'disabled': {'type': 'boolean'},
13148 'dns-search-domains': {'items': {'type': 'string'},
13150 'dns-servers': {'items': {'type': 'string'},
13152 'gateway-address': {'type': 'string'},
13153 'interface-name': {'type': 'string'},
13154 'interface-type': {'type': 'string'},
13155 'mac-address': {'type': 'string'},
13156 'mtu': {'type': 'integer'},
13157 'no-auto-start': {'type': 'boolean'},
13158 'parent-interface-name': {'type': 'string'},
13159 'provider-address-id': {'type': 'string'},
13160 'provider-id': {'type': 'string'},
13161 'provider-space-id': {'type': 'string'},
13162 'provider-subnet-id': {'type': 'string'},
13163 'provider-vlan-id': {'type': 'string'},
13164 'vlan-tag': {'type': 'integer'}},
13165 'required': ['device-index',
13170 'provider-subnet-id',
13171 'provider-space-id',
13172 'provider-address-id',
13173 'provider-vlan-id',
13176 'parent-interface-name',
13180 'NotifyWatchResult': {'additionalProperties': False,
13181 'properties': {'NotifyWatcherId': {'type': 'string'},
13182 'error': {'$ref': '#/definitions/Error'}},
13183 'required': ['NotifyWatcherId'],
13185 'NotifyWatchResults': {'additionalProperties': False,
13186 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
13188 'required': ['results'],
13190 'SetMachineNetworkConfig': {'additionalProperties': False,
13191 'properties': {'config': {'items': {'$ref': '#/definitions/NetworkConfig'},
13193 'tag': {'type': 'string'}},
13194 'required': ['tag', 'config'],
13196 'SetMachinesAddresses': {'additionalProperties': False,
13197 'properties': {'machine-addresses': {'items': {'$ref': '#/definitions/MachineAddresses'},
13199 'required': ['machine-addresses'],
13201 'SetStatus': {'additionalProperties': False,
13202 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
13204 'required': ['entities'],
13206 'StringResult': {'additionalProperties': False,
13207 'properties': {'error': {'$ref': '#/definitions/Error'},
13208 'result': {'type': 'string'}},
13209 'required': ['result'],
13211 'StringsResult': {'additionalProperties': False,
13212 'properties': {'error': {'$ref': '#/definitions/Error'},
13213 'result': {'items': {'type': 'string'},
13215 'type': 'object'}},
13216 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
13218 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
13220 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
13222 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13223 'Result': {'$ref': '#/definitions/ErrorResults'}},
13225 'Jobs': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13226 'Result': {'$ref': '#/definitions/JobsResults'}},
13228 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13229 'Result': {'$ref': '#/definitions/LifeResults'}},
13231 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
13233 'SetMachineAddresses': {'properties': {'Params': {'$ref': '#/definitions/SetMachinesAddresses'},
13234 'Result': {'$ref': '#/definitions/ErrorResults'}},
13236 'SetObservedNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/SetMachineNetworkConfig'}},
13238 'SetProviderNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13239 'Result': {'$ref': '#/definitions/ErrorResults'}},
13241 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
13242 'Result': {'$ref': '#/definitions/ErrorResults'}},
13244 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
13245 'Result': {'$ref': '#/definitions/ErrorResults'}},
13247 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13248 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
13250 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
13251 'type': 'object'}},
13255 @ReturnMapping(StringsResult
)
13256 async def APIAddresses(self
):
13259 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[str]]
13261 # map input types to rpc msg
13263 msg
= dict(type='Machiner', request
='APIAddresses', version
=1, params
=params
)
13265 reply
= await self
.rpc(msg
)
13270 @ReturnMapping(APIHostPortsResult
)
13271 async def APIHostPorts(self
):
13274 Returns -> typing.Sequence<+T_co>[~HostPort]<~HostPort>
13276 # map input types to rpc msg
13278 msg
= dict(type='Machiner', request
='APIHostPorts', version
=1, params
=params
)
13280 reply
= await self
.rpc(msg
)
13285 @ReturnMapping(BytesResult
)
13286 async def CACert(self
):
13289 Returns -> typing.Sequence<+T_co>[int]
13291 # map input types to rpc msg
13293 msg
= dict(type='Machiner', request
='CACert', version
=1, params
=params
)
13295 reply
= await self
.rpc(msg
)
13300 @ReturnMapping(ErrorResults
)
13301 async def EnsureDead(self
, entities
):
13303 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13304 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
13306 # map input types to rpc msg
13308 msg
= dict(type='Machiner', request
='EnsureDead', version
=1, params
=params
)
13309 params
['entities'] = entities
13310 reply
= await self
.rpc(msg
)
13315 @ReturnMapping(JobsResults
)
13316 async def Jobs(self
, entities
):
13318 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13319 Returns -> typing.Sequence<+T_co>[~JobsResult]<~JobsResult>
13321 # map input types to rpc msg
13323 msg
= dict(type='Machiner', request
='Jobs', version
=1, params
=params
)
13324 params
['entities'] = entities
13325 reply
= await self
.rpc(msg
)
13330 @ReturnMapping(LifeResults
)
13331 async def Life(self
, entities
):
13333 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13334 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
13336 # map input types to rpc msg
13338 msg
= dict(type='Machiner', request
='Life', version
=1, params
=params
)
13339 params
['entities'] = entities
13340 reply
= await self
.rpc(msg
)
13345 @ReturnMapping(StringResult
)
13346 async def ModelUUID(self
):
13349 Returns -> typing.Union[_ForwardRef('Error'), str]
13351 # map input types to rpc msg
13353 msg
= dict(type='Machiner', request
='ModelUUID', version
=1, params
=params
)
13355 reply
= await self
.rpc(msg
)
13360 @ReturnMapping(ErrorResults
)
13361 async def SetMachineAddresses(self
, machine_addresses
):
13363 machine_addresses : typing.Sequence<+T_co>[~MachineAddresses]<~MachineAddresses>
13364 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
13366 # map input types to rpc msg
13368 msg
= dict(type='Machiner', request
='SetMachineAddresses', version
=1, params
=params
)
13369 params
['machine-addresses'] = machine_addresses
13370 reply
= await self
.rpc(msg
)
13375 @ReturnMapping(None)
13376 async def SetObservedNetworkConfig(self
, config
, tag
):
13378 config : typing.Sequence<+T_co>[~NetworkConfig]<~NetworkConfig>
13382 # map input types to rpc msg
13384 msg
= dict(type='Machiner', request
='SetObservedNetworkConfig', version
=1, params
=params
)
13385 params
['config'] = config
13386 params
['tag'] = tag
13387 reply
= await self
.rpc(msg
)
13392 @ReturnMapping(ErrorResults
)
13393 async def SetProviderNetworkConfig(self
, entities
):
13395 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13396 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
13398 # map input types to rpc msg
13400 msg
= dict(type='Machiner', request
='SetProviderNetworkConfig', version
=1, params
=params
)
13401 params
['entities'] = entities
13402 reply
= await self
.rpc(msg
)
13407 @ReturnMapping(ErrorResults
)
13408 async def SetStatus(self
, entities
):
13410 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
13411 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
13413 # map input types to rpc msg
13415 msg
= dict(type='Machiner', request
='SetStatus', version
=1, params
=params
)
13416 params
['entities'] = entities
13417 reply
= await self
.rpc(msg
)
13422 @ReturnMapping(ErrorResults
)
13423 async def UpdateStatus(self
, entities
):
13425 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
13426 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
13428 # map input types to rpc msg
13430 msg
= dict(type='Machiner', request
='UpdateStatus', version
=1, params
=params
)
13431 params
['entities'] = entities
13432 reply
= await self
.rpc(msg
)
13437 @ReturnMapping(NotifyWatchResults
)
13438 async def Watch(self
, entities
):
13440 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13441 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
13443 # map input types to rpc msg
13445 msg
= dict(type='Machiner', request
='Watch', version
=1, params
=params
)
13446 params
['entities'] = entities
13447 reply
= await self
.rpc(msg
)
13452 @ReturnMapping(NotifyWatchResult
)
13453 async def WatchAPIHostPorts(self
):
13456 Returns -> typing.Union[str, _ForwardRef('Error')]
13458 # map input types to rpc msg
13460 msg
= dict(type='Machiner', request
='WatchAPIHostPorts', version
=1, params
=params
)
13462 reply
= await self
.rpc(msg
)
13466 class MeterStatusFacade(Type
):
13467 name
= 'MeterStatus'
13469 schema
= {'definitions': {'Entities': {'additionalProperties': False,
13470 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
13472 'required': ['entities'],
13474 'Entity': {'additionalProperties': False,
13475 'properties': {'tag': {'type': 'string'}},
13476 'required': ['tag'],
13478 'Error': {'additionalProperties': False,
13479 'properties': {'code': {'type': 'string'},
13480 'info': {'$ref': '#/definitions/ErrorInfo'},
13481 'message': {'type': 'string'}},
13482 'required': ['message', 'code'],
13484 'ErrorInfo': {'additionalProperties': False,
13485 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
13486 'macaroon-path': {'type': 'string'}},
13488 'Macaroon': {'additionalProperties': False, 'type': 'object'},
13489 'MeterStatusResult': {'additionalProperties': False,
13490 'properties': {'code': {'type': 'string'},
13491 'error': {'$ref': '#/definitions/Error'},
13492 'info': {'type': 'string'}},
13493 'required': ['code', 'info'],
13495 'MeterStatusResults': {'additionalProperties': False,
13496 'properties': {'results': {'items': {'$ref': '#/definitions/MeterStatusResult'},
13498 'required': ['results'],
13500 'NotifyWatchResult': {'additionalProperties': False,
13501 'properties': {'NotifyWatcherId': {'type': 'string'},
13502 'error': {'$ref': '#/definitions/Error'}},
13503 'required': ['NotifyWatcherId'],
13505 'NotifyWatchResults': {'additionalProperties': False,
13506 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
13508 'required': ['results'],
13509 'type': 'object'}},
13510 'properties': {'GetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13511 'Result': {'$ref': '#/definitions/MeterStatusResults'}},
13513 'WatchMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13514 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
13515 'type': 'object'}},
13519 @ReturnMapping(MeterStatusResults
)
13520 async def GetMeterStatus(self
, entities
):
13522 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13523 Returns -> typing.Sequence<+T_co>[~MeterStatusResult]<~MeterStatusResult>
13525 # map input types to rpc msg
13527 msg
= dict(type='MeterStatus', request
='GetMeterStatus', version
=1, params
=params
)
13528 params
['entities'] = entities
13529 reply
= await self
.rpc(msg
)
13534 @ReturnMapping(NotifyWatchResults
)
13535 async def WatchMeterStatus(self
, entities
):
13537 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13538 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
13540 # map input types to rpc msg
13542 msg
= dict(type='MeterStatus', request
='WatchMeterStatus', version
=1, params
=params
)
13543 params
['entities'] = entities
13544 reply
= await self
.rpc(msg
)
13548 class MetricsAdderFacade(Type
):
13549 name
= 'MetricsAdder'
13551 schema
= {'definitions': {'Error': {'additionalProperties': False,
13552 'properties': {'code': {'type': 'string'},
13553 'info': {'$ref': '#/definitions/ErrorInfo'},
13554 'message': {'type': 'string'}},
13555 'required': ['message', 'code'],
13557 'ErrorInfo': {'additionalProperties': False,
13558 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
13559 'macaroon-path': {'type': 'string'}},
13561 'ErrorResult': {'additionalProperties': False,
13562 'properties': {'error': {'$ref': '#/definitions/Error'}},
13564 'ErrorResults': {'additionalProperties': False,
13565 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
13567 'required': ['results'],
13569 'Macaroon': {'additionalProperties': False, 'type': 'object'},
13570 'Metric': {'additionalProperties': False,
13571 'properties': {'key': {'type': 'string'},
13572 'time': {'format': 'date-time',
13574 'value': {'type': 'string'}},
13575 'required': ['key', 'value', 'time'],
13577 'MetricBatch': {'additionalProperties': False,
13578 'properties': {'charm-url': {'type': 'string'},
13579 'created': {'format': 'date-time',
13581 'metrics': {'items': {'$ref': '#/definitions/Metric'},
13583 'uuid': {'type': 'string'}},
13584 'required': ['uuid',
13589 'MetricBatchParam': {'additionalProperties': False,
13590 'properties': {'batch': {'$ref': '#/definitions/MetricBatch'},
13591 'tag': {'type': 'string'}},
13592 'required': ['tag', 'batch'],
13594 'MetricBatchParams': {'additionalProperties': False,
13595 'properties': {'batches': {'items': {'$ref': '#/definitions/MetricBatchParam'},
13597 'required': ['batches'],
13598 'type': 'object'}},
13599 'properties': {'AddMetricBatches': {'properties': {'Params': {'$ref': '#/definitions/MetricBatchParams'},
13600 'Result': {'$ref': '#/definitions/ErrorResults'}},
13601 'type': 'object'}},
13605 @ReturnMapping(ErrorResults
)
13606 async def AddMetricBatches(self
, batches
):
13608 batches : typing.Sequence<+T_co>[~MetricBatchParam]<~MetricBatchParam>
13609 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
13611 # map input types to rpc msg
13613 msg
= dict(type='MetricsAdder', request
='AddMetricBatches', version
=2, params
=params
)
13614 params
['batches'] = batches
13615 reply
= await self
.rpc(msg
)
13619 class MetricsDebugFacade(Type
):
13620 name
= 'MetricsDebug'
13622 schema
= {'definitions': {'Entities': {'additionalProperties': False,
13623 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
13625 'required': ['entities'],
13627 'Entity': {'additionalProperties': False,
13628 'properties': {'tag': {'type': 'string'}},
13629 'required': ['tag'],
13631 'EntityMetrics': {'additionalProperties': False,
13632 'properties': {'error': {'$ref': '#/definitions/Error'},
13633 'metrics': {'items': {'$ref': '#/definitions/MetricResult'},
13636 'Error': {'additionalProperties': False,
13637 'properties': {'code': {'type': 'string'},
13638 'info': {'$ref': '#/definitions/ErrorInfo'},
13639 'message': {'type': 'string'}},
13640 'required': ['message', 'code'],
13642 'ErrorInfo': {'additionalProperties': False,
13643 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
13644 'macaroon-path': {'type': 'string'}},
13646 'ErrorResult': {'additionalProperties': False,
13647 'properties': {'error': {'$ref': '#/definitions/Error'}},
13649 'ErrorResults': {'additionalProperties': False,
13650 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
13652 'required': ['results'],
13654 'Macaroon': {'additionalProperties': False, 'type': 'object'},
13655 'MeterStatusParam': {'additionalProperties': False,
13656 'properties': {'code': {'type': 'string'},
13657 'info': {'type': 'string'},
13658 'tag': {'type': 'string'}},
13659 'required': ['tag', 'code', 'info'],
13661 'MeterStatusParams': {'additionalProperties': False,
13662 'properties': {'statues': {'items': {'$ref': '#/definitions/MeterStatusParam'},
13664 'required': ['statues'],
13666 'MetricResult': {'additionalProperties': False,
13667 'properties': {'key': {'type': 'string'},
13668 'time': {'format': 'date-time',
13670 'unit': {'type': 'string'},
13671 'value': {'type': 'string'}},
13672 'required': ['time', 'key', 'value', 'unit'],
13674 'MetricResults': {'additionalProperties': False,
13675 'properties': {'results': {'items': {'$ref': '#/definitions/EntityMetrics'},
13677 'required': ['results'],
13678 'type': 'object'}},
13679 'properties': {'GetMetrics': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13680 'Result': {'$ref': '#/definitions/MetricResults'}},
13682 'SetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/MeterStatusParams'},
13683 'Result': {'$ref': '#/definitions/ErrorResults'}},
13684 'type': 'object'}},
13688 @ReturnMapping(MetricResults
)
13689 async def GetMetrics(self
, entities
):
13691 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13692 Returns -> typing.Sequence<+T_co>[~EntityMetrics]<~EntityMetrics>
13694 # map input types to rpc msg
13696 msg
= dict(type='MetricsDebug', request
='GetMetrics', version
=2, params
=params
)
13697 params
['entities'] = entities
13698 reply
= await self
.rpc(msg
)
13703 @ReturnMapping(ErrorResults
)
13704 async def SetMeterStatus(self
, statues
):
13706 statues : typing.Sequence<+T_co>[~MeterStatusParam]<~MeterStatusParam>
13707 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
13709 # map input types to rpc msg
13711 msg
= dict(type='MetricsDebug', request
='SetMeterStatus', version
=2, params
=params
)
13712 params
['statues'] = statues
13713 reply
= await self
.rpc(msg
)
13717 class MetricsManagerFacade(Type
):
13718 name
= 'MetricsManager'
13720 schema
= {'definitions': {'Entities': {'additionalProperties': False,
13721 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
13723 'required': ['entities'],
13725 'Entity': {'additionalProperties': False,
13726 'properties': {'tag': {'type': 'string'}},
13727 'required': ['tag'],
13729 'Error': {'additionalProperties': False,
13730 'properties': {'code': {'type': 'string'},
13731 'info': {'$ref': '#/definitions/ErrorInfo'},
13732 'message': {'type': 'string'}},
13733 'required': ['message', 'code'],
13735 'ErrorInfo': {'additionalProperties': False,
13736 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
13737 'macaroon-path': {'type': 'string'}},
13739 'ErrorResult': {'additionalProperties': False,
13740 'properties': {'error': {'$ref': '#/definitions/Error'}},
13742 'ErrorResults': {'additionalProperties': False,
13743 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
13745 'required': ['results'],
13747 'Macaroon': {'additionalProperties': False, 'type': 'object'}},
13748 'properties': {'CleanupOldMetrics': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13749 'Result': {'$ref': '#/definitions/ErrorResults'}},
13751 'SendMetrics': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13752 'Result': {'$ref': '#/definitions/ErrorResults'}},
13753 'type': 'object'}},
13757 @ReturnMapping(ErrorResults
)
13758 async def CleanupOldMetrics(self
, entities
):
13760 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13761 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
13763 # map input types to rpc msg
13765 msg
= dict(type='MetricsManager', request
='CleanupOldMetrics', version
=1, params
=params
)
13766 params
['entities'] = entities
13767 reply
= await self
.rpc(msg
)
13772 @ReturnMapping(ErrorResults
)
13773 async def SendMetrics(self
, entities
):
13775 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13776 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
13778 # map input types to rpc msg
13780 msg
= dict(type='MetricsManager', request
='SendMetrics', version
=1, params
=params
)
13781 params
['entities'] = entities
13782 reply
= await self
.rpc(msg
)
13786 class MigrationFlagFacade(Type
):
13787 name
= 'MigrationFlag'
13789 schema
= {'definitions': {'Entities': {'additionalProperties': False,
13790 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
13792 'required': ['entities'],
13794 'Entity': {'additionalProperties': False,
13795 'properties': {'tag': {'type': 'string'}},
13796 'required': ['tag'],
13798 'Error': {'additionalProperties': False,
13799 'properties': {'code': {'type': 'string'},
13800 'info': {'$ref': '#/definitions/ErrorInfo'},
13801 'message': {'type': 'string'}},
13802 'required': ['message', 'code'],
13804 'ErrorInfo': {'additionalProperties': False,
13805 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
13806 'macaroon-path': {'type': 'string'}},
13808 'Macaroon': {'additionalProperties': False, 'type': 'object'},
13809 'NotifyWatchResult': {'additionalProperties': False,
13810 'properties': {'NotifyWatcherId': {'type': 'string'},
13811 'error': {'$ref': '#/definitions/Error'}},
13812 'required': ['NotifyWatcherId'],
13814 'NotifyWatchResults': {'additionalProperties': False,
13815 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
13817 'required': ['results'],
13819 'PhaseResult': {'additionalProperties': False,
13820 'properties': {'error': {'$ref': '#/definitions/Error'},
13821 'phase': {'type': 'string'}},
13823 'PhaseResults': {'additionalProperties': False,
13824 'properties': {'results': {'items': {'$ref': '#/definitions/PhaseResult'},
13826 'required': ['results'],
13827 'type': 'object'}},
13828 'properties': {'Phase': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13829 'Result': {'$ref': '#/definitions/PhaseResults'}},
13831 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13832 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
13833 'type': 'object'}},
13837 @ReturnMapping(PhaseResults
)
13838 async def Phase(self
, entities
):
13840 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13841 Returns -> typing.Sequence<+T_co>[~PhaseResult]<~PhaseResult>
13843 # map input types to rpc msg
13845 msg
= dict(type='MigrationFlag', request
='Phase', version
=1, params
=params
)
13846 params
['entities'] = entities
13847 reply
= await self
.rpc(msg
)
13852 @ReturnMapping(NotifyWatchResults
)
13853 async def Watch(self
, entities
):
13855 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13856 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
13858 # map input types to rpc msg
13860 msg
= dict(type='MigrationFlag', request
='Watch', version
=1, params
=params
)
13861 params
['entities'] = entities
13862 reply
= await self
.rpc(msg
)
13866 class MigrationMasterFacade(Type
):
13867 name
= 'MigrationMaster'
13869 schema
= {'definitions': {'Error': {'additionalProperties': False,
13870 'properties': {'code': {'type': 'string'},
13871 'info': {'$ref': '#/definitions/ErrorInfo'},
13872 'message': {'type': 'string'}},
13873 'required': ['message', 'code'],
13875 'ErrorInfo': {'additionalProperties': False,
13876 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
13877 'macaroon-path': {'type': 'string'}},
13879 'Macaroon': {'additionalProperties': False, 'type': 'object'},
13880 'MasterMigrationStatus': {'additionalProperties': False,
13881 'properties': {'migration-id': {'type': 'string'},
13882 'phase': {'type': 'string'},
13883 'phase-changed-time': {'format': 'date-time',
13885 'spec': {'$ref': '#/definitions/MigrationSpec'}},
13886 'required': ['spec',
13889 'phase-changed-time'],
13891 'MigrationModelInfo': {'additionalProperties': False,
13892 'properties': {'agent-version': {'$ref': '#/definitions/Number'},
13893 'name': {'type': 'string'},
13894 'owner-tag': {'type': 'string'},
13895 'uuid': {'type': 'string'}},
13896 'required': ['uuid',
13901 'MigrationSpec': {'additionalProperties': False,
13902 'properties': {'external-control': {'type': 'boolean'},
13903 'model-tag': {'type': 'string'},
13904 'target-info': {'$ref': '#/definitions/MigrationTargetInfo'}},
13905 'required': ['model-tag',
13907 'external-control'],
13909 'MigrationTargetInfo': {'additionalProperties': False,
13910 'properties': {'addrs': {'items': {'type': 'string'},
13912 'auth-tag': {'type': 'string'},
13913 'ca-cert': {'type': 'string'},
13914 'controller-tag': {'type': 'string'},
13915 'macaroons': {'type': 'string'},
13916 'password': {'type': 'string'}},
13917 'required': ['controller-tag',
13922 'MinionReports': {'additionalProperties': False,
13923 'properties': {'failed': {'items': {'type': 'string'},
13925 'migration-id': {'type': 'string'},
13926 'phase': {'type': 'string'},
13927 'success-count': {'type': 'integer'},
13928 'unknown-count': {'type': 'integer'},
13929 'unknown-sample': {'items': {'type': 'string'},
13931 'required': ['migration-id',
13938 'NotifyWatchResult': {'additionalProperties': False,
13939 'properties': {'NotifyWatcherId': {'type': 'string'},
13940 'error': {'$ref': '#/definitions/Error'}},
13941 'required': ['NotifyWatcherId'],
13943 'Number': {'additionalProperties': False,
13944 'properties': {'Build': {'type': 'integer'},
13945 'Major': {'type': 'integer'},
13946 'Minor': {'type': 'integer'},
13947 'Patch': {'type': 'integer'},
13948 'Tag': {'type': 'string'}},
13949 'required': ['Major',
13955 'SerializedModel': {'additionalProperties': False,
13956 'properties': {'bytes': {'items': {'type': 'integer'},
13958 'charms': {'items': {'type': 'string'},
13960 'tools': {'items': {'$ref': '#/definitions/SerializedModelTools'},
13962 'required': ['bytes', 'charms', 'tools'],
13964 'SerializedModelTools': {'additionalProperties': False,
13965 'properties': {'uri': {'type': 'string'},
13966 'version': {'type': 'string'}},
13967 'required': ['version', 'uri'],
13969 'SetMigrationPhaseArgs': {'additionalProperties': False,
13970 'properties': {'phase': {'type': 'string'}},
13971 'required': ['phase'],
13973 'SetMigrationStatusMessageArgs': {'additionalProperties': False,
13974 'properties': {'message': {'type': 'string'}},
13975 'required': ['message'],
13976 'type': 'object'}},
13977 'properties': {'Export': {'properties': {'Result': {'$ref': '#/definitions/SerializedModel'}},
13979 'MigrationStatus': {'properties': {'Result': {'$ref': '#/definitions/MasterMigrationStatus'}},
13981 'MinionReports': {'properties': {'Result': {'$ref': '#/definitions/MinionReports'}},
13983 'ModelInfo': {'properties': {'Result': {'$ref': '#/definitions/MigrationModelInfo'}},
13985 'Prechecks': {'type': 'object'},
13986 'Reap': {'type': 'object'},
13987 'SetPhase': {'properties': {'Params': {'$ref': '#/definitions/SetMigrationPhaseArgs'}},
13989 'SetStatusMessage': {'properties': {'Params': {'$ref': '#/definitions/SetMigrationStatusMessageArgs'}},
13991 'Watch': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
13993 'WatchMinionReports': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
13994 'type': 'object'}},
13998 @ReturnMapping(SerializedModel
)
13999 async def Export(self
):
14002 Returns -> typing.Sequence<+T_co>[~SerializedModelTools]<~SerializedModelTools>
14004 # map input types to rpc msg
14006 msg
= dict(type='MigrationMaster', request
='Export', version
=1, params
=params
)
14008 reply
= await self
.rpc(msg
)
14013 @ReturnMapping(MasterMigrationStatus
)
14014 async def MigrationStatus(self
):
14017 Returns -> typing.Union[str, _ForwardRef('MigrationSpec')]
14019 # map input types to rpc msg
14021 msg
= dict(type='MigrationMaster', request
='MigrationStatus', version
=1, params
=params
)
14023 reply
= await self
.rpc(msg
)
14028 @ReturnMapping(MinionReports
)
14029 async def MinionReports(self
):
14032 Returns -> typing.Union[typing.Sequence<+T_co>[str], int]
14034 # map input types to rpc msg
14036 msg
= dict(type='MigrationMaster', request
='MinionReports', version
=1, params
=params
)
14038 reply
= await self
.rpc(msg
)
14043 @ReturnMapping(MigrationModelInfo
)
14044 async def ModelInfo(self
):
14047 Returns -> typing.Union[_ForwardRef('Number'), str]
14049 # map input types to rpc msg
14051 msg
= dict(type='MigrationMaster', request
='ModelInfo', version
=1, params
=params
)
14053 reply
= await self
.rpc(msg
)
14058 @ReturnMapping(None)
14059 async def Prechecks(self
):
14064 # map input types to rpc msg
14066 msg
= dict(type='MigrationMaster', request
='Prechecks', version
=1, params
=params
)
14068 reply
= await self
.rpc(msg
)
14073 @ReturnMapping(None)
14074 async def Reap(self
):
14079 # map input types to rpc msg
14081 msg
= dict(type='MigrationMaster', request
='Reap', version
=1, params
=params
)
14083 reply
= await self
.rpc(msg
)
14088 @ReturnMapping(None)
14089 async def SetPhase(self
, phase
):
14094 # map input types to rpc msg
14096 msg
= dict(type='MigrationMaster', request
='SetPhase', version
=1, params
=params
)
14097 params
['phase'] = phase
14098 reply
= await self
.rpc(msg
)
14103 @ReturnMapping(None)
14104 async def SetStatusMessage(self
, message
):
14109 # map input types to rpc msg
14111 msg
= dict(type='MigrationMaster', request
='SetStatusMessage', version
=1, params
=params
)
14112 params
['message'] = message
14113 reply
= await self
.rpc(msg
)
14118 @ReturnMapping(NotifyWatchResult
)
14119 async def Watch(self
):
14122 Returns -> typing.Union[str, _ForwardRef('Error')]
14124 # map input types to rpc msg
14126 msg
= dict(type='MigrationMaster', request
='Watch', version
=1, params
=params
)
14128 reply
= await self
.rpc(msg
)
14133 @ReturnMapping(NotifyWatchResult
)
14134 async def WatchMinionReports(self
):
14137 Returns -> typing.Union[str, _ForwardRef('Error')]
14139 # map input types to rpc msg
14141 msg
= dict(type='MigrationMaster', request
='WatchMinionReports', version
=1, params
=params
)
14143 reply
= await self
.rpc(msg
)
14147 class MigrationMinionFacade(Type
):
14148 name
= 'MigrationMinion'
14150 schema
= {'definitions': {'Error': {'additionalProperties': False,
14151 'properties': {'code': {'type': 'string'},
14152 'info': {'$ref': '#/definitions/ErrorInfo'},
14153 'message': {'type': 'string'}},
14154 'required': ['message', 'code'],
14156 'ErrorInfo': {'additionalProperties': False,
14157 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
14158 'macaroon-path': {'type': 'string'}},
14160 'Macaroon': {'additionalProperties': False, 'type': 'object'},
14161 'MinionReport': {'additionalProperties': False,
14162 'properties': {'migration-id': {'type': 'string'},
14163 'phase': {'type': 'string'},
14164 'success': {'type': 'boolean'}},
14165 'required': ['migration-id',
14169 'NotifyWatchResult': {'additionalProperties': False,
14170 'properties': {'NotifyWatcherId': {'type': 'string'},
14171 'error': {'$ref': '#/definitions/Error'}},
14172 'required': ['NotifyWatcherId'],
14173 'type': 'object'}},
14174 'properties': {'Report': {'properties': {'Params': {'$ref': '#/definitions/MinionReport'}},
14176 'Watch': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
14177 'type': 'object'}},
14181 @ReturnMapping(None)
14182 async def Report(self
, migration_id
, phase
, success
):
14189 # map input types to rpc msg
14191 msg
= dict(type='MigrationMinion', request
='Report', version
=1, params
=params
)
14192 params
['migration-id'] = migration_id
14193 params
['phase'] = phase
14194 params
['success'] = success
14195 reply
= await self
.rpc(msg
)
14200 @ReturnMapping(NotifyWatchResult
)
14201 async def Watch(self
):
14204 Returns -> typing.Union[str, _ForwardRef('Error')]
14206 # map input types to rpc msg
14208 msg
= dict(type='MigrationMinion', request
='Watch', version
=1, params
=params
)
14210 reply
= await self
.rpc(msg
)
14214 class MigrationStatusWatcherFacade(Type
):
14215 name
= 'MigrationStatusWatcher'
14217 schema
= {'definitions': {'MigrationStatus': {'additionalProperties': False,
14218 'properties': {'attempt': {'type': 'integer'},
14219 'migration-id': {'type': 'string'},
14220 'phase': {'type': 'string'},
14221 'source-api-addrs': {'items': {'type': 'string'},
14223 'source-ca-cert': {'type': 'string'},
14224 'target-api-addrs': {'items': {'type': 'string'},
14226 'target-ca-cert': {'type': 'string'}},
14227 'required': ['migration-id',
14230 'source-api-addrs',
14232 'target-api-addrs',
14234 'type': 'object'}},
14235 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/MigrationStatus'}},
14237 'Stop': {'type': 'object'}},
14241 @ReturnMapping(MigrationStatus
)
14242 async def Next(self
):
14245 Returns -> typing.Union[int, typing.Sequence<+T_co>[str]]
14247 # map input types to rpc msg
14249 msg
= dict(type='MigrationStatusWatcher', request
='Next', version
=1, params
=params
)
14251 reply
= await self
.rpc(msg
)
14256 @ReturnMapping(None)
14257 async def Stop(self
):
14262 # map input types to rpc msg
14264 msg
= dict(type='MigrationStatusWatcher', request
='Stop', version
=1, params
=params
)
14266 reply
= await self
.rpc(msg
)
14270 class MigrationTargetFacade(Type
):
14271 name
= 'MigrationTarget'
14273 schema
= {'definitions': {'MigrationModelInfo': {'additionalProperties': False,
14274 'properties': {'agent-version': {'$ref': '#/definitions/Number'},
14275 'name': {'type': 'string'},
14276 'owner-tag': {'type': 'string'},
14277 'uuid': {'type': 'string'}},
14278 'required': ['uuid',
14283 'ModelArgs': {'additionalProperties': False,
14284 'properties': {'model-tag': {'type': 'string'}},
14285 'required': ['model-tag'],
14287 'Number': {'additionalProperties': False,
14288 'properties': {'Build': {'type': 'integer'},
14289 'Major': {'type': 'integer'},
14290 'Minor': {'type': 'integer'},
14291 'Patch': {'type': 'integer'},
14292 'Tag': {'type': 'string'}},
14293 'required': ['Major',
14299 'SerializedModel': {'additionalProperties': False,
14300 'properties': {'bytes': {'items': {'type': 'integer'},
14302 'charms': {'items': {'type': 'string'},
14304 'tools': {'items': {'$ref': '#/definitions/SerializedModelTools'},
14306 'required': ['bytes', 'charms', 'tools'],
14308 'SerializedModelTools': {'additionalProperties': False,
14309 'properties': {'uri': {'type': 'string'},
14310 'version': {'type': 'string'}},
14311 'required': ['version', 'uri'],
14312 'type': 'object'}},
14313 'properties': {'Abort': {'properties': {'Params': {'$ref': '#/definitions/ModelArgs'}},
14315 'Activate': {'properties': {'Params': {'$ref': '#/definitions/ModelArgs'}},
14317 'Import': {'properties': {'Params': {'$ref': '#/definitions/SerializedModel'}},
14319 'Prechecks': {'properties': {'Params': {'$ref': '#/definitions/MigrationModelInfo'}},
14320 'type': 'object'}},
14324 @ReturnMapping(None)
14325 async def Abort(self
, model_tag
):
14330 # map input types to rpc msg
14332 msg
= dict(type='MigrationTarget', request
='Abort', version
=1, params
=params
)
14333 params
['model-tag'] = model_tag
14334 reply
= await self
.rpc(msg
)
14339 @ReturnMapping(None)
14340 async def Activate(self
, model_tag
):
14345 # map input types to rpc msg
14347 msg
= dict(type='MigrationTarget', request
='Activate', version
=1, params
=params
)
14348 params
['model-tag'] = model_tag
14349 reply
= await self
.rpc(msg
)
14354 @ReturnMapping(None)
14355 async def Import(self
, bytes_
, charms
, tools
):
14357 bytes_ : typing.Sequence<+T_co>[int]
14358 charms : typing.Sequence<+T_co>[str]
14359 tools : typing.Sequence<+T_co>[~SerializedModelTools]<~SerializedModelTools>
14362 # map input types to rpc msg
14364 msg
= dict(type='MigrationTarget', request
='Import', version
=1, params
=params
)
14365 params
['bytes'] = bytes_
14366 params
['charms'] = charms
14367 params
['tools'] = tools
14368 reply
= await self
.rpc(msg
)
14373 @ReturnMapping(None)
14374 async def Prechecks(self
, agent_version
, name
, owner_tag
, uuid
):
14376 agent_version : Number
14382 # map input types to rpc msg
14384 msg
= dict(type='MigrationTarget', request
='Prechecks', version
=1, params
=params
)
14385 params
['agent-version'] = agent_version
14386 params
['name'] = name
14387 params
['owner-tag'] = owner_tag
14388 params
['uuid'] = uuid
14389 reply
= await self
.rpc(msg
)
14393 class ModelConfigFacade(Type
):
14394 name
= 'ModelConfig'
14396 schema
= {'definitions': {'ConfigValue': {'additionalProperties': False,
14397 'properties': {'source': {'type': 'string'},
14398 'value': {'additionalProperties': True,
14399 'type': 'object'}},
14400 'required': ['value', 'source'],
14402 'Error': {'additionalProperties': False,
14403 'properties': {'code': {'type': 'string'},
14404 'info': {'$ref': '#/definitions/ErrorInfo'},
14405 'message': {'type': 'string'}},
14406 'required': ['message', 'code'],
14408 'ErrorInfo': {'additionalProperties': False,
14409 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
14410 'macaroon-path': {'type': 'string'}},
14412 'ErrorResult': {'additionalProperties': False,
14413 'properties': {'error': {'$ref': '#/definitions/Error'}},
14415 'ErrorResults': {'additionalProperties': False,
14416 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
14418 'required': ['results'],
14420 'Macaroon': {'additionalProperties': False, 'type': 'object'},
14421 'ModelConfigResults': {'additionalProperties': False,
14422 'properties': {'config': {'patternProperties': {'.*': {'$ref': '#/definitions/ConfigValue'}},
14423 'type': 'object'}},
14424 'required': ['config'],
14426 'ModelDefaultValues': {'additionalProperties': False,
14427 'properties': {'cloud-region': {'type': 'string'},
14428 'cloud-tag': {'type': 'string'},
14429 'config': {'patternProperties': {'.*': {'additionalProperties': True,
14430 'type': 'object'}},
14431 'type': 'object'}},
14432 'required': ['config'],
14434 'ModelDefaults': {'additionalProperties': False,
14435 'properties': {'controller': {'additionalProperties': True,
14437 'default': {'additionalProperties': True,
14439 'regions': {'items': {'$ref': '#/definitions/RegionDefaults'},
14442 'ModelDefaultsResult': {'additionalProperties': False,
14443 'properties': {'config': {'patternProperties': {'.*': {'$ref': '#/definitions/ModelDefaults'}},
14444 'type': 'object'}},
14445 'required': ['config'],
14447 'ModelSet': {'additionalProperties': False,
14448 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
14449 'type': 'object'}},
14450 'type': 'object'}},
14451 'required': ['config'],
14453 'ModelUnset': {'additionalProperties': False,
14454 'properties': {'keys': {'items': {'type': 'string'},
14456 'required': ['keys'],
14458 'ModelUnsetKeys': {'additionalProperties': False,
14459 'properties': {'cloud-region': {'type': 'string'},
14460 'cloud-tag': {'type': 'string'},
14461 'keys': {'items': {'type': 'string'},
14463 'required': ['keys'],
14465 'RegionDefaults': {'additionalProperties': False,
14466 'properties': {'region-name': {'type': 'string'},
14467 'value': {'additionalProperties': True,
14468 'type': 'object'}},
14469 'required': ['region-name', 'value'],
14471 'SetModelDefaults': {'additionalProperties': False,
14472 'properties': {'config': {'items': {'$ref': '#/definitions/ModelDefaultValues'},
14474 'required': ['config'],
14476 'UnsetModelDefaults': {'additionalProperties': False,
14477 'properties': {'keys': {'items': {'$ref': '#/definitions/ModelUnsetKeys'},
14479 'required': ['keys'],
14480 'type': 'object'}},
14481 'properties': {'ModelDefaults': {'properties': {'Result': {'$ref': '#/definitions/ModelDefaultsResult'}},
14483 'ModelGet': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResults'}},
14485 'ModelSet': {'properties': {'Params': {'$ref': '#/definitions/ModelSet'}},
14487 'ModelUnset': {'properties': {'Params': {'$ref': '#/definitions/ModelUnset'}},
14489 'SetModelDefaults': {'properties': {'Params': {'$ref': '#/definitions/SetModelDefaults'},
14490 'Result': {'$ref': '#/definitions/ErrorResults'}},
14492 'UnsetModelDefaults': {'properties': {'Params': {'$ref': '#/definitions/UnsetModelDefaults'},
14493 'Result': {'$ref': '#/definitions/ErrorResults'}},
14494 'type': 'object'}},
14498 @ReturnMapping(ModelDefaultsResult
)
14499 async def ModelDefaults(self
):
14502 Returns -> typing.Mapping<~KT, +VT_co>[str, ~ModelDefaults]<~ModelDefaults>
14504 # map input types to rpc msg
14506 msg
= dict(type='ModelConfig', request
='ModelDefaults', version
=1, params
=params
)
14508 reply
= await self
.rpc(msg
)
14513 @ReturnMapping(ModelConfigResults
)
14514 async def ModelGet(self
):
14517 Returns -> typing.Mapping<~KT, +VT_co>[str, ~ConfigValue]<~ConfigValue>
14519 # map input types to rpc msg
14521 msg
= dict(type='ModelConfig', request
='ModelGet', version
=1, params
=params
)
14523 reply
= await self
.rpc(msg
)
14528 @ReturnMapping(None)
14529 async def ModelSet(self
, config
):
14531 config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
14534 # map input types to rpc msg
14536 msg
= dict(type='ModelConfig', request
='ModelSet', version
=1, params
=params
)
14537 params
['config'] = config
14538 reply
= await self
.rpc(msg
)
14543 @ReturnMapping(None)
14544 async def ModelUnset(self
, keys
):
14546 keys : typing.Sequence<+T_co>[str]
14549 # map input types to rpc msg
14551 msg
= dict(type='ModelConfig', request
='ModelUnset', version
=1, params
=params
)
14552 params
['keys'] = keys
14553 reply
= await self
.rpc(msg
)
14558 @ReturnMapping(ErrorResults
)
14559 async def SetModelDefaults(self
, config
):
14561 config : typing.Sequence<+T_co>[~ModelDefaultValues]<~ModelDefaultValues>
14562 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
14564 # map input types to rpc msg
14566 msg
= dict(type='ModelConfig', request
='SetModelDefaults', version
=1, params
=params
)
14567 params
['config'] = config
14568 reply
= await self
.rpc(msg
)
14573 @ReturnMapping(ErrorResults
)
14574 async def UnsetModelDefaults(self
, keys
):
14576 keys : typing.Sequence<+T_co>[~ModelUnsetKeys]<~ModelUnsetKeys>
14577 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
14579 # map input types to rpc msg
14581 msg
= dict(type='ModelConfig', request
='UnsetModelDefaults', version
=1, params
=params
)
14582 params
['keys'] = keys
14583 reply
= await self
.rpc(msg
)
14587 class ModelManagerFacade(Type
):
14588 name
= 'ModelManager'
14590 schema
= {'definitions': {'Entities': {'additionalProperties': False,
14591 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
14593 'required': ['entities'],
14595 'Entity': {'additionalProperties': False,
14596 'properties': {'tag': {'type': 'string'}},
14597 'required': ['tag'],
14599 'EntityStatus': {'additionalProperties': False,
14600 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
14601 'type': 'object'}},
14603 'info': {'type': 'string'},
14604 'since': {'format': 'date-time',
14606 'status': {'type': 'string'}},
14607 'required': ['status', 'info', 'since'],
14609 'Error': {'additionalProperties': False,
14610 'properties': {'code': {'type': 'string'},
14611 'info': {'$ref': '#/definitions/ErrorInfo'},
14612 'message': {'type': 'string'}},
14613 'required': ['message', 'code'],
14615 'ErrorInfo': {'additionalProperties': False,
14616 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
14617 'macaroon-path': {'type': 'string'}},
14619 'ErrorResult': {'additionalProperties': False,
14620 'properties': {'error': {'$ref': '#/definitions/Error'}},
14622 'ErrorResults': {'additionalProperties': False,
14623 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
14625 'required': ['results'],
14627 'Macaroon': {'additionalProperties': False, 'type': 'object'},
14628 'MachineHardware': {'additionalProperties': False,
14629 'properties': {'arch': {'type': 'string'},
14630 'availability-zone': {'type': 'string'},
14631 'cores': {'type': 'integer'},
14632 'cpu-power': {'type': 'integer'},
14633 'mem': {'type': 'integer'},
14634 'root-disk': {'type': 'integer'},
14635 'tags': {'items': {'type': 'string'},
14638 'MapResult': {'additionalProperties': False,
14639 'properties': {'error': {'$ref': '#/definitions/Error'},
14640 'result': {'patternProperties': {'.*': {'additionalProperties': True,
14641 'type': 'object'}},
14642 'type': 'object'}},
14643 'required': ['result'],
14645 'MapResults': {'additionalProperties': False,
14646 'properties': {'results': {'items': {'$ref': '#/definitions/MapResult'},
14648 'required': ['results'],
14650 'Model': {'additionalProperties': False,
14651 'properties': {'name': {'type': 'string'},
14652 'owner-tag': {'type': 'string'},
14653 'uuid': {'type': 'string'}},
14654 'required': ['name', 'uuid', 'owner-tag'],
14656 'ModelCreateArgs': {'additionalProperties': False,
14657 'properties': {'cloud-tag': {'type': 'string'},
14658 'config': {'patternProperties': {'.*': {'additionalProperties': True,
14659 'type': 'object'}},
14661 'credential': {'type': 'string'},
14662 'name': {'type': 'string'},
14663 'owner-tag': {'type': 'string'},
14664 'region': {'type': 'string'}},
14665 'required': ['name', 'owner-tag'],
14667 'ModelInfo': {'additionalProperties': False,
14668 'properties': {'cloud': {'type': 'string'},
14669 'cloud-credential-tag': {'type': 'string'},
14670 'cloud-region': {'type': 'string'},
14671 'controller-uuid': {'type': 'string'},
14672 'default-series': {'type': 'string'},
14673 'life': {'type': 'string'},
14674 'machines': {'items': {'$ref': '#/definitions/ModelMachineInfo'},
14676 'name': {'type': 'string'},
14677 'owner-tag': {'type': 'string'},
14678 'provider-type': {'type': 'string'},
14679 'status': {'$ref': '#/definitions/EntityStatus'},
14680 'users': {'items': {'$ref': '#/definitions/ModelUserInfo'},
14682 'uuid': {'type': 'string'}},
14683 'required': ['name',
14695 'ModelInfoResult': {'additionalProperties': False,
14696 'properties': {'error': {'$ref': '#/definitions/Error'},
14697 'result': {'$ref': '#/definitions/ModelInfo'}},
14699 'ModelInfoResults': {'additionalProperties': False,
14700 'properties': {'results': {'items': {'$ref': '#/definitions/ModelInfoResult'},
14702 'required': ['results'],
14704 'ModelMachineInfo': {'additionalProperties': False,
14705 'properties': {'hardware': {'$ref': '#/definitions/MachineHardware'},
14706 'id': {'type': 'string'}},
14707 'required': ['id'],
14709 'ModelUserInfo': {'additionalProperties': False,
14710 'properties': {'access': {'type': 'string'},
14711 'display-name': {'type': 'string'},
14712 'last-connection': {'format': 'date-time',
14714 'user': {'type': 'string'}},
14715 'required': ['user',
14720 'ModifyModelAccess': {'additionalProperties': False,
14721 'properties': {'access': {'type': 'string'},
14722 'action': {'type': 'string'},
14723 'model-tag': {'type': 'string'},
14724 'user-tag': {'type': 'string'}},
14725 'required': ['user-tag',
14730 'ModifyModelAccessRequest': {'additionalProperties': False,
14731 'properties': {'changes': {'items': {'$ref': '#/definitions/ModifyModelAccess'},
14733 'required': ['changes'],
14735 'UserModel': {'additionalProperties': False,
14736 'properties': {'last-connection': {'format': 'date-time',
14738 'model': {'$ref': '#/definitions/Model'}},
14739 'required': ['model', 'last-connection'],
14741 'UserModelList': {'additionalProperties': False,
14742 'properties': {'user-models': {'items': {'$ref': '#/definitions/UserModel'},
14744 'required': ['user-models'],
14745 'type': 'object'}},
14746 'properties': {'CreateModel': {'properties': {'Params': {'$ref': '#/definitions/ModelCreateArgs'},
14747 'Result': {'$ref': '#/definitions/ModelInfo'}},
14749 'DestroyModel': {'type': 'object'},
14750 'DestroyModels': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14751 'Result': {'$ref': '#/definitions/ErrorResults'}},
14753 'DumpModels': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14754 'Result': {'$ref': '#/definitions/MapResults'}},
14756 'DumpModelsDB': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14757 'Result': {'$ref': '#/definitions/MapResults'}},
14759 'ListModels': {'properties': {'Params': {'$ref': '#/definitions/Entity'},
14760 'Result': {'$ref': '#/definitions/UserModelList'}},
14762 'ModelInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14763 'Result': {'$ref': '#/definitions/ModelInfoResults'}},
14765 'ModifyModelAccess': {'properties': {'Params': {'$ref': '#/definitions/ModifyModelAccessRequest'},
14766 'Result': {'$ref': '#/definitions/ErrorResults'}},
14767 'type': 'object'}},
14771 @ReturnMapping(ModelInfo
)
14772 async def CreateModel(self
, cloud_tag
, config
, credential
, name
, owner_tag
, region
):
14775 config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
14780 Returns -> typing.Union[_ForwardRef('EntityStatus'), typing.Sequence<+T_co>[~ModelUserInfo]<~ModelUserInfo>]
14782 # map input types to rpc msg
14784 msg
= dict(type='ModelManager', request
='CreateModel', version
=2, params
=params
)
14785 params
['cloud-tag'] = cloud_tag
14786 params
['config'] = config
14787 params
['credential'] = credential
14788 params
['name'] = name
14789 params
['owner-tag'] = owner_tag
14790 params
['region'] = region
14791 reply
= await self
.rpc(msg
)
14796 @ReturnMapping(None)
14797 async def DestroyModel(self
):
14802 # map input types to rpc msg
14804 msg
= dict(type='ModelManager', request
='DestroyModel', version
=2, params
=params
)
14806 reply
= await self
.rpc(msg
)
14811 @ReturnMapping(ErrorResults
)
14812 async def DestroyModels(self
, entities
):
14814 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
14815 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
14817 # map input types to rpc msg
14819 msg
= dict(type='ModelManager', request
='DestroyModels', version
=2, params
=params
)
14820 params
['entities'] = entities
14821 reply
= await self
.rpc(msg
)
14826 @ReturnMapping(MapResults
)
14827 async def DumpModels(self
, entities
):
14829 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
14830 Returns -> typing.Sequence<+T_co>[~MapResult]<~MapResult>
14832 # map input types to rpc msg
14834 msg
= dict(type='ModelManager', request
='DumpModels', version
=2, params
=params
)
14835 params
['entities'] = entities
14836 reply
= await self
.rpc(msg
)
14841 @ReturnMapping(MapResults
)
14842 async def DumpModelsDB(self
, entities
):
14844 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
14845 Returns -> typing.Sequence<+T_co>[~MapResult]<~MapResult>
14847 # map input types to rpc msg
14849 msg
= dict(type='ModelManager', request
='DumpModelsDB', version
=2, params
=params
)
14850 params
['entities'] = entities
14851 reply
= await self
.rpc(msg
)
14856 @ReturnMapping(UserModelList
)
14857 async def ListModels(self
, tag
):
14860 Returns -> typing.Sequence<+T_co>[~UserModel]<~UserModel>
14862 # map input types to rpc msg
14864 msg
= dict(type='ModelManager', request
='ListModels', version
=2, params
=params
)
14865 params
['tag'] = tag
14866 reply
= await self
.rpc(msg
)
14871 @ReturnMapping(ModelInfoResults
)
14872 async def ModelInfo(self
, entities
):
14874 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
14875 Returns -> typing.Sequence<+T_co>[~ModelInfoResult]<~ModelInfoResult>
14877 # map input types to rpc msg
14879 msg
= dict(type='ModelManager', request
='ModelInfo', version
=2, params
=params
)
14880 params
['entities'] = entities
14881 reply
= await self
.rpc(msg
)
14886 @ReturnMapping(ErrorResults
)
14887 async def ModifyModelAccess(self
, changes
):
14889 changes : typing.Sequence<+T_co>[~ModifyModelAccess]<~ModifyModelAccess>
14890 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
14892 # map input types to rpc msg
14894 msg
= dict(type='ModelManager', request
='ModifyModelAccess', version
=2, params
=params
)
14895 params
['changes'] = changes
14896 reply
= await self
.rpc(msg
)
14900 class NotifyWatcherFacade(Type
):
14901 name
= 'NotifyWatcher'
14903 schema
= {'properties': {'Next': {'type': 'object'}, 'Stop': {'type': 'object'}},
14907 @ReturnMapping(None)
14908 async def Next(self
):
14913 # map input types to rpc msg
14915 msg
= dict(type='NotifyWatcher', request
='Next', version
=1, params
=params
)
14917 reply
= await self
.rpc(msg
)
14922 @ReturnMapping(None)
14923 async def Stop(self
):
14928 # map input types to rpc msg
14930 msg
= dict(type='NotifyWatcher', request
='Stop', version
=1, params
=params
)
14932 reply
= await self
.rpc(msg
)
14936 class PingerFacade(Type
):
14939 schema
= {'properties': {'Ping': {'type': 'object'}, 'Stop': {'type': 'object'}},
14943 @ReturnMapping(None)
14944 async def Ping(self
):
14949 # map input types to rpc msg
14951 msg
= dict(type='Pinger', request
='Ping', version
=1, params
=params
)
14953 reply
= await self
.rpc(msg
)
14958 @ReturnMapping(None)
14959 async def Stop(self
):
14964 # map input types to rpc msg
14966 msg
= dict(type='Pinger', request
='Stop', version
=1, params
=params
)
14968 reply
= await self
.rpc(msg
)
14972 class ProvisionerFacade(Type
):
14973 name
= 'Provisioner'
14975 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
14976 'properties': {'servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
14979 'required': ['servers'],
14981 'Address': {'additionalProperties': False,
14982 'properties': {'scope': {'type': 'string'},
14983 'space-name': {'type': 'string'},
14984 'type': {'type': 'string'},
14985 'value': {'type': 'string'}},
14986 'required': ['value', 'type', 'scope'],
14988 'Binary': {'additionalProperties': False,
14989 'properties': {'Arch': {'type': 'string'},
14990 'Number': {'$ref': '#/definitions/Number'},
14991 'Series': {'type': 'string'}},
14992 'required': ['Number', 'Series', 'Arch'],
14994 'BytesResult': {'additionalProperties': False,
14995 'properties': {'result': {'items': {'type': 'integer'},
14997 'required': ['result'],
14999 'CloudImageMetadata': {'additionalProperties': False,
15000 'properties': {'arch': {'type': 'string'},
15001 'image-id': {'type': 'string'},
15002 'priority': {'type': 'integer'},
15003 'region': {'type': 'string'},
15004 'root-storage-size': {'type': 'integer'},
15005 'root-storage-type': {'type': 'string'},
15006 'series': {'type': 'string'},
15007 'source': {'type': 'string'},
15008 'stream': {'type': 'string'},
15009 'version': {'type': 'string'},
15010 'virt-type': {'type': 'string'}},
15011 'required': ['image-id',
15019 'ConstraintsResult': {'additionalProperties': False,
15020 'properties': {'constraints': {'$ref': '#/definitions/Value'},
15021 'error': {'$ref': '#/definitions/Error'}},
15022 'required': ['constraints'],
15024 'ConstraintsResults': {'additionalProperties': False,
15025 'properties': {'results': {'items': {'$ref': '#/definitions/ConstraintsResult'},
15027 'required': ['results'],
15029 'ContainerConfig': {'additionalProperties': False,
15030 'properties': {'UpdateBehavior': {'$ref': '#/definitions/UpdateBehavior'},
15031 'apt-mirror': {'type': 'string'},
15032 'apt-proxy': {'$ref': '#/definitions/Settings'},
15033 'authorized-keys': {'type': 'string'},
15034 'provider-type': {'type': 'string'},
15035 'proxy': {'$ref': '#/definitions/Settings'},
15036 'ssl-hostname-verification': {'type': 'boolean'}},
15037 'required': ['provider-type',
15039 'ssl-hostname-verification',
15045 'ContainerManagerConfig': {'additionalProperties': False,
15046 'properties': {'config': {'patternProperties': {'.*': {'type': 'string'}},
15047 'type': 'object'}},
15048 'required': ['config'],
15050 'ContainerManagerConfigParams': {'additionalProperties': False,
15051 'properties': {'type': {'type': 'string'}},
15052 'required': ['type'],
15054 'ControllerConfigResult': {'additionalProperties': False,
15055 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
15056 'type': 'object'}},
15057 'type': 'object'}},
15058 'required': ['config'],
15060 'DistributionGroupResult': {'additionalProperties': False,
15061 'properties': {'error': {'$ref': '#/definitions/Error'},
15062 'result': {'items': {'type': 'string'},
15064 'required': ['result'],
15066 'DistributionGroupResults': {'additionalProperties': False,
15067 'properties': {'results': {'items': {'$ref': '#/definitions/DistributionGroupResult'},
15069 'required': ['results'],
15071 'Entities': {'additionalProperties': False,
15072 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
15074 'required': ['entities'],
15076 'Entity': {'additionalProperties': False,
15077 'properties': {'tag': {'type': 'string'}},
15078 'required': ['tag'],
15080 'EntityPassword': {'additionalProperties': False,
15081 'properties': {'password': {'type': 'string'},
15082 'tag': {'type': 'string'}},
15083 'required': ['tag', 'password'],
15085 'EntityPasswords': {'additionalProperties': False,
15086 'properties': {'changes': {'items': {'$ref': '#/definitions/EntityPassword'},
15088 'required': ['changes'],
15090 'EntityStatusArgs': {'additionalProperties': False,
15091 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
15092 'type': 'object'}},
15094 'info': {'type': 'string'},
15095 'status': {'type': 'string'},
15096 'tag': {'type': 'string'}},
15097 'required': ['tag',
15102 'Error': {'additionalProperties': False,
15103 'properties': {'code': {'type': 'string'},
15104 'info': {'$ref': '#/definitions/ErrorInfo'},
15105 'message': {'type': 'string'}},
15106 'required': ['message', 'code'],
15108 'ErrorInfo': {'additionalProperties': False,
15109 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
15110 'macaroon-path': {'type': 'string'}},
15112 'ErrorResult': {'additionalProperties': False,
15113 'properties': {'error': {'$ref': '#/definitions/Error'}},
15115 'ErrorResults': {'additionalProperties': False,
15116 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
15118 'required': ['results'],
15120 'FindToolsParams': {'additionalProperties': False,
15121 'properties': {'arch': {'type': 'string'},
15122 'major': {'type': 'integer'},
15123 'minor': {'type': 'integer'},
15124 'number': {'$ref': '#/definitions/Number'},
15125 'series': {'type': 'string'}},
15126 'required': ['number',
15132 'FindToolsResult': {'additionalProperties': False,
15133 'properties': {'error': {'$ref': '#/definitions/Error'},
15134 'list': {'items': {'$ref': '#/definitions/Tools'},
15136 'required': ['list'],
15138 'HardwareCharacteristics': {'additionalProperties': False,
15139 'properties': {'arch': {'type': 'string'},
15140 'availability-zone': {'type': 'string'},
15141 'cpu-cores': {'type': 'integer'},
15142 'cpu-power': {'type': 'integer'},
15143 'mem': {'type': 'integer'},
15144 'root-disk': {'type': 'integer'},
15145 'tags': {'items': {'type': 'string'},
15148 'HostPort': {'additionalProperties': False,
15149 'properties': {'Address': {'$ref': '#/definitions/Address'},
15150 'port': {'type': 'integer'}},
15151 'required': ['Address', 'port'],
15153 'InstanceInfo': {'additionalProperties': False,
15154 'properties': {'characteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
15155 'instance-id': {'type': 'string'},
15156 'network-config': {'items': {'$ref': '#/definitions/NetworkConfig'},
15158 'nonce': {'type': 'string'},
15159 'tag': {'type': 'string'},
15160 'volume-attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentInfo'}},
15162 'volumes': {'items': {'$ref': '#/definitions/Volume'},
15164 'required': ['tag',
15169 'volume-attachments',
15172 'InstancesInfo': {'additionalProperties': False,
15173 'properties': {'machines': {'items': {'$ref': '#/definitions/InstanceInfo'},
15175 'required': ['machines'],
15177 'LifeResult': {'additionalProperties': False,
15178 'properties': {'error': {'$ref': '#/definitions/Error'},
15179 'life': {'type': 'string'}},
15180 'required': ['life'],
15182 'LifeResults': {'additionalProperties': False,
15183 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
15185 'required': ['results'],
15187 'Macaroon': {'additionalProperties': False, 'type': 'object'},
15188 'MachineContainers': {'additionalProperties': False,
15189 'properties': {'container-types': {'items': {'type': 'string'},
15191 'machine-tag': {'type': 'string'}},
15192 'required': ['machine-tag',
15193 'container-types'],
15195 'MachineContainersParams': {'additionalProperties': False,
15196 'properties': {'params': {'items': {'$ref': '#/definitions/MachineContainers'},
15198 'required': ['params'],
15200 'MachineNetworkConfigResult': {'additionalProperties': False,
15201 'properties': {'error': {'$ref': '#/definitions/Error'},
15202 'info': {'items': {'$ref': '#/definitions/NetworkConfig'},
15204 'required': ['info'],
15206 'MachineNetworkConfigResults': {'additionalProperties': False,
15207 'properties': {'results': {'items': {'$ref': '#/definitions/MachineNetworkConfigResult'},
15209 'required': ['results'],
15211 'ModelConfigResult': {'additionalProperties': False,
15212 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
15213 'type': 'object'}},
15214 'type': 'object'}},
15215 'required': ['config'],
15217 'NetworkConfig': {'additionalProperties': False,
15218 'properties': {'address': {'type': 'string'},
15219 'cidr': {'type': 'string'},
15220 'config-type': {'type': 'string'},
15221 'device-index': {'type': 'integer'},
15222 'disabled': {'type': 'boolean'},
15223 'dns-search-domains': {'items': {'type': 'string'},
15225 'dns-servers': {'items': {'type': 'string'},
15227 'gateway-address': {'type': 'string'},
15228 'interface-name': {'type': 'string'},
15229 'interface-type': {'type': 'string'},
15230 'mac-address': {'type': 'string'},
15231 'mtu': {'type': 'integer'},
15232 'no-auto-start': {'type': 'boolean'},
15233 'parent-interface-name': {'type': 'string'},
15234 'provider-address-id': {'type': 'string'},
15235 'provider-id': {'type': 'string'},
15236 'provider-space-id': {'type': 'string'},
15237 'provider-subnet-id': {'type': 'string'},
15238 'provider-vlan-id': {'type': 'string'},
15239 'vlan-tag': {'type': 'integer'}},
15240 'required': ['device-index',
15245 'provider-subnet-id',
15246 'provider-space-id',
15247 'provider-address-id',
15248 'provider-vlan-id',
15251 'parent-interface-name',
15255 'NotifyWatchResult': {'additionalProperties': False,
15256 'properties': {'NotifyWatcherId': {'type': 'string'},
15257 'error': {'$ref': '#/definitions/Error'}},
15258 'required': ['NotifyWatcherId'],
15260 'Number': {'additionalProperties': False,
15261 'properties': {'Build': {'type': 'integer'},
15262 'Major': {'type': 'integer'},
15263 'Minor': {'type': 'integer'},
15264 'Patch': {'type': 'integer'},
15265 'Tag': {'type': 'string'}},
15266 'required': ['Major',
15272 'ProvisioningInfo': {'additionalProperties': False,
15273 'properties': {'constraints': {'$ref': '#/definitions/Value'},
15274 'controller-config': {'patternProperties': {'.*': {'additionalProperties': True,
15275 'type': 'object'}},
15277 'endpoint-bindings': {'patternProperties': {'.*': {'type': 'string'}},
15279 'image-metadata': {'items': {'$ref': '#/definitions/CloudImageMetadata'},
15281 'jobs': {'items': {'type': 'string'},
15283 'placement': {'type': 'string'},
15284 'series': {'type': 'string'},
15285 'subnets-to-zones': {'patternProperties': {'.*': {'items': {'type': 'string'},
15288 'tags': {'patternProperties': {'.*': {'type': 'string'}},
15290 'volumes': {'items': {'$ref': '#/definitions/VolumeParams'},
15292 'required': ['constraints',
15297 'ProvisioningInfoResult': {'additionalProperties': False,
15298 'properties': {'error': {'$ref': '#/definitions/Error'},
15299 'result': {'$ref': '#/definitions/ProvisioningInfo'}},
15300 'required': ['result'],
15302 'ProvisioningInfoResults': {'additionalProperties': False,
15303 'properties': {'results': {'items': {'$ref': '#/definitions/ProvisioningInfoResult'},
15305 'required': ['results'],
15307 'SetStatus': {'additionalProperties': False,
15308 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
15310 'required': ['entities'],
15312 'Settings': {'additionalProperties': False,
15313 'properties': {'Ftp': {'type': 'string'},
15314 'Http': {'type': 'string'},
15315 'Https': {'type': 'string'},
15316 'NoProxy': {'type': 'string'}},
15317 'required': ['Http', 'Https', 'Ftp', 'NoProxy'],
15319 'StatusResult': {'additionalProperties': False,
15320 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
15321 'type': 'object'}},
15323 'error': {'$ref': '#/definitions/Error'},
15324 'id': {'type': 'string'},
15325 'info': {'type': 'string'},
15326 'life': {'type': 'string'},
15327 'since': {'format': 'date-time',
15329 'status': {'type': 'string'}},
15337 'StatusResults': {'additionalProperties': False,
15338 'properties': {'results': {'items': {'$ref': '#/definitions/StatusResult'},
15340 'required': ['results'],
15342 'StringResult': {'additionalProperties': False,
15343 'properties': {'error': {'$ref': '#/definitions/Error'},
15344 'result': {'type': 'string'}},
15345 'required': ['result'],
15347 'StringResults': {'additionalProperties': False,
15348 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
15350 'required': ['results'],
15352 'StringsResult': {'additionalProperties': False,
15353 'properties': {'error': {'$ref': '#/definitions/Error'},
15354 'result': {'items': {'type': 'string'},
15357 'StringsWatchResult': {'additionalProperties': False,
15358 'properties': {'changes': {'items': {'type': 'string'},
15360 'error': {'$ref': '#/definitions/Error'},
15361 'watcher-id': {'type': 'string'}},
15362 'required': ['watcher-id'],
15364 'StringsWatchResults': {'additionalProperties': False,
15365 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
15367 'required': ['results'],
15369 'Tools': {'additionalProperties': False,
15370 'properties': {'sha256': {'type': 'string'},
15371 'size': {'type': 'integer'},
15372 'url': {'type': 'string'},
15373 'version': {'$ref': '#/definitions/Binary'}},
15374 'required': ['version', 'url', 'size'],
15376 'ToolsResult': {'additionalProperties': False,
15377 'properties': {'disable-ssl-hostname-verification': {'type': 'boolean'},
15378 'error': {'$ref': '#/definitions/Error'},
15379 'tools': {'items': {'$ref': '#/definitions/Tools'},
15381 'required': ['tools',
15382 'disable-ssl-hostname-verification'],
15384 'ToolsResults': {'additionalProperties': False,
15385 'properties': {'results': {'items': {'$ref': '#/definitions/ToolsResult'},
15387 'required': ['results'],
15389 'UpdateBehavior': {'additionalProperties': False,
15390 'properties': {'enable-os-refresh-update': {'type': 'boolean'},
15391 'enable-os-upgrade': {'type': 'boolean'}},
15392 'required': ['enable-os-refresh-update',
15393 'enable-os-upgrade'],
15395 'Value': {'additionalProperties': False,
15396 'properties': {'arch': {'type': 'string'},
15397 'container': {'type': 'string'},
15398 'cpu-cores': {'type': 'integer'},
15399 'cpu-power': {'type': 'integer'},
15400 'instance-type': {'type': 'string'},
15401 'mem': {'type': 'integer'},
15402 'root-disk': {'type': 'integer'},
15403 'spaces': {'items': {'type': 'string'},
15405 'tags': {'items': {'type': 'string'},
15407 'virt-type': {'type': 'string'}},
15409 'Volume': {'additionalProperties': False,
15410 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
15411 'volume-tag': {'type': 'string'}},
15412 'required': ['volume-tag', 'info'],
15414 'VolumeAttachmentInfo': {'additionalProperties': False,
15415 'properties': {'bus-address': {'type': 'string'},
15416 'device-link': {'type': 'string'},
15417 'device-name': {'type': 'string'},
15418 'read-only': {'type': 'boolean'}},
15420 'VolumeAttachmentParams': {'additionalProperties': False,
15421 'properties': {'instance-id': {'type': 'string'},
15422 'machine-tag': {'type': 'string'},
15423 'provider': {'type': 'string'},
15424 'read-only': {'type': 'boolean'},
15425 'volume-id': {'type': 'string'},
15426 'volume-tag': {'type': 'string'}},
15427 'required': ['volume-tag',
15431 'VolumeInfo': {'additionalProperties': False,
15432 'properties': {'hardware-id': {'type': 'string'},
15433 'persistent': {'type': 'boolean'},
15434 'size': {'type': 'integer'},
15435 'volume-id': {'type': 'string'}},
15436 'required': ['volume-id', 'size', 'persistent'],
15438 'VolumeParams': {'additionalProperties': False,
15439 'properties': {'attachment': {'$ref': '#/definitions/VolumeAttachmentParams'},
15440 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
15441 'type': 'object'}},
15443 'provider': {'type': 'string'},
15444 'size': {'type': 'integer'},
15445 'tags': {'patternProperties': {'.*': {'type': 'string'}},
15447 'volume-tag': {'type': 'string'}},
15448 'required': ['volume-tag',
15452 'WatchContainer': {'additionalProperties': False,
15453 'properties': {'container-type': {'type': 'string'},
15454 'machine-tag': {'type': 'string'}},
15455 'required': ['machine-tag',
15458 'WatchContainers': {'additionalProperties': False,
15459 'properties': {'params': {'items': {'$ref': '#/definitions/WatchContainer'},
15461 'required': ['params'],
15462 'type': 'object'}},
15463 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
15465 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
15467 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
15469 'Constraints': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15470 'Result': {'$ref': '#/definitions/ConstraintsResults'}},
15472 'ContainerConfig': {'properties': {'Result': {'$ref': '#/definitions/ContainerConfig'}},
15474 'ContainerManagerConfig': {'properties': {'Params': {'$ref': '#/definitions/ContainerManagerConfigParams'},
15475 'Result': {'$ref': '#/definitions/ContainerManagerConfig'}},
15477 'ControllerConfig': {'properties': {'Result': {'$ref': '#/definitions/ControllerConfigResult'}},
15479 'DistributionGroup': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15480 'Result': {'$ref': '#/definitions/DistributionGroupResults'}},
15482 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15483 'Result': {'$ref': '#/definitions/ErrorResults'}},
15485 'FindTools': {'properties': {'Params': {'$ref': '#/definitions/FindToolsParams'},
15486 'Result': {'$ref': '#/definitions/FindToolsResult'}},
15488 'GetContainerInterfaceInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15489 'Result': {'$ref': '#/definitions/MachineNetworkConfigResults'}},
15491 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15492 'Result': {'$ref': '#/definitions/StringResults'}},
15494 'InstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15495 'Result': {'$ref': '#/definitions/StatusResults'}},
15497 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15498 'Result': {'$ref': '#/definitions/LifeResults'}},
15500 'MachinesWithTransientErrors': {'properties': {'Result': {'$ref': '#/definitions/StatusResults'}},
15502 'MarkMachinesForRemoval': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15503 'Result': {'$ref': '#/definitions/ErrorResults'}},
15505 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
15507 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
15509 'PrepareContainerInterfaceInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15510 'Result': {'$ref': '#/definitions/MachineNetworkConfigResults'}},
15512 'ProvisioningInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15513 'Result': {'$ref': '#/definitions/ProvisioningInfoResults'}},
15515 'ReleaseContainerAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15516 'Result': {'$ref': '#/definitions/ErrorResults'}},
15518 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15519 'Result': {'$ref': '#/definitions/ErrorResults'}},
15521 'Series': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15522 'Result': {'$ref': '#/definitions/StringResults'}},
15524 'SetInstanceInfo': {'properties': {'Params': {'$ref': '#/definitions/InstancesInfo'},
15525 'Result': {'$ref': '#/definitions/ErrorResults'}},
15527 'SetInstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
15528 'Result': {'$ref': '#/definitions/ErrorResults'}},
15530 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
15531 'Result': {'$ref': '#/definitions/ErrorResults'}},
15533 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
15534 'Result': {'$ref': '#/definitions/ErrorResults'}},
15536 'SetSupportedContainers': {'properties': {'Params': {'$ref': '#/definitions/MachineContainersParams'},
15537 'Result': {'$ref': '#/definitions/ErrorResults'}},
15539 'StateAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
15541 'Status': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15542 'Result': {'$ref': '#/definitions/StatusResults'}},
15544 'Tools': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15545 'Result': {'$ref': '#/definitions/ToolsResults'}},
15547 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
15548 'Result': {'$ref': '#/definitions/ErrorResults'}},
15550 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
15552 'WatchAllContainers': {'properties': {'Params': {'$ref': '#/definitions/WatchContainers'},
15553 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
15555 'WatchContainers': {'properties': {'Params': {'$ref': '#/definitions/WatchContainers'},
15556 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
15558 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
15560 'WatchMachineErrorRetry': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
15562 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
15563 'type': 'object'}},
15567 @ReturnMapping(StringsResult
)
15568 async def APIAddresses(self
):
15571 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[str]]
15573 # map input types to rpc msg
15575 msg
= dict(type='Provisioner', request
='APIAddresses', version
=3, params
=params
)
15577 reply
= await self
.rpc(msg
)
15582 @ReturnMapping(APIHostPortsResult
)
15583 async def APIHostPorts(self
):
15586 Returns -> typing.Sequence<+T_co>[~HostPort]<~HostPort>
15588 # map input types to rpc msg
15590 msg
= dict(type='Provisioner', request
='APIHostPorts', version
=3, params
=params
)
15592 reply
= await self
.rpc(msg
)
15597 @ReturnMapping(BytesResult
)
15598 async def CACert(self
):
15601 Returns -> typing.Sequence<+T_co>[int]
15603 # map input types to rpc msg
15605 msg
= dict(type='Provisioner', request
='CACert', version
=3, params
=params
)
15607 reply
= await self
.rpc(msg
)
15612 @ReturnMapping(ConstraintsResults
)
15613 async def Constraints(self
, entities
):
15615 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15616 Returns -> typing.Sequence<+T_co>[~ConstraintsResult]<~ConstraintsResult>
15618 # map input types to rpc msg
15620 msg
= dict(type='Provisioner', request
='Constraints', version
=3, params
=params
)
15621 params
['entities'] = entities
15622 reply
= await self
.rpc(msg
)
15627 @ReturnMapping(ContainerConfig
)
15628 async def ContainerConfig(self
):
15631 Returns -> typing.Union[_ForwardRef('UpdateBehavior'), str, _ForwardRef('Settings'), _ForwardRef('Settings'), bool]
15633 # map input types to rpc msg
15635 msg
= dict(type='Provisioner', request
='ContainerConfig', version
=3, params
=params
)
15637 reply
= await self
.rpc(msg
)
15642 @ReturnMapping(ContainerManagerConfig
)
15643 async def ContainerManagerConfig(self
, type_
):
15646 Returns -> typing.Mapping<~KT, +VT_co>[str, str]
15648 # map input types to rpc msg
15650 msg
= dict(type='Provisioner', request
='ContainerManagerConfig', version
=3, params
=params
)
15651 params
['type'] = type_
15652 reply
= await self
.rpc(msg
)
15657 @ReturnMapping(ControllerConfigResult
)
15658 async def ControllerConfig(self
):
15661 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
15663 # map input types to rpc msg
15665 msg
= dict(type='Provisioner', request
='ControllerConfig', version
=3, params
=params
)
15667 reply
= await self
.rpc(msg
)
15672 @ReturnMapping(DistributionGroupResults
)
15673 async def DistributionGroup(self
, entities
):
15675 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15676 Returns -> typing.Sequence<+T_co>[~DistributionGroupResult]<~DistributionGroupResult>
15678 # map input types to rpc msg
15680 msg
= dict(type='Provisioner', request
='DistributionGroup', version
=3, params
=params
)
15681 params
['entities'] = entities
15682 reply
= await self
.rpc(msg
)
15687 @ReturnMapping(ErrorResults
)
15688 async def EnsureDead(self
, entities
):
15690 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15691 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15693 # map input types to rpc msg
15695 msg
= dict(type='Provisioner', request
='EnsureDead', version
=3, params
=params
)
15696 params
['entities'] = entities
15697 reply
= await self
.rpc(msg
)
15702 @ReturnMapping(FindToolsResult
)
15703 async def FindTools(self
, arch
, major
, minor
, number
, series
):
15710 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[~Tools]<~Tools>]
15712 # map input types to rpc msg
15714 msg
= dict(type='Provisioner', request
='FindTools', version
=3, params
=params
)
15715 params
['arch'] = arch
15716 params
['major'] = major
15717 params
['minor'] = minor
15718 params
['number'] = number
15719 params
['series'] = series
15720 reply
= await self
.rpc(msg
)
15725 @ReturnMapping(MachineNetworkConfigResults
)
15726 async def GetContainerInterfaceInfo(self
, entities
):
15728 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15729 Returns -> typing.Sequence<+T_co>[~MachineNetworkConfigResult]<~MachineNetworkConfigResult>
15731 # map input types to rpc msg
15733 msg
= dict(type='Provisioner', request
='GetContainerInterfaceInfo', version
=3, params
=params
)
15734 params
['entities'] = entities
15735 reply
= await self
.rpc(msg
)
15740 @ReturnMapping(StringResults
)
15741 async def InstanceId(self
, entities
):
15743 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15744 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
15746 # map input types to rpc msg
15748 msg
= dict(type='Provisioner', request
='InstanceId', version
=3, params
=params
)
15749 params
['entities'] = entities
15750 reply
= await self
.rpc(msg
)
15755 @ReturnMapping(StatusResults
)
15756 async def InstanceStatus(self
, entities
):
15758 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15759 Returns -> typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
15761 # map input types to rpc msg
15763 msg
= dict(type='Provisioner', request
='InstanceStatus', version
=3, params
=params
)
15764 params
['entities'] = entities
15765 reply
= await self
.rpc(msg
)
15770 @ReturnMapping(LifeResults
)
15771 async def Life(self
, entities
):
15773 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15774 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
15776 # map input types to rpc msg
15778 msg
= dict(type='Provisioner', request
='Life', version
=3, params
=params
)
15779 params
['entities'] = entities
15780 reply
= await self
.rpc(msg
)
15785 @ReturnMapping(StatusResults
)
15786 async def MachinesWithTransientErrors(self
):
15789 Returns -> typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
15791 # map input types to rpc msg
15793 msg
= dict(type='Provisioner', request
='MachinesWithTransientErrors', version
=3, params
=params
)
15795 reply
= await self
.rpc(msg
)
15800 @ReturnMapping(ErrorResults
)
15801 async def MarkMachinesForRemoval(self
, entities
):
15803 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15804 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15806 # map input types to rpc msg
15808 msg
= dict(type='Provisioner', request
='MarkMachinesForRemoval', version
=3, params
=params
)
15809 params
['entities'] = entities
15810 reply
= await self
.rpc(msg
)
15815 @ReturnMapping(ModelConfigResult
)
15816 async def ModelConfig(self
):
15819 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
15821 # map input types to rpc msg
15823 msg
= dict(type='Provisioner', request
='ModelConfig', version
=3, params
=params
)
15825 reply
= await self
.rpc(msg
)
15830 @ReturnMapping(StringResult
)
15831 async def ModelUUID(self
):
15834 Returns -> typing.Union[_ForwardRef('Error'), str]
15836 # map input types to rpc msg
15838 msg
= dict(type='Provisioner', request
='ModelUUID', version
=3, params
=params
)
15840 reply
= await self
.rpc(msg
)
15845 @ReturnMapping(MachineNetworkConfigResults
)
15846 async def PrepareContainerInterfaceInfo(self
, entities
):
15848 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15849 Returns -> typing.Sequence<+T_co>[~MachineNetworkConfigResult]<~MachineNetworkConfigResult>
15851 # map input types to rpc msg
15853 msg
= dict(type='Provisioner', request
='PrepareContainerInterfaceInfo', version
=3, params
=params
)
15854 params
['entities'] = entities
15855 reply
= await self
.rpc(msg
)
15860 @ReturnMapping(ProvisioningInfoResults
)
15861 async def ProvisioningInfo(self
, entities
):
15863 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15864 Returns -> typing.Sequence<+T_co>[~ProvisioningInfoResult]<~ProvisioningInfoResult>
15866 # map input types to rpc msg
15868 msg
= dict(type='Provisioner', request
='ProvisioningInfo', version
=3, params
=params
)
15869 params
['entities'] = entities
15870 reply
= await self
.rpc(msg
)
15875 @ReturnMapping(ErrorResults
)
15876 async def ReleaseContainerAddresses(self
, entities
):
15878 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15879 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15881 # map input types to rpc msg
15883 msg
= dict(type='Provisioner', request
='ReleaseContainerAddresses', version
=3, params
=params
)
15884 params
['entities'] = entities
15885 reply
= await self
.rpc(msg
)
15890 @ReturnMapping(ErrorResults
)
15891 async def Remove(self
, entities
):
15893 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15894 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15896 # map input types to rpc msg
15898 msg
= dict(type='Provisioner', request
='Remove', version
=3, params
=params
)
15899 params
['entities'] = entities
15900 reply
= await self
.rpc(msg
)
15905 @ReturnMapping(StringResults
)
15906 async def Series(self
, entities
):
15908 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15909 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
15911 # map input types to rpc msg
15913 msg
= dict(type='Provisioner', request
='Series', version
=3, params
=params
)
15914 params
['entities'] = entities
15915 reply
= await self
.rpc(msg
)
15920 @ReturnMapping(ErrorResults
)
15921 async def SetInstanceInfo(self
, machines
):
15923 machines : typing.Sequence<+T_co>[~InstanceInfo]<~InstanceInfo>
15924 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15926 # map input types to rpc msg
15928 msg
= dict(type='Provisioner', request
='SetInstanceInfo', version
=3, params
=params
)
15929 params
['machines'] = machines
15930 reply
= await self
.rpc(msg
)
15935 @ReturnMapping(ErrorResults
)
15936 async def SetInstanceStatus(self
, entities
):
15938 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
15939 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15941 # map input types to rpc msg
15943 msg
= dict(type='Provisioner', request
='SetInstanceStatus', version
=3, params
=params
)
15944 params
['entities'] = entities
15945 reply
= await self
.rpc(msg
)
15950 @ReturnMapping(ErrorResults
)
15951 async def SetPasswords(self
, changes
):
15953 changes : typing.Sequence<+T_co>[~EntityPassword]<~EntityPassword>
15954 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15956 # map input types to rpc msg
15958 msg
= dict(type='Provisioner', request
='SetPasswords', version
=3, params
=params
)
15959 params
['changes'] = changes
15960 reply
= await self
.rpc(msg
)
15965 @ReturnMapping(ErrorResults
)
15966 async def SetStatus(self
, entities
):
15968 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
15969 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15971 # map input types to rpc msg
15973 msg
= dict(type='Provisioner', request
='SetStatus', version
=3, params
=params
)
15974 params
['entities'] = entities
15975 reply
= await self
.rpc(msg
)
15980 @ReturnMapping(ErrorResults
)
15981 async def SetSupportedContainers(self
, params
):
15983 params : typing.Sequence<+T_co>[~MachineContainers]<~MachineContainers>
15984 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15986 # map input types to rpc msg
15988 msg
= dict(type='Provisioner', request
='SetSupportedContainers', version
=3, params
=params
)
15989 params
['params'] = params
15990 reply
= await self
.rpc(msg
)
15995 @ReturnMapping(StringsResult
)
15996 async def StateAddresses(self
):
15999 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[str]]
16001 # map input types to rpc msg
16003 msg
= dict(type='Provisioner', request
='StateAddresses', version
=3, params
=params
)
16005 reply
= await self
.rpc(msg
)
16010 @ReturnMapping(StatusResults
)
16011 async def Status(self
, entities
):
16013 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16014 Returns -> typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
16016 # map input types to rpc msg
16018 msg
= dict(type='Provisioner', request
='Status', version
=3, params
=params
)
16019 params
['entities'] = entities
16020 reply
= await self
.rpc(msg
)
16025 @ReturnMapping(ToolsResults
)
16026 async def Tools(self
, entities
):
16028 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16029 Returns -> typing.Sequence<+T_co>[~ToolsResult]<~ToolsResult>
16031 # map input types to rpc msg
16033 msg
= dict(type='Provisioner', request
='Tools', version
=3, params
=params
)
16034 params
['entities'] = entities
16035 reply
= await self
.rpc(msg
)
16040 @ReturnMapping(ErrorResults
)
16041 async def UpdateStatus(self
, entities
):
16043 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
16044 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
16046 # map input types to rpc msg
16048 msg
= dict(type='Provisioner', request
='UpdateStatus', version
=3, params
=params
)
16049 params
['entities'] = entities
16050 reply
= await self
.rpc(msg
)
16055 @ReturnMapping(NotifyWatchResult
)
16056 async def WatchAPIHostPorts(self
):
16059 Returns -> typing.Union[str, _ForwardRef('Error')]
16061 # map input types to rpc msg
16063 msg
= dict(type='Provisioner', request
='WatchAPIHostPorts', version
=3, params
=params
)
16065 reply
= await self
.rpc(msg
)
16070 @ReturnMapping(StringsWatchResults
)
16071 async def WatchAllContainers(self
, params
):
16073 params : typing.Sequence<+T_co>[~WatchContainer]<~WatchContainer>
16074 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
16076 # map input types to rpc msg
16078 msg
= dict(type='Provisioner', request
='WatchAllContainers', version
=3, params
=params
)
16079 params
['params'] = params
16080 reply
= await self
.rpc(msg
)
16085 @ReturnMapping(StringsWatchResults
)
16086 async def WatchContainers(self
, params
):
16088 params : typing.Sequence<+T_co>[~WatchContainer]<~WatchContainer>
16089 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
16091 # map input types to rpc msg
16093 msg
= dict(type='Provisioner', request
='WatchContainers', version
=3, params
=params
)
16094 params
['params'] = params
16095 reply
= await self
.rpc(msg
)
16100 @ReturnMapping(NotifyWatchResult
)
16101 async def WatchForModelConfigChanges(self
):
16104 Returns -> typing.Union[str, _ForwardRef('Error')]
16106 # map input types to rpc msg
16108 msg
= dict(type='Provisioner', request
='WatchForModelConfigChanges', version
=3, params
=params
)
16110 reply
= await self
.rpc(msg
)
16115 @ReturnMapping(NotifyWatchResult
)
16116 async def WatchMachineErrorRetry(self
):
16119 Returns -> typing.Union[str, _ForwardRef('Error')]
16121 # map input types to rpc msg
16123 msg
= dict(type='Provisioner', request
='WatchMachineErrorRetry', version
=3, params
=params
)
16125 reply
= await self
.rpc(msg
)
16130 @ReturnMapping(StringsWatchResult
)
16131 async def WatchModelMachines(self
):
16134 Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')]
16136 # map input types to rpc msg
16138 msg
= dict(type='Provisioner', request
='WatchModelMachines', version
=3, params
=params
)
16140 reply
= await self
.rpc(msg
)
16144 class ProxyUpdaterFacade(Type
):
16145 name
= 'ProxyUpdater'
16147 schema
= {'definitions': {'Entities': {'additionalProperties': False,
16148 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
16150 'required': ['entities'],
16152 'Entity': {'additionalProperties': False,
16153 'properties': {'tag': {'type': 'string'}},
16154 'required': ['tag'],
16156 'Error': {'additionalProperties': False,
16157 'properties': {'code': {'type': 'string'},
16158 'info': {'$ref': '#/definitions/ErrorInfo'},
16159 'message': {'type': 'string'}},
16160 'required': ['message', 'code'],
16162 'ErrorInfo': {'additionalProperties': False,
16163 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
16164 'macaroon-path': {'type': 'string'}},
16166 'Macaroon': {'additionalProperties': False, 'type': 'object'},
16167 'NotifyWatchResult': {'additionalProperties': False,
16168 'properties': {'NotifyWatcherId': {'type': 'string'},
16169 'error': {'$ref': '#/definitions/Error'}},
16170 'required': ['NotifyWatcherId'],
16172 'NotifyWatchResults': {'additionalProperties': False,
16173 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
16175 'required': ['results'],
16177 'ProxyConfig': {'additionalProperties': False,
16178 'properties': {'ftp': {'type': 'string'},
16179 'http': {'type': 'string'},
16180 'https': {'type': 'string'},
16181 'no-proxy': {'type': 'string'}},
16182 'required': ['http',
16187 'ProxyConfigResult': {'additionalProperties': False,
16188 'properties': {'apt-proxy-settings': {'$ref': '#/definitions/ProxyConfig'},
16189 'error': {'$ref': '#/definitions/Error'},
16190 'proxy-settings': {'$ref': '#/definitions/ProxyConfig'}},
16191 'required': ['proxy-settings',
16192 'apt-proxy-settings'],
16194 'ProxyConfigResults': {'additionalProperties': False,
16195 'properties': {'results': {'items': {'$ref': '#/definitions/ProxyConfigResult'},
16197 'required': ['results'],
16198 'type': 'object'}},
16199 'properties': {'ProxyConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16200 'Result': {'$ref': '#/definitions/ProxyConfigResults'}},
16202 'WatchForProxyConfigAndAPIHostPortChanges': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16203 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
16204 'type': 'object'}},
16208 @ReturnMapping(ProxyConfigResults
)
16209 async def ProxyConfig(self
, entities
):
16211 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16212 Returns -> typing.Sequence<+T_co>[~ProxyConfigResult]<~ProxyConfigResult>
16214 # map input types to rpc msg
16216 msg
= dict(type='ProxyUpdater', request
='ProxyConfig', version
=1, params
=params
)
16217 params
['entities'] = entities
16218 reply
= await self
.rpc(msg
)
16223 @ReturnMapping(NotifyWatchResults
)
16224 async def WatchForProxyConfigAndAPIHostPortChanges(self
, entities
):
16226 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16227 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
16229 # map input types to rpc msg
16231 msg
= dict(type='ProxyUpdater', request
='WatchForProxyConfigAndAPIHostPortChanges', version
=1, params
=params
)
16232 params
['entities'] = entities
16233 reply
= await self
.rpc(msg
)
16237 class RebootFacade(Type
):
16240 schema
= {'definitions': {'Entities': {'additionalProperties': False,
16241 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
16243 'required': ['entities'],
16245 'Entity': {'additionalProperties': False,
16246 'properties': {'tag': {'type': 'string'}},
16247 'required': ['tag'],
16249 'Error': {'additionalProperties': False,
16250 'properties': {'code': {'type': 'string'},
16251 'info': {'$ref': '#/definitions/ErrorInfo'},
16252 'message': {'type': 'string'}},
16253 'required': ['message', 'code'],
16255 'ErrorInfo': {'additionalProperties': False,
16256 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
16257 'macaroon-path': {'type': 'string'}},
16259 'ErrorResult': {'additionalProperties': False,
16260 'properties': {'error': {'$ref': '#/definitions/Error'}},
16262 'ErrorResults': {'additionalProperties': False,
16263 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
16265 'required': ['results'],
16267 'Macaroon': {'additionalProperties': False, 'type': 'object'},
16268 'NotifyWatchResult': {'additionalProperties': False,
16269 'properties': {'NotifyWatcherId': {'type': 'string'},
16270 'error': {'$ref': '#/definitions/Error'}},
16271 'required': ['NotifyWatcherId'],
16273 'RebootActionResult': {'additionalProperties': False,
16274 'properties': {'error': {'$ref': '#/definitions/Error'},
16275 'result': {'type': 'string'}},
16277 'RebootActionResults': {'additionalProperties': False,
16278 'properties': {'results': {'items': {'$ref': '#/definitions/RebootActionResult'},
16280 'type': 'object'}},
16281 'properties': {'ClearReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16282 'Result': {'$ref': '#/definitions/ErrorResults'}},
16284 'GetRebootAction': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16285 'Result': {'$ref': '#/definitions/RebootActionResults'}},
16287 'RequestReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16288 'Result': {'$ref': '#/definitions/ErrorResults'}},
16290 'WatchForRebootEvent': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
16291 'type': 'object'}},
16295 @ReturnMapping(ErrorResults
)
16296 async def ClearReboot(self
, entities
):
16298 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16299 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
16301 # map input types to rpc msg
16303 msg
= dict(type='Reboot', request
='ClearReboot', version
=2, params
=params
)
16304 params
['entities'] = entities
16305 reply
= await self
.rpc(msg
)
16310 @ReturnMapping(RebootActionResults
)
16311 async def GetRebootAction(self
, entities
):
16313 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16314 Returns -> typing.Sequence<+T_co>[~RebootActionResult]<~RebootActionResult>
16316 # map input types to rpc msg
16318 msg
= dict(type='Reboot', request
='GetRebootAction', version
=2, params
=params
)
16319 params
['entities'] = entities
16320 reply
= await self
.rpc(msg
)
16325 @ReturnMapping(ErrorResults
)
16326 async def RequestReboot(self
, entities
):
16328 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16329 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
16331 # map input types to rpc msg
16333 msg
= dict(type='Reboot', request
='RequestReboot', version
=2, params
=params
)
16334 params
['entities'] = entities
16335 reply
= await self
.rpc(msg
)
16340 @ReturnMapping(NotifyWatchResult
)
16341 async def WatchForRebootEvent(self
):
16344 Returns -> typing.Union[str, _ForwardRef('Error')]
16346 # map input types to rpc msg
16348 msg
= dict(type='Reboot', request
='WatchForRebootEvent', version
=2, params
=params
)
16350 reply
= await self
.rpc(msg
)
16354 class RelationUnitsWatcherFacade(Type
):
16355 name
= 'RelationUnitsWatcher'
16357 schema
= {'definitions': {'Error': {'additionalProperties': False,
16358 'properties': {'code': {'type': 'string'},
16359 'info': {'$ref': '#/definitions/ErrorInfo'},
16360 'message': {'type': 'string'}},
16361 'required': ['message', 'code'],
16363 'ErrorInfo': {'additionalProperties': False,
16364 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
16365 'macaroon-path': {'type': 'string'}},
16367 'Macaroon': {'additionalProperties': False, 'type': 'object'},
16368 'RelationUnitsChange': {'additionalProperties': False,
16369 'properties': {'changed': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitSettings'}},
16371 'departed': {'items': {'type': 'string'},
16373 'required': ['changed'],
16375 'RelationUnitsWatchResult': {'additionalProperties': False,
16376 'properties': {'changes': {'$ref': '#/definitions/RelationUnitsChange'},
16377 'error': {'$ref': '#/definitions/Error'},
16378 'watcher-id': {'type': 'string'}},
16379 'required': ['watcher-id',
16382 'UnitSettings': {'additionalProperties': False,
16383 'properties': {'version': {'type': 'integer'}},
16384 'required': ['version'],
16385 'type': 'object'}},
16386 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/RelationUnitsWatchResult'}},
16388 'Stop': {'type': 'object'}},
16392 @ReturnMapping(RelationUnitsWatchResult
)
16393 async def Next(self
):
16396 Returns -> typing.Union[_ForwardRef('RelationUnitsChange'), _ForwardRef('Error'), str]
16398 # map input types to rpc msg
16400 msg
= dict(type='RelationUnitsWatcher', request
='Next', version
=1, params
=params
)
16402 reply
= await self
.rpc(msg
)
16407 @ReturnMapping(None)
16408 async def Stop(self
):
16413 # map input types to rpc msg
16415 msg
= dict(type='RelationUnitsWatcher', request
='Stop', version
=1, params
=params
)
16417 reply
= await self
.rpc(msg
)
16421 class ResumerFacade(Type
):
16424 schema
= {'properties': {'ResumeTransactions': {'type': 'object'}}, 'type': 'object'}
16427 @ReturnMapping(None)
16428 async def ResumeTransactions(self
):
16433 # map input types to rpc msg
16435 msg
= dict(type='Resumer', request
='ResumeTransactions', version
=2, params
=params
)
16437 reply
= await self
.rpc(msg
)
16441 class RetryStrategyFacade(Type
):
16442 name
= 'RetryStrategy'
16444 schema
= {'definitions': {'Entities': {'additionalProperties': False,
16445 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
16447 'required': ['entities'],
16449 'Entity': {'additionalProperties': False,
16450 'properties': {'tag': {'type': 'string'}},
16451 'required': ['tag'],
16453 'Error': {'additionalProperties': False,
16454 'properties': {'code': {'type': 'string'},
16455 'info': {'$ref': '#/definitions/ErrorInfo'},
16456 'message': {'type': 'string'}},
16457 'required': ['message', 'code'],
16459 'ErrorInfo': {'additionalProperties': False,
16460 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
16461 'macaroon-path': {'type': 'string'}},
16463 'Macaroon': {'additionalProperties': False, 'type': 'object'},
16464 'NotifyWatchResult': {'additionalProperties': False,
16465 'properties': {'NotifyWatcherId': {'type': 'string'},
16466 'error': {'$ref': '#/definitions/Error'}},
16467 'required': ['NotifyWatcherId'],
16469 'NotifyWatchResults': {'additionalProperties': False,
16470 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
16472 'required': ['results'],
16474 'RetryStrategy': {'additionalProperties': False,
16475 'properties': {'jitter-retry-time': {'type': 'boolean'},
16476 'max-retry-time': {'type': 'integer'},
16477 'min-retry-time': {'type': 'integer'},
16478 'retry-time-factor': {'type': 'integer'},
16479 'should-retry': {'type': 'boolean'}},
16480 'required': ['should-retry',
16483 'jitter-retry-time',
16484 'retry-time-factor'],
16486 'RetryStrategyResult': {'additionalProperties': False,
16487 'properties': {'error': {'$ref': '#/definitions/Error'},
16488 'result': {'$ref': '#/definitions/RetryStrategy'}},
16490 'RetryStrategyResults': {'additionalProperties': False,
16491 'properties': {'results': {'items': {'$ref': '#/definitions/RetryStrategyResult'},
16493 'required': ['results'],
16494 'type': 'object'}},
16495 'properties': {'RetryStrategy': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16496 'Result': {'$ref': '#/definitions/RetryStrategyResults'}},
16498 'WatchRetryStrategy': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16499 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
16500 'type': 'object'}},
16504 @ReturnMapping(RetryStrategyResults
)
16505 async def RetryStrategy(self
, entities
):
16507 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16508 Returns -> typing.Sequence<+T_co>[~RetryStrategyResult]<~RetryStrategyResult>
16510 # map input types to rpc msg
16512 msg
= dict(type='RetryStrategy', request
='RetryStrategy', version
=1, params
=params
)
16513 params
['entities'] = entities
16514 reply
= await self
.rpc(msg
)
16519 @ReturnMapping(NotifyWatchResults
)
16520 async def WatchRetryStrategy(self
, entities
):
16522 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16523 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
16525 # map input types to rpc msg
16527 msg
= dict(type='RetryStrategy', request
='WatchRetryStrategy', version
=1, params
=params
)
16528 params
['entities'] = entities
16529 reply
= await self
.rpc(msg
)
16533 class SSHClientFacade(Type
):
16536 schema
= {'definitions': {'Entities': {'additionalProperties': False,
16537 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
16539 'required': ['entities'],
16541 'Entity': {'additionalProperties': False,
16542 'properties': {'tag': {'type': 'string'}},
16543 'required': ['tag'],
16545 'Error': {'additionalProperties': False,
16546 'properties': {'code': {'type': 'string'},
16547 'info': {'$ref': '#/definitions/ErrorInfo'},
16548 'message': {'type': 'string'}},
16549 'required': ['message', 'code'],
16551 'ErrorInfo': {'additionalProperties': False,
16552 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
16553 'macaroon-path': {'type': 'string'}},
16555 'Macaroon': {'additionalProperties': False, 'type': 'object'},
16556 'SSHAddressResult': {'additionalProperties': False,
16557 'properties': {'address': {'type': 'string'},
16558 'error': {'$ref': '#/definitions/Error'}},
16560 'SSHAddressResults': {'additionalProperties': False,
16561 'properties': {'results': {'items': {'$ref': '#/definitions/SSHAddressResult'},
16563 'required': ['results'],
16565 'SSHProxyResult': {'additionalProperties': False,
16566 'properties': {'use-proxy': {'type': 'boolean'}},
16567 'required': ['use-proxy'],
16569 'SSHPublicKeysResult': {'additionalProperties': False,
16570 'properties': {'error': {'$ref': '#/definitions/Error'},
16571 'public-keys': {'items': {'type': 'string'},
16574 'SSHPublicKeysResults': {'additionalProperties': False,
16575 'properties': {'results': {'items': {'$ref': '#/definitions/SSHPublicKeysResult'},
16577 'required': ['results'],
16578 'type': 'object'}},
16579 'properties': {'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16580 'Result': {'$ref': '#/definitions/SSHAddressResults'}},
16582 'Proxy': {'properties': {'Result': {'$ref': '#/definitions/SSHProxyResult'}},
16584 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16585 'Result': {'$ref': '#/definitions/SSHAddressResults'}},
16587 'PublicKeys': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16588 'Result': {'$ref': '#/definitions/SSHPublicKeysResults'}},
16589 'type': 'object'}},
16593 @ReturnMapping(SSHAddressResults
)
16594 async def PrivateAddress(self
, entities
):
16596 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16597 Returns -> typing.Sequence<+T_co>[~SSHAddressResult]<~SSHAddressResult>
16599 # map input types to rpc msg
16601 msg
= dict(type='SSHClient', request
='PrivateAddress', version
=1, params
=params
)
16602 params
['entities'] = entities
16603 reply
= await self
.rpc(msg
)
16608 @ReturnMapping(SSHProxyResult
)
16609 async def Proxy(self
):
16614 # map input types to rpc msg
16616 msg
= dict(type='SSHClient', request
='Proxy', version
=1, params
=params
)
16618 reply
= await self
.rpc(msg
)
16623 @ReturnMapping(SSHAddressResults
)
16624 async def PublicAddress(self
, entities
):
16626 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16627 Returns -> typing.Sequence<+T_co>[~SSHAddressResult]<~SSHAddressResult>
16629 # map input types to rpc msg
16631 msg
= dict(type='SSHClient', request
='PublicAddress', version
=1, params
=params
)
16632 params
['entities'] = entities
16633 reply
= await self
.rpc(msg
)
16638 @ReturnMapping(SSHPublicKeysResults
)
16639 async def PublicKeys(self
, entities
):
16641 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16642 Returns -> typing.Sequence<+T_co>[~SSHPublicKeysResult]<~SSHPublicKeysResult>
16644 # map input types to rpc msg
16646 msg
= dict(type='SSHClient', request
='PublicKeys', version
=1, params
=params
)
16647 params
['entities'] = entities
16648 reply
= await self
.rpc(msg
)
16652 class SingularFacade(Type
):
16655 schema
= {'definitions': {'Entities': {'additionalProperties': False,
16656 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
16658 'required': ['entities'],
16660 'Entity': {'additionalProperties': False,
16661 'properties': {'tag': {'type': 'string'}},
16662 'required': ['tag'],
16664 'Error': {'additionalProperties': False,
16665 'properties': {'code': {'type': 'string'},
16666 'info': {'$ref': '#/definitions/ErrorInfo'},
16667 'message': {'type': 'string'}},
16668 'required': ['message', 'code'],
16670 'ErrorInfo': {'additionalProperties': False,
16671 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
16672 'macaroon-path': {'type': 'string'}},
16674 'ErrorResult': {'additionalProperties': False,
16675 'properties': {'error': {'$ref': '#/definitions/Error'}},
16677 'ErrorResults': {'additionalProperties': False,
16678 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
16680 'required': ['results'],
16682 'Macaroon': {'additionalProperties': False, 'type': 'object'},
16683 'SingularClaim': {'additionalProperties': False,
16684 'properties': {'controller-tag': {'type': 'string'},
16685 'duration': {'type': 'integer'},
16686 'model-tag': {'type': 'string'}},
16687 'required': ['model-tag',
16691 'SingularClaims': {'additionalProperties': False,
16692 'properties': {'claims': {'items': {'$ref': '#/definitions/SingularClaim'},
16694 'required': ['claims'],
16695 'type': 'object'}},
16696 'properties': {'Claim': {'properties': {'Params': {'$ref': '#/definitions/SingularClaims'},
16697 'Result': {'$ref': '#/definitions/ErrorResults'}},
16699 'Wait': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16700 'Result': {'$ref': '#/definitions/ErrorResults'}},
16701 'type': 'object'}},
16705 @ReturnMapping(ErrorResults
)
16706 async def Claim(self
, claims
):
16708 claims : typing.Sequence<+T_co>[~SingularClaim]<~SingularClaim>
16709 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
16711 # map input types to rpc msg
16713 msg
= dict(type='Singular', request
='Claim', version
=1, params
=params
)
16714 params
['claims'] = claims
16715 reply
= await self
.rpc(msg
)
16720 @ReturnMapping(ErrorResults
)
16721 async def Wait(self
, entities
):
16723 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16724 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
16726 # map input types to rpc msg
16728 msg
= dict(type='Singular', request
='Wait', version
=1, params
=params
)
16729 params
['entities'] = entities
16730 reply
= await self
.rpc(msg
)
16734 class SpacesFacade(Type
):
16737 schema
= {'definitions': {'CreateSpaceParams': {'additionalProperties': False,
16738 'properties': {'provider-id': {'type': 'string'},
16739 'public': {'type': 'boolean'},
16740 'space-tag': {'type': 'string'},
16741 'subnet-tags': {'items': {'type': 'string'},
16743 'required': ['subnet-tags',
16747 'CreateSpacesParams': {'additionalProperties': False,
16748 'properties': {'spaces': {'items': {'$ref': '#/definitions/CreateSpaceParams'},
16750 'required': ['spaces'],
16752 'Error': {'additionalProperties': False,
16753 'properties': {'code': {'type': 'string'},
16754 'info': {'$ref': '#/definitions/ErrorInfo'},
16755 'message': {'type': 'string'}},
16756 'required': ['message', 'code'],
16758 'ErrorInfo': {'additionalProperties': False,
16759 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
16760 'macaroon-path': {'type': 'string'}},
16762 'ErrorResult': {'additionalProperties': False,
16763 'properties': {'error': {'$ref': '#/definitions/Error'}},
16765 'ErrorResults': {'additionalProperties': False,
16766 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
16768 'required': ['results'],
16770 'ListSpacesResults': {'additionalProperties': False,
16771 'properties': {'results': {'items': {'$ref': '#/definitions/Space'},
16773 'required': ['results'],
16775 'Macaroon': {'additionalProperties': False, 'type': 'object'},
16776 'Space': {'additionalProperties': False,
16777 'properties': {'error': {'$ref': '#/definitions/Error'},
16778 'name': {'type': 'string'},
16779 'subnets': {'items': {'$ref': '#/definitions/Subnet'},
16781 'required': ['name', 'subnets'],
16783 'Subnet': {'additionalProperties': False,
16784 'properties': {'cidr': {'type': 'string'},
16785 'life': {'type': 'string'},
16786 'provider-id': {'type': 'string'},
16787 'space-tag': {'type': 'string'},
16788 'status': {'type': 'string'},
16789 'vlan-tag': {'type': 'integer'},
16790 'zones': {'items': {'type': 'string'},
16792 'required': ['cidr',
16797 'type': 'object'}},
16798 'properties': {'CreateSpaces': {'properties': {'Params': {'$ref': '#/definitions/CreateSpacesParams'},
16799 'Result': {'$ref': '#/definitions/ErrorResults'}},
16801 'ListSpaces': {'properties': {'Result': {'$ref': '#/definitions/ListSpacesResults'}},
16802 'type': 'object'}},
16806 @ReturnMapping(ErrorResults
)
16807 async def CreateSpaces(self
, spaces
):
16809 spaces : typing.Sequence<+T_co>[~CreateSpaceParams]<~CreateSpaceParams>
16810 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
16812 # map input types to rpc msg
16814 msg
= dict(type='Spaces', request
='CreateSpaces', version
=2, params
=params
)
16815 params
['spaces'] = spaces
16816 reply
= await self
.rpc(msg
)
16821 @ReturnMapping(ListSpacesResults
)
16822 async def ListSpaces(self
):
16825 Returns -> typing.Sequence<+T_co>[~Space]<~Space>
16827 # map input types to rpc msg
16829 msg
= dict(type='Spaces', request
='ListSpaces', version
=2, params
=params
)
16831 reply
= await self
.rpc(msg
)
16835 class StatusHistoryFacade(Type
):
16836 name
= 'StatusHistory'
16838 schema
= {'definitions': {'StatusHistoryPruneArgs': {'additionalProperties': False,
16839 'properties': {'max-history-mb': {'type': 'integer'},
16840 'max-history-time': {'type': 'integer'}},
16841 'required': ['max-history-time',
16843 'type': 'object'}},
16844 'properties': {'Prune': {'properties': {'Params': {'$ref': '#/definitions/StatusHistoryPruneArgs'}},
16845 'type': 'object'}},
16849 @ReturnMapping(None)
16850 async def Prune(self
, max_history_mb
, max_history_time
):
16852 max_history_mb : int
16853 max_history_time : int
16856 # map input types to rpc msg
16858 msg
= dict(type='StatusHistory', request
='Prune', version
=2, params
=params
)
16859 params
['max-history-mb'] = max_history_mb
16860 params
['max-history-time'] = max_history_time
16861 reply
= await self
.rpc(msg
)
16865 class StorageFacade(Type
):
16868 schema
= {'definitions': {'Entities': {'additionalProperties': False,
16869 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
16871 'required': ['entities'],
16873 'Entity': {'additionalProperties': False,
16874 'properties': {'tag': {'type': 'string'}},
16875 'required': ['tag'],
16877 'EntityStatus': {'additionalProperties': False,
16878 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
16879 'type': 'object'}},
16881 'info': {'type': 'string'},
16882 'since': {'format': 'date-time',
16884 'status': {'type': 'string'}},
16885 'required': ['status', 'info', 'since'],
16887 'Error': {'additionalProperties': False,
16888 'properties': {'code': {'type': 'string'},
16889 'info': {'$ref': '#/definitions/ErrorInfo'},
16890 'message': {'type': 'string'}},
16891 'required': ['message', 'code'],
16893 'ErrorInfo': {'additionalProperties': False,
16894 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
16895 'macaroon-path': {'type': 'string'}},
16897 'ErrorResult': {'additionalProperties': False,
16898 'properties': {'error': {'$ref': '#/definitions/Error'}},
16900 'ErrorResults': {'additionalProperties': False,
16901 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
16903 'required': ['results'],
16905 'FilesystemAttachmentInfo': {'additionalProperties': False,
16906 'properties': {'mount-point': {'type': 'string'},
16907 'read-only': {'type': 'boolean'}},
16909 'FilesystemDetails': {'additionalProperties': False,
16910 'properties': {'filesystem-tag': {'type': 'string'},
16911 'info': {'$ref': '#/definitions/FilesystemInfo'},
16912 'machine-attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/FilesystemAttachmentInfo'}},
16914 'status': {'$ref': '#/definitions/EntityStatus'},
16915 'storage': {'$ref': '#/definitions/StorageDetails'},
16916 'volume-tag': {'type': 'string'}},
16917 'required': ['filesystem-tag',
16921 'FilesystemDetailsListResult': {'additionalProperties': False,
16922 'properties': {'error': {'$ref': '#/definitions/Error'},
16923 'result': {'items': {'$ref': '#/definitions/FilesystemDetails'},
16926 'FilesystemDetailsListResults': {'additionalProperties': False,
16927 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemDetailsListResult'},
16930 'FilesystemFilter': {'additionalProperties': False,
16931 'properties': {'machines': {'items': {'type': 'string'},
16934 'FilesystemFilters': {'additionalProperties': False,
16935 'properties': {'filters': {'items': {'$ref': '#/definitions/FilesystemFilter'},
16938 'FilesystemInfo': {'additionalProperties': False,
16939 'properties': {'filesystem-id': {'type': 'string'},
16940 'size': {'type': 'integer'}},
16941 'required': ['filesystem-id', 'size'],
16943 'Macaroon': {'additionalProperties': False, 'type': 'object'},
16944 'StorageAddParams': {'additionalProperties': False,
16945 'properties': {'name': {'type': 'string'},
16946 'storage': {'$ref': '#/definitions/StorageConstraints'},
16947 'unit': {'type': 'string'}},
16948 'required': ['unit', 'name', 'storage'],
16950 'StorageAttachmentDetails': {'additionalProperties': False,
16951 'properties': {'location': {'type': 'string'},
16952 'machine-tag': {'type': 'string'},
16953 'storage-tag': {'type': 'string'},
16954 'unit-tag': {'type': 'string'}},
16955 'required': ['storage-tag',
16959 'StorageConstraints': {'additionalProperties': False,
16960 'properties': {'count': {'type': 'integer'},
16961 'pool': {'type': 'string'},
16962 'size': {'type': 'integer'}},
16964 'StorageDetails': {'additionalProperties': False,
16965 'properties': {'attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/StorageAttachmentDetails'}},
16967 'kind': {'type': 'integer'},
16968 'owner-tag': {'type': 'string'},
16969 'persistent': {'type': 'boolean'},
16970 'status': {'$ref': '#/definitions/EntityStatus'},
16971 'storage-tag': {'type': 'string'}},
16972 'required': ['storage-tag',
16978 'StorageDetailsListResult': {'additionalProperties': False,
16979 'properties': {'error': {'$ref': '#/definitions/Error'},
16980 'result': {'items': {'$ref': '#/definitions/StorageDetails'},
16983 'StorageDetailsListResults': {'additionalProperties': False,
16984 'properties': {'results': {'items': {'$ref': '#/definitions/StorageDetailsListResult'},
16987 'StorageDetailsResult': {'additionalProperties': False,
16988 'properties': {'error': {'$ref': '#/definitions/Error'},
16989 'result': {'$ref': '#/definitions/StorageDetails'}},
16991 'StorageDetailsResults': {'additionalProperties': False,
16992 'properties': {'results': {'items': {'$ref': '#/definitions/StorageDetailsResult'},
16995 'StorageFilter': {'additionalProperties': False,
16997 'StorageFilters': {'additionalProperties': False,
16998 'properties': {'filters': {'items': {'$ref': '#/definitions/StorageFilter'},
17001 'StoragePool': {'additionalProperties': False,
17002 'properties': {'attrs': {'patternProperties': {'.*': {'additionalProperties': True,
17003 'type': 'object'}},
17005 'name': {'type': 'string'},
17006 'provider': {'type': 'string'}},
17007 'required': ['name', 'provider', 'attrs'],
17009 'StoragePoolFilter': {'additionalProperties': False,
17010 'properties': {'names': {'items': {'type': 'string'},
17012 'providers': {'items': {'type': 'string'},
17015 'StoragePoolFilters': {'additionalProperties': False,
17016 'properties': {'filters': {'items': {'$ref': '#/definitions/StoragePoolFilter'},
17019 'StoragePoolsResult': {'additionalProperties': False,
17020 'properties': {'error': {'$ref': '#/definitions/Error'},
17021 'storage-pools': {'items': {'$ref': '#/definitions/StoragePool'},
17024 'StoragePoolsResults': {'additionalProperties': False,
17025 'properties': {'results': {'items': {'$ref': '#/definitions/StoragePoolsResult'},
17028 'StoragesAddParams': {'additionalProperties': False,
17029 'properties': {'storages': {'items': {'$ref': '#/definitions/StorageAddParams'},
17031 'required': ['storages'],
17033 'VolumeAttachmentInfo': {'additionalProperties': False,
17034 'properties': {'bus-address': {'type': 'string'},
17035 'device-link': {'type': 'string'},
17036 'device-name': {'type': 'string'},
17037 'read-only': {'type': 'boolean'}},
17039 'VolumeDetails': {'additionalProperties': False,
17040 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
17041 'machine-attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentInfo'}},
17043 'status': {'$ref': '#/definitions/EntityStatus'},
17044 'storage': {'$ref': '#/definitions/StorageDetails'},
17045 'volume-tag': {'type': 'string'}},
17046 'required': ['volume-tag', 'info', 'status'],
17048 'VolumeDetailsListResult': {'additionalProperties': False,
17049 'properties': {'error': {'$ref': '#/definitions/Error'},
17050 'result': {'items': {'$ref': '#/definitions/VolumeDetails'},
17053 'VolumeDetailsListResults': {'additionalProperties': False,
17054 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeDetailsListResult'},
17057 'VolumeFilter': {'additionalProperties': False,
17058 'properties': {'machines': {'items': {'type': 'string'},
17061 'VolumeFilters': {'additionalProperties': False,
17062 'properties': {'filters': {'items': {'$ref': '#/definitions/VolumeFilter'},
17065 'VolumeInfo': {'additionalProperties': False,
17066 'properties': {'hardware-id': {'type': 'string'},
17067 'persistent': {'type': 'boolean'},
17068 'size': {'type': 'integer'},
17069 'volume-id': {'type': 'string'}},
17070 'required': ['volume-id', 'size', 'persistent'],
17071 'type': 'object'}},
17072 'properties': {'AddToUnit': {'properties': {'Params': {'$ref': '#/definitions/StoragesAddParams'},
17073 'Result': {'$ref': '#/definitions/ErrorResults'}},
17075 'CreatePool': {'properties': {'Params': {'$ref': '#/definitions/StoragePool'}},
17077 'ListFilesystems': {'properties': {'Params': {'$ref': '#/definitions/FilesystemFilters'},
17078 'Result': {'$ref': '#/definitions/FilesystemDetailsListResults'}},
17080 'ListPools': {'properties': {'Params': {'$ref': '#/definitions/StoragePoolFilters'},
17081 'Result': {'$ref': '#/definitions/StoragePoolsResults'}},
17083 'ListStorageDetails': {'properties': {'Params': {'$ref': '#/definitions/StorageFilters'},
17084 'Result': {'$ref': '#/definitions/StorageDetailsListResults'}},
17086 'ListVolumes': {'properties': {'Params': {'$ref': '#/definitions/VolumeFilters'},
17087 'Result': {'$ref': '#/definitions/VolumeDetailsListResults'}},
17089 'StorageDetails': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17090 'Result': {'$ref': '#/definitions/StorageDetailsResults'}},
17091 'type': 'object'}},
17095 @ReturnMapping(ErrorResults
)
17096 async def AddToUnit(self
, storages
):
17098 storages : typing.Sequence<+T_co>[~StorageAddParams]<~StorageAddParams>
17099 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17101 # map input types to rpc msg
17103 msg
= dict(type='Storage', request
='AddToUnit', version
=3, params
=params
)
17104 params
['storages'] = storages
17105 reply
= await self
.rpc(msg
)
17110 @ReturnMapping(None)
17111 async def CreatePool(self
, attrs
, name
, provider
):
17113 attrs : typing.Mapping<~KT, +VT_co>[str, typing.Any]
17118 # map input types to rpc msg
17120 msg
= dict(type='Storage', request
='CreatePool', version
=3, params
=params
)
17121 params
['attrs'] = attrs
17122 params
['name'] = name
17123 params
['provider'] = provider
17124 reply
= await self
.rpc(msg
)
17129 @ReturnMapping(FilesystemDetailsListResults
)
17130 async def ListFilesystems(self
, filters
):
17132 filters : typing.Sequence<+T_co>[~FilesystemFilter]<~FilesystemFilter>
17133 Returns -> typing.Sequence<+T_co>[~FilesystemDetailsListResult]<~FilesystemDetailsListResult>
17135 # map input types to rpc msg
17137 msg
= dict(type='Storage', request
='ListFilesystems', version
=3, params
=params
)
17138 params
['filters'] = filters
17139 reply
= await self
.rpc(msg
)
17144 @ReturnMapping(StoragePoolsResults
)
17145 async def ListPools(self
, filters
):
17147 filters : typing.Sequence<+T_co>[~StoragePoolFilter]<~StoragePoolFilter>
17148 Returns -> typing.Sequence<+T_co>[~StoragePoolsResult]<~StoragePoolsResult>
17150 # map input types to rpc msg
17152 msg
= dict(type='Storage', request
='ListPools', version
=3, params
=params
)
17153 params
['filters'] = filters
17154 reply
= await self
.rpc(msg
)
17159 @ReturnMapping(StorageDetailsListResults
)
17160 async def ListStorageDetails(self
, filters
):
17162 filters : typing.Sequence<+T_co>[~StorageFilter]<~StorageFilter>
17163 Returns -> typing.Sequence<+T_co>[~StorageDetailsListResult]<~StorageDetailsListResult>
17165 # map input types to rpc msg
17167 msg
= dict(type='Storage', request
='ListStorageDetails', version
=3, params
=params
)
17168 params
['filters'] = filters
17169 reply
= await self
.rpc(msg
)
17174 @ReturnMapping(VolumeDetailsListResults
)
17175 async def ListVolumes(self
, filters
):
17177 filters : typing.Sequence<+T_co>[~VolumeFilter]<~VolumeFilter>
17178 Returns -> typing.Sequence<+T_co>[~VolumeDetailsListResult]<~VolumeDetailsListResult>
17180 # map input types to rpc msg
17182 msg
= dict(type='Storage', request
='ListVolumes', version
=3, params
=params
)
17183 params
['filters'] = filters
17184 reply
= await self
.rpc(msg
)
17189 @ReturnMapping(StorageDetailsResults
)
17190 async def StorageDetails(self
, entities
):
17192 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17193 Returns -> typing.Sequence<+T_co>[~StorageDetailsResult]<~StorageDetailsResult>
17195 # map input types to rpc msg
17197 msg
= dict(type='Storage', request
='StorageDetails', version
=3, params
=params
)
17198 params
['entities'] = entities
17199 reply
= await self
.rpc(msg
)
17203 class StorageProvisionerFacade(Type
):
17204 name
= 'StorageProvisioner'
17206 schema
= {'definitions': {'BlockDevice': {'additionalProperties': False,
17207 'properties': {'BusAddress': {'type': 'string'},
17208 'DeviceLinks': {'items': {'type': 'string'},
17210 'DeviceName': {'type': 'string'},
17211 'FilesystemType': {'type': 'string'},
17212 'HardwareId': {'type': 'string'},
17213 'InUse': {'type': 'boolean'},
17214 'Label': {'type': 'string'},
17215 'MountPoint': {'type': 'string'},
17216 'Size': {'type': 'integer'},
17217 'UUID': {'type': 'string'}},
17218 'required': ['DeviceName',
17229 'BlockDeviceResult': {'additionalProperties': False,
17230 'properties': {'error': {'$ref': '#/definitions/Error'},
17231 'result': {'$ref': '#/definitions/BlockDevice'}},
17232 'required': ['result'],
17234 'BlockDeviceResults': {'additionalProperties': False,
17235 'properties': {'results': {'items': {'$ref': '#/definitions/BlockDeviceResult'},
17238 'Entities': {'additionalProperties': False,
17239 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
17241 'required': ['entities'],
17243 'Entity': {'additionalProperties': False,
17244 'properties': {'tag': {'type': 'string'}},
17245 'required': ['tag'],
17247 'EntityStatusArgs': {'additionalProperties': False,
17248 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
17249 'type': 'object'}},
17251 'info': {'type': 'string'},
17252 'status': {'type': 'string'},
17253 'tag': {'type': 'string'}},
17254 'required': ['tag',
17259 'Error': {'additionalProperties': False,
17260 'properties': {'code': {'type': 'string'},
17261 'info': {'$ref': '#/definitions/ErrorInfo'},
17262 'message': {'type': 'string'}},
17263 'required': ['message', 'code'],
17265 'ErrorInfo': {'additionalProperties': False,
17266 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
17267 'macaroon-path': {'type': 'string'}},
17269 'ErrorResult': {'additionalProperties': False,
17270 'properties': {'error': {'$ref': '#/definitions/Error'}},
17272 'ErrorResults': {'additionalProperties': False,
17273 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
17275 'required': ['results'],
17277 'Filesystem': {'additionalProperties': False,
17278 'properties': {'filesystem-tag': {'type': 'string'},
17279 'info': {'$ref': '#/definitions/FilesystemInfo'},
17280 'volume-tag': {'type': 'string'}},
17281 'required': ['filesystem-tag', 'info'],
17283 'FilesystemAttachment': {'additionalProperties': False,
17284 'properties': {'filesystem-tag': {'type': 'string'},
17285 'info': {'$ref': '#/definitions/FilesystemAttachmentInfo'},
17286 'machine-tag': {'type': 'string'}},
17287 'required': ['filesystem-tag',
17291 'FilesystemAttachmentInfo': {'additionalProperties': False,
17292 'properties': {'mount-point': {'type': 'string'},
17293 'read-only': {'type': 'boolean'}},
17295 'FilesystemAttachmentParams': {'additionalProperties': False,
17296 'properties': {'filesystem-id': {'type': 'string'},
17297 'filesystem-tag': {'type': 'string'},
17298 'instance-id': {'type': 'string'},
17299 'machine-tag': {'type': 'string'},
17300 'mount-point': {'type': 'string'},
17301 'provider': {'type': 'string'},
17302 'read-only': {'type': 'boolean'}},
17303 'required': ['filesystem-tag',
17307 'FilesystemAttachmentParamsResult': {'additionalProperties': False,
17308 'properties': {'error': {'$ref': '#/definitions/Error'},
17309 'result': {'$ref': '#/definitions/FilesystemAttachmentParams'}},
17310 'required': ['result'],
17312 'FilesystemAttachmentParamsResults': {'additionalProperties': False,
17313 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemAttachmentParamsResult'},
17316 'FilesystemAttachmentResult': {'additionalProperties': False,
17317 'properties': {'error': {'$ref': '#/definitions/Error'},
17318 'result': {'$ref': '#/definitions/FilesystemAttachment'}},
17319 'required': ['result'],
17321 'FilesystemAttachmentResults': {'additionalProperties': False,
17322 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemAttachmentResult'},
17325 'FilesystemAttachments': {'additionalProperties': False,
17326 'properties': {'filesystem-attachments': {'items': {'$ref': '#/definitions/FilesystemAttachment'},
17328 'required': ['filesystem-attachments'],
17330 'FilesystemInfo': {'additionalProperties': False,
17331 'properties': {'filesystem-id': {'type': 'string'},
17332 'size': {'type': 'integer'}},
17333 'required': ['filesystem-id', 'size'],
17335 'FilesystemParams': {'additionalProperties': False,
17336 'properties': {'attachment': {'$ref': '#/definitions/FilesystemAttachmentParams'},
17337 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
17338 'type': 'object'}},
17340 'filesystem-tag': {'type': 'string'},
17341 'provider': {'type': 'string'},
17342 'size': {'type': 'integer'},
17343 'tags': {'patternProperties': {'.*': {'type': 'string'}},
17345 'volume-tag': {'type': 'string'}},
17346 'required': ['filesystem-tag',
17350 'FilesystemParamsResult': {'additionalProperties': False,
17351 'properties': {'error': {'$ref': '#/definitions/Error'},
17352 'result': {'$ref': '#/definitions/FilesystemParams'}},
17353 'required': ['result'],
17355 'FilesystemParamsResults': {'additionalProperties': False,
17356 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemParamsResult'},
17359 'FilesystemResult': {'additionalProperties': False,
17360 'properties': {'error': {'$ref': '#/definitions/Error'},
17361 'result': {'$ref': '#/definitions/Filesystem'}},
17362 'required': ['result'],
17364 'FilesystemResults': {'additionalProperties': False,
17365 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemResult'},
17368 'Filesystems': {'additionalProperties': False,
17369 'properties': {'filesystems': {'items': {'$ref': '#/definitions/Filesystem'},
17371 'required': ['filesystems'],
17373 'LifeResult': {'additionalProperties': False,
17374 'properties': {'error': {'$ref': '#/definitions/Error'},
17375 'life': {'type': 'string'}},
17376 'required': ['life'],
17378 'LifeResults': {'additionalProperties': False,
17379 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
17381 'required': ['results'],
17383 'Macaroon': {'additionalProperties': False, 'type': 'object'},
17384 'MachineStorageId': {'additionalProperties': False,
17385 'properties': {'attachment-tag': {'type': 'string'},
17386 'machine-tag': {'type': 'string'}},
17387 'required': ['machine-tag',
17390 'MachineStorageIds': {'additionalProperties': False,
17391 'properties': {'ids': {'items': {'$ref': '#/definitions/MachineStorageId'},
17393 'required': ['ids'],
17395 'MachineStorageIdsWatchResult': {'additionalProperties': False,
17396 'properties': {'changes': {'items': {'$ref': '#/definitions/MachineStorageId'},
17398 'error': {'$ref': '#/definitions/Error'},
17399 'watcher-id': {'type': 'string'}},
17400 'required': ['watcher-id',
17403 'MachineStorageIdsWatchResults': {'additionalProperties': False,
17404 'properties': {'results': {'items': {'$ref': '#/definitions/MachineStorageIdsWatchResult'},
17406 'required': ['results'],
17408 'NotifyWatchResult': {'additionalProperties': False,
17409 'properties': {'NotifyWatcherId': {'type': 'string'},
17410 'error': {'$ref': '#/definitions/Error'}},
17411 'required': ['NotifyWatcherId'],
17413 'NotifyWatchResults': {'additionalProperties': False,
17414 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
17416 'required': ['results'],
17418 'SetStatus': {'additionalProperties': False,
17419 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
17421 'required': ['entities'],
17423 'StringResult': {'additionalProperties': False,
17424 'properties': {'error': {'$ref': '#/definitions/Error'},
17425 'result': {'type': 'string'}},
17426 'required': ['result'],
17428 'StringResults': {'additionalProperties': False,
17429 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
17431 'required': ['results'],
17433 'StringsWatchResult': {'additionalProperties': False,
17434 'properties': {'changes': {'items': {'type': 'string'},
17436 'error': {'$ref': '#/definitions/Error'},
17437 'watcher-id': {'type': 'string'}},
17438 'required': ['watcher-id'],
17440 'StringsWatchResults': {'additionalProperties': False,
17441 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
17443 'required': ['results'],
17445 'Volume': {'additionalProperties': False,
17446 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
17447 'volume-tag': {'type': 'string'}},
17448 'required': ['volume-tag', 'info'],
17450 'VolumeAttachment': {'additionalProperties': False,
17451 'properties': {'info': {'$ref': '#/definitions/VolumeAttachmentInfo'},
17452 'machine-tag': {'type': 'string'},
17453 'volume-tag': {'type': 'string'}},
17454 'required': ['volume-tag',
17458 'VolumeAttachmentInfo': {'additionalProperties': False,
17459 'properties': {'bus-address': {'type': 'string'},
17460 'device-link': {'type': 'string'},
17461 'device-name': {'type': 'string'},
17462 'read-only': {'type': 'boolean'}},
17464 'VolumeAttachmentParams': {'additionalProperties': False,
17465 'properties': {'instance-id': {'type': 'string'},
17466 'machine-tag': {'type': 'string'},
17467 'provider': {'type': 'string'},
17468 'read-only': {'type': 'boolean'},
17469 'volume-id': {'type': 'string'},
17470 'volume-tag': {'type': 'string'}},
17471 'required': ['volume-tag',
17475 'VolumeAttachmentParamsResult': {'additionalProperties': False,
17476 'properties': {'error': {'$ref': '#/definitions/Error'},
17477 'result': {'$ref': '#/definitions/VolumeAttachmentParams'}},
17478 'required': ['result'],
17480 'VolumeAttachmentParamsResults': {'additionalProperties': False,
17481 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeAttachmentParamsResult'},
17484 'VolumeAttachmentResult': {'additionalProperties': False,
17485 'properties': {'error': {'$ref': '#/definitions/Error'},
17486 'result': {'$ref': '#/definitions/VolumeAttachment'}},
17487 'required': ['result'],
17489 'VolumeAttachmentResults': {'additionalProperties': False,
17490 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeAttachmentResult'},
17493 'VolumeAttachments': {'additionalProperties': False,
17494 'properties': {'volume-attachments': {'items': {'$ref': '#/definitions/VolumeAttachment'},
17496 'required': ['volume-attachments'],
17498 'VolumeInfo': {'additionalProperties': False,
17499 'properties': {'hardware-id': {'type': 'string'},
17500 'persistent': {'type': 'boolean'},
17501 'size': {'type': 'integer'},
17502 'volume-id': {'type': 'string'}},
17503 'required': ['volume-id', 'size', 'persistent'],
17505 'VolumeParams': {'additionalProperties': False,
17506 'properties': {'attachment': {'$ref': '#/definitions/VolumeAttachmentParams'},
17507 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
17508 'type': 'object'}},
17510 'provider': {'type': 'string'},
17511 'size': {'type': 'integer'},
17512 'tags': {'patternProperties': {'.*': {'type': 'string'}},
17514 'volume-tag': {'type': 'string'}},
17515 'required': ['volume-tag',
17519 'VolumeParamsResult': {'additionalProperties': False,
17520 'properties': {'error': {'$ref': '#/definitions/Error'},
17521 'result': {'$ref': '#/definitions/VolumeParams'}},
17522 'required': ['result'],
17524 'VolumeParamsResults': {'additionalProperties': False,
17525 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeParamsResult'},
17528 'VolumeResult': {'additionalProperties': False,
17529 'properties': {'error': {'$ref': '#/definitions/Error'},
17530 'result': {'$ref': '#/definitions/Volume'}},
17531 'required': ['result'],
17533 'VolumeResults': {'additionalProperties': False,
17534 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeResult'},
17537 'Volumes': {'additionalProperties': False,
17538 'properties': {'volumes': {'items': {'$ref': '#/definitions/Volume'},
17540 'required': ['volumes'],
17541 'type': 'object'}},
17542 'properties': {'AttachmentLife': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
17543 'Result': {'$ref': '#/definitions/LifeResults'}},
17545 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17546 'Result': {'$ref': '#/definitions/ErrorResults'}},
17548 'FilesystemAttachmentParams': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
17549 'Result': {'$ref': '#/definitions/FilesystemAttachmentParamsResults'}},
17551 'FilesystemAttachments': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
17552 'Result': {'$ref': '#/definitions/FilesystemAttachmentResults'}},
17554 'FilesystemParams': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17555 'Result': {'$ref': '#/definitions/FilesystemParamsResults'}},
17557 'Filesystems': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17558 'Result': {'$ref': '#/definitions/FilesystemResults'}},
17560 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17561 'Result': {'$ref': '#/definitions/StringResults'}},
17563 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17564 'Result': {'$ref': '#/definitions/LifeResults'}},
17566 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17567 'Result': {'$ref': '#/definitions/ErrorResults'}},
17569 'RemoveAttachment': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
17570 'Result': {'$ref': '#/definitions/ErrorResults'}},
17572 'SetFilesystemAttachmentInfo': {'properties': {'Params': {'$ref': '#/definitions/FilesystemAttachments'},
17573 'Result': {'$ref': '#/definitions/ErrorResults'}},
17575 'SetFilesystemInfo': {'properties': {'Params': {'$ref': '#/definitions/Filesystems'},
17576 'Result': {'$ref': '#/definitions/ErrorResults'}},
17578 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
17579 'Result': {'$ref': '#/definitions/ErrorResults'}},
17581 'SetVolumeAttachmentInfo': {'properties': {'Params': {'$ref': '#/definitions/VolumeAttachments'},
17582 'Result': {'$ref': '#/definitions/ErrorResults'}},
17584 'SetVolumeInfo': {'properties': {'Params': {'$ref': '#/definitions/Volumes'},
17585 'Result': {'$ref': '#/definitions/ErrorResults'}},
17587 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
17588 'Result': {'$ref': '#/definitions/ErrorResults'}},
17590 'VolumeAttachmentParams': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
17591 'Result': {'$ref': '#/definitions/VolumeAttachmentParamsResults'}},
17593 'VolumeAttachments': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
17594 'Result': {'$ref': '#/definitions/VolumeAttachmentResults'}},
17596 'VolumeBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
17597 'Result': {'$ref': '#/definitions/BlockDeviceResults'}},
17599 'VolumeParams': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17600 'Result': {'$ref': '#/definitions/VolumeParamsResults'}},
17602 'Volumes': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17603 'Result': {'$ref': '#/definitions/VolumeResults'}},
17605 'WatchBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17606 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
17608 'WatchFilesystemAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17609 'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResults'}},
17611 'WatchFilesystems': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17612 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
17614 'WatchMachines': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17615 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
17617 'WatchVolumeAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17618 'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResults'}},
17620 'WatchVolumes': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17621 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
17622 'type': 'object'}},
17626 @ReturnMapping(LifeResults
)
17627 async def AttachmentLife(self
, ids
):
17629 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
17630 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
17632 # map input types to rpc msg
17634 msg
= dict(type='StorageProvisioner', request
='AttachmentLife', version
=3, params
=params
)
17635 params
['ids'] = ids
17636 reply
= await self
.rpc(msg
)
17641 @ReturnMapping(ErrorResults
)
17642 async def EnsureDead(self
, entities
):
17644 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17645 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17647 # map input types to rpc msg
17649 msg
= dict(type='StorageProvisioner', request
='EnsureDead', version
=3, params
=params
)
17650 params
['entities'] = entities
17651 reply
= await self
.rpc(msg
)
17656 @ReturnMapping(FilesystemAttachmentParamsResults
)
17657 async def FilesystemAttachmentParams(self
, ids
):
17659 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
17660 Returns -> typing.Sequence<+T_co>[~FilesystemAttachmentParamsResult]<~FilesystemAttachmentParamsResult>
17662 # map input types to rpc msg
17664 msg
= dict(type='StorageProvisioner', request
='FilesystemAttachmentParams', version
=3, params
=params
)
17665 params
['ids'] = ids
17666 reply
= await self
.rpc(msg
)
17671 @ReturnMapping(FilesystemAttachmentResults
)
17672 async def FilesystemAttachments(self
, ids
):
17674 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
17675 Returns -> typing.Sequence<+T_co>[~FilesystemAttachmentResult]<~FilesystemAttachmentResult>
17677 # map input types to rpc msg
17679 msg
= dict(type='StorageProvisioner', request
='FilesystemAttachments', version
=3, params
=params
)
17680 params
['ids'] = ids
17681 reply
= await self
.rpc(msg
)
17686 @ReturnMapping(FilesystemParamsResults
)
17687 async def FilesystemParams(self
, entities
):
17689 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17690 Returns -> typing.Sequence<+T_co>[~FilesystemParamsResult]<~FilesystemParamsResult>
17692 # map input types to rpc msg
17694 msg
= dict(type='StorageProvisioner', request
='FilesystemParams', version
=3, params
=params
)
17695 params
['entities'] = entities
17696 reply
= await self
.rpc(msg
)
17701 @ReturnMapping(FilesystemResults
)
17702 async def Filesystems(self
, entities
):
17704 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17705 Returns -> typing.Sequence<+T_co>[~FilesystemResult]<~FilesystemResult>
17707 # map input types to rpc msg
17709 msg
= dict(type='StorageProvisioner', request
='Filesystems', version
=3, params
=params
)
17710 params
['entities'] = entities
17711 reply
= await self
.rpc(msg
)
17716 @ReturnMapping(StringResults
)
17717 async def InstanceId(self
, entities
):
17719 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17720 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
17722 # map input types to rpc msg
17724 msg
= dict(type='StorageProvisioner', request
='InstanceId', version
=3, params
=params
)
17725 params
['entities'] = entities
17726 reply
= await self
.rpc(msg
)
17731 @ReturnMapping(LifeResults
)
17732 async def Life(self
, entities
):
17734 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17735 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
17737 # map input types to rpc msg
17739 msg
= dict(type='StorageProvisioner', request
='Life', version
=3, params
=params
)
17740 params
['entities'] = entities
17741 reply
= await self
.rpc(msg
)
17746 @ReturnMapping(ErrorResults
)
17747 async def Remove(self
, entities
):
17749 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17750 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17752 # map input types to rpc msg
17754 msg
= dict(type='StorageProvisioner', request
='Remove', version
=3, params
=params
)
17755 params
['entities'] = entities
17756 reply
= await self
.rpc(msg
)
17761 @ReturnMapping(ErrorResults
)
17762 async def RemoveAttachment(self
, ids
):
17764 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
17765 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17767 # map input types to rpc msg
17769 msg
= dict(type='StorageProvisioner', request
='RemoveAttachment', version
=3, params
=params
)
17770 params
['ids'] = ids
17771 reply
= await self
.rpc(msg
)
17776 @ReturnMapping(ErrorResults
)
17777 async def SetFilesystemAttachmentInfo(self
, filesystem_attachments
):
17779 filesystem_attachments : typing.Sequence<+T_co>[~FilesystemAttachment]<~FilesystemAttachment>
17780 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17782 # map input types to rpc msg
17784 msg
= dict(type='StorageProvisioner', request
='SetFilesystemAttachmentInfo', version
=3, params
=params
)
17785 params
['filesystem-attachments'] = filesystem_attachments
17786 reply
= await self
.rpc(msg
)
17791 @ReturnMapping(ErrorResults
)
17792 async def SetFilesystemInfo(self
, filesystems
):
17794 filesystems : typing.Sequence<+T_co>[~Filesystem]<~Filesystem>
17795 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17797 # map input types to rpc msg
17799 msg
= dict(type='StorageProvisioner', request
='SetFilesystemInfo', version
=3, params
=params
)
17800 params
['filesystems'] = filesystems
17801 reply
= await self
.rpc(msg
)
17806 @ReturnMapping(ErrorResults
)
17807 async def SetStatus(self
, entities
):
17809 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
17810 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17812 # map input types to rpc msg
17814 msg
= dict(type='StorageProvisioner', request
='SetStatus', version
=3, params
=params
)
17815 params
['entities'] = entities
17816 reply
= await self
.rpc(msg
)
17821 @ReturnMapping(ErrorResults
)
17822 async def SetVolumeAttachmentInfo(self
, volume_attachments
):
17824 volume_attachments : typing.Sequence<+T_co>[~VolumeAttachment]<~VolumeAttachment>
17825 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17827 # map input types to rpc msg
17829 msg
= dict(type='StorageProvisioner', request
='SetVolumeAttachmentInfo', version
=3, params
=params
)
17830 params
['volume-attachments'] = volume_attachments
17831 reply
= await self
.rpc(msg
)
17836 @ReturnMapping(ErrorResults
)
17837 async def SetVolumeInfo(self
, volumes
):
17839 volumes : typing.Sequence<+T_co>[~Volume]<~Volume>
17840 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17842 # map input types to rpc msg
17844 msg
= dict(type='StorageProvisioner', request
='SetVolumeInfo', version
=3, params
=params
)
17845 params
['volumes'] = volumes
17846 reply
= await self
.rpc(msg
)
17851 @ReturnMapping(ErrorResults
)
17852 async def UpdateStatus(self
, entities
):
17854 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
17855 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17857 # map input types to rpc msg
17859 msg
= dict(type='StorageProvisioner', request
='UpdateStatus', version
=3, params
=params
)
17860 params
['entities'] = entities
17861 reply
= await self
.rpc(msg
)
17866 @ReturnMapping(VolumeAttachmentParamsResults
)
17867 async def VolumeAttachmentParams(self
, ids
):
17869 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
17870 Returns -> typing.Sequence<+T_co>[~VolumeAttachmentParamsResult]<~VolumeAttachmentParamsResult>
17872 # map input types to rpc msg
17874 msg
= dict(type='StorageProvisioner', request
='VolumeAttachmentParams', version
=3, params
=params
)
17875 params
['ids'] = ids
17876 reply
= await self
.rpc(msg
)
17881 @ReturnMapping(VolumeAttachmentResults
)
17882 async def VolumeAttachments(self
, ids
):
17884 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
17885 Returns -> typing.Sequence<+T_co>[~VolumeAttachmentResult]<~VolumeAttachmentResult>
17887 # map input types to rpc msg
17889 msg
= dict(type='StorageProvisioner', request
='VolumeAttachments', version
=3, params
=params
)
17890 params
['ids'] = ids
17891 reply
= await self
.rpc(msg
)
17896 @ReturnMapping(BlockDeviceResults
)
17897 async def VolumeBlockDevices(self
, ids
):
17899 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
17900 Returns -> typing.Sequence<+T_co>[~BlockDeviceResult]<~BlockDeviceResult>
17902 # map input types to rpc msg
17904 msg
= dict(type='StorageProvisioner', request
='VolumeBlockDevices', version
=3, params
=params
)
17905 params
['ids'] = ids
17906 reply
= await self
.rpc(msg
)
17911 @ReturnMapping(VolumeParamsResults
)
17912 async def VolumeParams(self
, entities
):
17914 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17915 Returns -> typing.Sequence<+T_co>[~VolumeParamsResult]<~VolumeParamsResult>
17917 # map input types to rpc msg
17919 msg
= dict(type='StorageProvisioner', request
='VolumeParams', version
=3, params
=params
)
17920 params
['entities'] = entities
17921 reply
= await self
.rpc(msg
)
17926 @ReturnMapping(VolumeResults
)
17927 async def Volumes(self
, entities
):
17929 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17930 Returns -> typing.Sequence<+T_co>[~VolumeResult]<~VolumeResult>
17932 # map input types to rpc msg
17934 msg
= dict(type='StorageProvisioner', request
='Volumes', version
=3, params
=params
)
17935 params
['entities'] = entities
17936 reply
= await self
.rpc(msg
)
17941 @ReturnMapping(NotifyWatchResults
)
17942 async def WatchBlockDevices(self
, entities
):
17944 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17945 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
17947 # map input types to rpc msg
17949 msg
= dict(type='StorageProvisioner', request
='WatchBlockDevices', version
=3, params
=params
)
17950 params
['entities'] = entities
17951 reply
= await self
.rpc(msg
)
17956 @ReturnMapping(MachineStorageIdsWatchResults
)
17957 async def WatchFilesystemAttachments(self
, entities
):
17959 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17960 Returns -> typing.Sequence<+T_co>[~MachineStorageIdsWatchResult]<~MachineStorageIdsWatchResult>
17962 # map input types to rpc msg
17964 msg
= dict(type='StorageProvisioner', request
='WatchFilesystemAttachments', version
=3, params
=params
)
17965 params
['entities'] = entities
17966 reply
= await self
.rpc(msg
)
17971 @ReturnMapping(StringsWatchResults
)
17972 async def WatchFilesystems(self
, entities
):
17974 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17975 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
17977 # map input types to rpc msg
17979 msg
= dict(type='StorageProvisioner', request
='WatchFilesystems', version
=3, params
=params
)
17980 params
['entities'] = entities
17981 reply
= await self
.rpc(msg
)
17986 @ReturnMapping(NotifyWatchResults
)
17987 async def WatchMachines(self
, entities
):
17989 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17990 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
17992 # map input types to rpc msg
17994 msg
= dict(type='StorageProvisioner', request
='WatchMachines', version
=3, params
=params
)
17995 params
['entities'] = entities
17996 reply
= await self
.rpc(msg
)
18001 @ReturnMapping(MachineStorageIdsWatchResults
)
18002 async def WatchVolumeAttachments(self
, entities
):
18004 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
18005 Returns -> typing.Sequence<+T_co>[~MachineStorageIdsWatchResult]<~MachineStorageIdsWatchResult>
18007 # map input types to rpc msg
18009 msg
= dict(type='StorageProvisioner', request
='WatchVolumeAttachments', version
=3, params
=params
)
18010 params
['entities'] = entities
18011 reply
= await self
.rpc(msg
)
18016 @ReturnMapping(StringsWatchResults
)
18017 async def WatchVolumes(self
, entities
):
18019 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
18020 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
18022 # map input types to rpc msg
18024 msg
= dict(type='StorageProvisioner', request
='WatchVolumes', version
=3, params
=params
)
18025 params
['entities'] = entities
18026 reply
= await self
.rpc(msg
)
18030 class StringsWatcherFacade(Type
):
18031 name
= 'StringsWatcher'
18033 schema
= {'definitions': {'Error': {'additionalProperties': False,
18034 'properties': {'code': {'type': 'string'},
18035 'info': {'$ref': '#/definitions/ErrorInfo'},
18036 'message': {'type': 'string'}},
18037 'required': ['message', 'code'],
18039 'ErrorInfo': {'additionalProperties': False,
18040 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
18041 'macaroon-path': {'type': 'string'}},
18043 'Macaroon': {'additionalProperties': False, 'type': 'object'},
18044 'StringsWatchResult': {'additionalProperties': False,
18045 'properties': {'changes': {'items': {'type': 'string'},
18047 'error': {'$ref': '#/definitions/Error'},
18048 'watcher-id': {'type': 'string'}},
18049 'required': ['watcher-id'],
18050 'type': 'object'}},
18051 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
18053 'Stop': {'type': 'object'}},
18057 @ReturnMapping(StringsWatchResult
)
18058 async def Next(self
):
18061 Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')]
18063 # map input types to rpc msg
18065 msg
= dict(type='StringsWatcher', request
='Next', version
=1, params
=params
)
18067 reply
= await self
.rpc(msg
)
18072 @ReturnMapping(None)
18073 async def Stop(self
):
18078 # map input types to rpc msg
18080 msg
= dict(type='StringsWatcher', request
='Stop', version
=1, params
=params
)
18082 reply
= await self
.rpc(msg
)
18086 class SubnetsFacade(Type
):
18089 schema
= {'definitions': {'AddSubnetParams': {'additionalProperties': False,
18090 'properties': {'space-tag': {'type': 'string'},
18091 'subnet-provider-id': {'type': 'string'},
18092 'subnet-tag': {'type': 'string'},
18093 'zones': {'items': {'type': 'string'},
18095 'required': ['space-tag'],
18097 'AddSubnetsParams': {'additionalProperties': False,
18098 'properties': {'subnets': {'items': {'$ref': '#/definitions/AddSubnetParams'},
18100 'required': ['subnets'],
18102 'Error': {'additionalProperties': False,
18103 'properties': {'code': {'type': 'string'},
18104 'info': {'$ref': '#/definitions/ErrorInfo'},
18105 'message': {'type': 'string'}},
18106 'required': ['message', 'code'],
18108 'ErrorInfo': {'additionalProperties': False,
18109 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
18110 'macaroon-path': {'type': 'string'}},
18112 'ErrorResult': {'additionalProperties': False,
18113 'properties': {'error': {'$ref': '#/definitions/Error'}},
18115 'ErrorResults': {'additionalProperties': False,
18116 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
18118 'required': ['results'],
18120 'ListSubnetsResults': {'additionalProperties': False,
18121 'properties': {'results': {'items': {'$ref': '#/definitions/Subnet'},
18123 'required': ['results'],
18125 'Macaroon': {'additionalProperties': False, 'type': 'object'},
18126 'SpaceResult': {'additionalProperties': False,
18127 'properties': {'error': {'$ref': '#/definitions/Error'},
18128 'tag': {'type': 'string'}},
18129 'required': ['tag'],
18131 'SpaceResults': {'additionalProperties': False,
18132 'properties': {'results': {'items': {'$ref': '#/definitions/SpaceResult'},
18134 'required': ['results'],
18136 'Subnet': {'additionalProperties': False,
18137 'properties': {'cidr': {'type': 'string'},
18138 'life': {'type': 'string'},
18139 'provider-id': {'type': 'string'},
18140 'space-tag': {'type': 'string'},
18141 'status': {'type': 'string'},
18142 'vlan-tag': {'type': 'integer'},
18143 'zones': {'items': {'type': 'string'},
18145 'required': ['cidr',
18151 'SubnetsFilters': {'additionalProperties': False,
18152 'properties': {'space-tag': {'type': 'string'},
18153 'zone': {'type': 'string'}},
18155 'ZoneResult': {'additionalProperties': False,
18156 'properties': {'available': {'type': 'boolean'},
18157 'error': {'$ref': '#/definitions/Error'},
18158 'name': {'type': 'string'}},
18159 'required': ['name', 'available'],
18161 'ZoneResults': {'additionalProperties': False,
18162 'properties': {'results': {'items': {'$ref': '#/definitions/ZoneResult'},
18164 'required': ['results'],
18165 'type': 'object'}},
18166 'properties': {'AddSubnets': {'properties': {'Params': {'$ref': '#/definitions/AddSubnetsParams'},
18167 'Result': {'$ref': '#/definitions/ErrorResults'}},
18169 'AllSpaces': {'properties': {'Result': {'$ref': '#/definitions/SpaceResults'}},
18171 'AllZones': {'properties': {'Result': {'$ref': '#/definitions/ZoneResults'}},
18173 'ListSubnets': {'properties': {'Params': {'$ref': '#/definitions/SubnetsFilters'},
18174 'Result': {'$ref': '#/definitions/ListSubnetsResults'}},
18175 'type': 'object'}},
18179 @ReturnMapping(ErrorResults
)
18180 async def AddSubnets(self
, subnets
):
18182 subnets : typing.Sequence<+T_co>[~AddSubnetParams]<~AddSubnetParams>
18183 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
18185 # map input types to rpc msg
18187 msg
= dict(type='Subnets', request
='AddSubnets', version
=2, params
=params
)
18188 params
['subnets'] = subnets
18189 reply
= await self
.rpc(msg
)
18194 @ReturnMapping(SpaceResults
)
18195 async def AllSpaces(self
):
18198 Returns -> typing.Sequence<+T_co>[~SpaceResult]<~SpaceResult>
18200 # map input types to rpc msg
18202 msg
= dict(type='Subnets', request
='AllSpaces', version
=2, params
=params
)
18204 reply
= await self
.rpc(msg
)
18209 @ReturnMapping(ZoneResults
)
18210 async def AllZones(self
):
18213 Returns -> typing.Sequence<+T_co>[~ZoneResult]<~ZoneResult>
18215 # map input types to rpc msg
18217 msg
= dict(type='Subnets', request
='AllZones', version
=2, params
=params
)
18219 reply
= await self
.rpc(msg
)
18224 @ReturnMapping(ListSubnetsResults
)
18225 async def ListSubnets(self
, space_tag
, zone
):
18229 Returns -> typing.Sequence<+T_co>[~Subnet]<~Subnet>
18231 # map input types to rpc msg
18233 msg
= dict(type='Subnets', request
='ListSubnets', version
=2, params
=params
)
18234 params
['space-tag'] = space_tag
18235 params
['zone'] = zone
18236 reply
= await self
.rpc(msg
)
18240 class UndertakerFacade(Type
):
18241 name
= 'Undertaker'
18243 schema
= {'definitions': {'EntityStatusArgs': {'additionalProperties': False,
18244 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
18245 'type': 'object'}},
18247 'info': {'type': 'string'},
18248 'status': {'type': 'string'},
18249 'tag': {'type': 'string'}},
18250 'required': ['tag',
18255 'Error': {'additionalProperties': False,
18256 'properties': {'code': {'type': 'string'},
18257 'info': {'$ref': '#/definitions/ErrorInfo'},
18258 'message': {'type': 'string'}},
18259 'required': ['message', 'code'],
18261 'ErrorInfo': {'additionalProperties': False,
18262 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
18263 'macaroon-path': {'type': 'string'}},
18265 'ErrorResult': {'additionalProperties': False,
18266 'properties': {'error': {'$ref': '#/definitions/Error'}},
18268 'ErrorResults': {'additionalProperties': False,
18269 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
18271 'required': ['results'],
18273 'Macaroon': {'additionalProperties': False, 'type': 'object'},
18274 'ModelConfigResult': {'additionalProperties': False,
18275 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
18276 'type': 'object'}},
18277 'type': 'object'}},
18278 'required': ['config'],
18280 'NotifyWatchResult': {'additionalProperties': False,
18281 'properties': {'NotifyWatcherId': {'type': 'string'},
18282 'error': {'$ref': '#/definitions/Error'}},
18283 'required': ['NotifyWatcherId'],
18285 'NotifyWatchResults': {'additionalProperties': False,
18286 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
18288 'required': ['results'],
18290 'SetStatus': {'additionalProperties': False,
18291 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
18293 'required': ['entities'],
18295 'UndertakerModelInfo': {'additionalProperties': False,
18296 'properties': {'global-name': {'type': 'string'},
18297 'is-system': {'type': 'boolean'},
18298 'life': {'type': 'string'},
18299 'name': {'type': 'string'},
18300 'uuid': {'type': 'string'}},
18301 'required': ['uuid',
18307 'UndertakerModelInfoResult': {'additionalProperties': False,
18308 'properties': {'error': {'$ref': '#/definitions/Error'},
18309 'result': {'$ref': '#/definitions/UndertakerModelInfo'}},
18310 'required': ['result'],
18311 'type': 'object'}},
18312 'properties': {'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
18314 'ModelInfo': {'properties': {'Result': {'$ref': '#/definitions/UndertakerModelInfoResult'}},
18316 'ProcessDyingModel': {'type': 'object'},
18317 'RemoveModel': {'type': 'object'},
18318 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
18319 'Result': {'$ref': '#/definitions/ErrorResults'}},
18321 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
18322 'Result': {'$ref': '#/definitions/ErrorResults'}},
18324 'WatchModelResources': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18325 'type': 'object'}},
18329 @ReturnMapping(ModelConfigResult
)
18330 async def ModelConfig(self
):
18333 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
18335 # map input types to rpc msg
18337 msg
= dict(type='Undertaker', request
='ModelConfig', version
=1, params
=params
)
18339 reply
= await self
.rpc(msg
)
18344 @ReturnMapping(UndertakerModelInfoResult
)
18345 async def ModelInfo(self
):
18348 Returns -> typing.Union[_ForwardRef('Error'), _ForwardRef('UndertakerModelInfo')]
18350 # map input types to rpc msg
18352 msg
= dict(type='Undertaker', request
='ModelInfo', version
=1, params
=params
)
18354 reply
= await self
.rpc(msg
)
18359 @ReturnMapping(None)
18360 async def ProcessDyingModel(self
):
18365 # map input types to rpc msg
18367 msg
= dict(type='Undertaker', request
='ProcessDyingModel', version
=1, params
=params
)
18369 reply
= await self
.rpc(msg
)
18374 @ReturnMapping(None)
18375 async def RemoveModel(self
):
18380 # map input types to rpc msg
18382 msg
= dict(type='Undertaker', request
='RemoveModel', version
=1, params
=params
)
18384 reply
= await self
.rpc(msg
)
18389 @ReturnMapping(ErrorResults
)
18390 async def SetStatus(self
, entities
):
18392 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
18393 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
18395 # map input types to rpc msg
18397 msg
= dict(type='Undertaker', request
='SetStatus', version
=1, params
=params
)
18398 params
['entities'] = entities
18399 reply
= await self
.rpc(msg
)
18404 @ReturnMapping(ErrorResults
)
18405 async def UpdateStatus(self
, entities
):
18407 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
18408 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
18410 # map input types to rpc msg
18412 msg
= dict(type='Undertaker', request
='UpdateStatus', version
=1, params
=params
)
18413 params
['entities'] = entities
18414 reply
= await self
.rpc(msg
)
18419 @ReturnMapping(NotifyWatchResults
)
18420 async def WatchModelResources(self
):
18423 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
18425 # map input types to rpc msg
18427 msg
= dict(type='Undertaker', request
='WatchModelResources', version
=1, params
=params
)
18429 reply
= await self
.rpc(msg
)
18433 class UnitAssignerFacade(Type
):
18434 name
= 'UnitAssigner'
18436 schema
= {'definitions': {'Entities': {'additionalProperties': False,
18437 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
18439 'required': ['entities'],
18441 'Entity': {'additionalProperties': False,
18442 'properties': {'tag': {'type': 'string'}},
18443 'required': ['tag'],
18445 'EntityStatusArgs': {'additionalProperties': False,
18446 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
18447 'type': 'object'}},
18449 'info': {'type': 'string'},
18450 'status': {'type': 'string'},
18451 'tag': {'type': 'string'}},
18452 'required': ['tag',
18457 'Error': {'additionalProperties': False,
18458 'properties': {'code': {'type': 'string'},
18459 'info': {'$ref': '#/definitions/ErrorInfo'},
18460 'message': {'type': 'string'}},
18461 'required': ['message', 'code'],
18463 'ErrorInfo': {'additionalProperties': False,
18464 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
18465 'macaroon-path': {'type': 'string'}},
18467 'ErrorResult': {'additionalProperties': False,
18468 'properties': {'error': {'$ref': '#/definitions/Error'}},
18470 'ErrorResults': {'additionalProperties': False,
18471 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
18473 'required': ['results'],
18475 'Macaroon': {'additionalProperties': False, 'type': 'object'},
18476 'SetStatus': {'additionalProperties': False,
18477 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
18479 'required': ['entities'],
18481 'StringsWatchResult': {'additionalProperties': False,
18482 'properties': {'changes': {'items': {'type': 'string'},
18484 'error': {'$ref': '#/definitions/Error'},
18485 'watcher-id': {'type': 'string'}},
18486 'required': ['watcher-id'],
18487 'type': 'object'}},
18488 'properties': {'AssignUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18489 'Result': {'$ref': '#/definitions/ErrorResults'}},
18491 'SetAgentStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
18492 'Result': {'$ref': '#/definitions/ErrorResults'}},
18494 'WatchUnitAssignments': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
18495 'type': 'object'}},
18499 @ReturnMapping(ErrorResults
)
18500 async def AssignUnits(self
, entities
):
18502 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
18503 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
18505 # map input types to rpc msg
18507 msg
= dict(type='UnitAssigner', request
='AssignUnits', version
=1, params
=params
)
18508 params
['entities'] = entities
18509 reply
= await self
.rpc(msg
)
18514 @ReturnMapping(ErrorResults
)
18515 async def SetAgentStatus(self
, entities
):
18517 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
18518 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
18520 # map input types to rpc msg
18522 msg
= dict(type='UnitAssigner', request
='SetAgentStatus', version
=1, params
=params
)
18523 params
['entities'] = entities
18524 reply
= await self
.rpc(msg
)
18529 @ReturnMapping(StringsWatchResult
)
18530 async def WatchUnitAssignments(self
):
18533 Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')]
18535 # map input types to rpc msg
18537 msg
= dict(type='UnitAssigner', request
='WatchUnitAssignments', version
=1, params
=params
)
18539 reply
= await self
.rpc(msg
)
18543 class UniterFacade(Type
):
18546 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
18547 'properties': {'servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
18550 'required': ['servers'],
18552 'Action': {'additionalProperties': False,
18553 'properties': {'name': {'type': 'string'},
18554 'parameters': {'patternProperties': {'.*': {'additionalProperties': True,
18555 'type': 'object'}},
18557 'receiver': {'type': 'string'},
18558 'tag': {'type': 'string'}},
18559 'required': ['tag', 'receiver', 'name'],
18561 'ActionExecutionResult': {'additionalProperties': False,
18562 'properties': {'action-tag': {'type': 'string'},
18563 'message': {'type': 'string'},
18564 'results': {'patternProperties': {'.*': {'additionalProperties': True,
18565 'type': 'object'}},
18567 'status': {'type': 'string'}},
18568 'required': ['action-tag', 'status'],
18570 'ActionExecutionResults': {'additionalProperties': False,
18571 'properties': {'results': {'items': {'$ref': '#/definitions/ActionExecutionResult'},
18574 'ActionResult': {'additionalProperties': False,
18575 'properties': {'action': {'$ref': '#/definitions/Action'},
18576 'completed': {'format': 'date-time',
18578 'enqueued': {'format': 'date-time',
18580 'error': {'$ref': '#/definitions/Error'},
18581 'message': {'type': 'string'},
18582 'output': {'patternProperties': {'.*': {'additionalProperties': True,
18583 'type': 'object'}},
18585 'started': {'format': 'date-time',
18587 'status': {'type': 'string'}},
18589 'ActionResults': {'additionalProperties': False,
18590 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'},
18593 'Address': {'additionalProperties': False,
18594 'properties': {'scope': {'type': 'string'},
18595 'space-name': {'type': 'string'},
18596 'type': {'type': 'string'},
18597 'value': {'type': 'string'}},
18598 'required': ['value', 'type', 'scope'],
18600 'ApplicationStatusResult': {'additionalProperties': False,
18601 'properties': {'application': {'$ref': '#/definitions/StatusResult'},
18602 'error': {'$ref': '#/definitions/Error'},
18603 'units': {'patternProperties': {'.*': {'$ref': '#/definitions/StatusResult'}},
18604 'type': 'object'}},
18605 'required': ['application',
18608 'ApplicationStatusResults': {'additionalProperties': False,
18609 'properties': {'results': {'items': {'$ref': '#/definitions/ApplicationStatusResult'},
18611 'required': ['results'],
18613 'BoolResult': {'additionalProperties': False,
18614 'properties': {'error': {'$ref': '#/definitions/Error'},
18615 'result': {'type': 'boolean'}},
18616 'required': ['result'],
18618 'BoolResults': {'additionalProperties': False,
18619 'properties': {'results': {'items': {'$ref': '#/definitions/BoolResult'},
18621 'required': ['results'],
18623 'BytesResult': {'additionalProperties': False,
18624 'properties': {'result': {'items': {'type': 'integer'},
18626 'required': ['result'],
18628 'CharmRelation': {'additionalProperties': False,
18629 'properties': {'interface': {'type': 'string'},
18630 'limit': {'type': 'integer'},
18631 'name': {'type': 'string'},
18632 'optional': {'type': 'boolean'},
18633 'role': {'type': 'string'},
18634 'scope': {'type': 'string'}},
18635 'required': ['name',
18642 'CharmURL': {'additionalProperties': False,
18643 'properties': {'url': {'type': 'string'}},
18644 'required': ['url'],
18646 'CharmURLs': {'additionalProperties': False,
18647 'properties': {'urls': {'items': {'$ref': '#/definitions/CharmURL'},
18649 'required': ['urls'],
18651 'ConfigSettingsResult': {'additionalProperties': False,
18652 'properties': {'error': {'$ref': '#/definitions/Error'},
18653 'settings': {'patternProperties': {'.*': {'additionalProperties': True,
18654 'type': 'object'}},
18655 'type': 'object'}},
18656 'required': ['settings'],
18658 'ConfigSettingsResults': {'additionalProperties': False,
18659 'properties': {'results': {'items': {'$ref': '#/definitions/ConfigSettingsResult'},
18661 'required': ['results'],
18663 'Endpoint': {'additionalProperties': False,
18664 'properties': {'application-name': {'type': 'string'},
18665 'relation': {'$ref': '#/definitions/CharmRelation'}},
18666 'required': ['application-name', 'relation'],
18668 'Entities': {'additionalProperties': False,
18669 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
18671 'required': ['entities'],
18673 'EntitiesCharmURL': {'additionalProperties': False,
18674 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityCharmURL'},
18676 'required': ['entities'],
18678 'EntitiesPortRanges': {'additionalProperties': False,
18679 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityPortRange'},
18681 'required': ['entities'],
18683 'Entity': {'additionalProperties': False,
18684 'properties': {'tag': {'type': 'string'}},
18685 'required': ['tag'],
18687 'EntityCharmURL': {'additionalProperties': False,
18688 'properties': {'charm-url': {'type': 'string'},
18689 'tag': {'type': 'string'}},
18690 'required': ['tag', 'charm-url'],
18692 'EntityPortRange': {'additionalProperties': False,
18693 'properties': {'from-port': {'type': 'integer'},
18694 'protocol': {'type': 'string'},
18695 'tag': {'type': 'string'},
18696 'to-port': {'type': 'integer'}},
18697 'required': ['tag',
18702 'EntityStatusArgs': {'additionalProperties': False,
18703 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
18704 'type': 'object'}},
18706 'info': {'type': 'string'},
18707 'status': {'type': 'string'},
18708 'tag': {'type': 'string'}},
18709 'required': ['tag',
18714 'EntityWorkloadVersion': {'additionalProperties': False,
18715 'properties': {'tag': {'type': 'string'},
18716 'workload-version': {'type': 'string'}},
18717 'required': ['tag',
18718 'workload-version'],
18720 'EntityWorkloadVersions': {'additionalProperties': False,
18721 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityWorkloadVersion'},
18723 'required': ['entities'],
18725 'Error': {'additionalProperties': False,
18726 'properties': {'code': {'type': 'string'},
18727 'info': {'$ref': '#/definitions/ErrorInfo'},
18728 'message': {'type': 'string'}},
18729 'required': ['message', 'code'],
18731 'ErrorInfo': {'additionalProperties': False,
18732 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
18733 'macaroon-path': {'type': 'string'}},
18735 'ErrorResult': {'additionalProperties': False,
18736 'properties': {'error': {'$ref': '#/definitions/Error'}},
18738 'ErrorResults': {'additionalProperties': False,
18739 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
18741 'required': ['results'],
18743 'GetLeadershipSettingsBulkResults': {'additionalProperties': False,
18744 'properties': {'results': {'items': {'$ref': '#/definitions/GetLeadershipSettingsResult'},
18746 'required': ['results'],
18748 'GetLeadershipSettingsResult': {'additionalProperties': False,
18749 'properties': {'error': {'$ref': '#/definitions/Error'},
18750 'settings': {'patternProperties': {'.*': {'type': 'string'}},
18751 'type': 'object'}},
18752 'required': ['settings'],
18754 'HostPort': {'additionalProperties': False,
18755 'properties': {'Address': {'$ref': '#/definitions/Address'},
18756 'port': {'type': 'integer'}},
18757 'required': ['Address', 'port'],
18759 'IntResult': {'additionalProperties': False,
18760 'properties': {'error': {'$ref': '#/definitions/Error'},
18761 'result': {'type': 'integer'}},
18762 'required': ['result'],
18764 'IntResults': {'additionalProperties': False,
18765 'properties': {'results': {'items': {'$ref': '#/definitions/IntResult'},
18767 'required': ['results'],
18769 'LifeResult': {'additionalProperties': False,
18770 'properties': {'error': {'$ref': '#/definitions/Error'},
18771 'life': {'type': 'string'}},
18772 'required': ['life'],
18774 'LifeResults': {'additionalProperties': False,
18775 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
18777 'required': ['results'],
18779 'Macaroon': {'additionalProperties': False, 'type': 'object'},
18780 'MachinePortRange': {'additionalProperties': False,
18781 'properties': {'port-range': {'$ref': '#/definitions/PortRange'},
18782 'relation-tag': {'type': 'string'},
18783 'unit-tag': {'type': 'string'}},
18784 'required': ['unit-tag',
18788 'MachinePortsResult': {'additionalProperties': False,
18789 'properties': {'error': {'$ref': '#/definitions/Error'},
18790 'ports': {'items': {'$ref': '#/definitions/MachinePortRange'},
18792 'required': ['ports'],
18794 'MachinePortsResults': {'additionalProperties': False,
18795 'properties': {'results': {'items': {'$ref': '#/definitions/MachinePortsResult'},
18797 'required': ['results'],
18799 'MergeLeadershipSettingsBulkParams': {'additionalProperties': False,
18800 'properties': {'params': {'items': {'$ref': '#/definitions/MergeLeadershipSettingsParam'},
18802 'required': ['params'],
18804 'MergeLeadershipSettingsParam': {'additionalProperties': False,
18805 'properties': {'application-tag': {'type': 'string'},
18806 'settings': {'patternProperties': {'.*': {'type': 'string'}},
18807 'type': 'object'}},
18808 'required': ['application-tag',
18811 'MeterStatusResult': {'additionalProperties': False,
18812 'properties': {'code': {'type': 'string'},
18813 'error': {'$ref': '#/definitions/Error'},
18814 'info': {'type': 'string'}},
18815 'required': ['code', 'info'],
18817 'MeterStatusResults': {'additionalProperties': False,
18818 'properties': {'results': {'items': {'$ref': '#/definitions/MeterStatusResult'},
18820 'required': ['results'],
18822 'Metric': {'additionalProperties': False,
18823 'properties': {'key': {'type': 'string'},
18824 'time': {'format': 'date-time',
18826 'value': {'type': 'string'}},
18827 'required': ['key', 'value', 'time'],
18829 'MetricBatch': {'additionalProperties': False,
18830 'properties': {'charm-url': {'type': 'string'},
18831 'created': {'format': 'date-time',
18833 'metrics': {'items': {'$ref': '#/definitions/Metric'},
18835 'uuid': {'type': 'string'}},
18836 'required': ['uuid',
18841 'MetricBatchParam': {'additionalProperties': False,
18842 'properties': {'batch': {'$ref': '#/definitions/MetricBatch'},
18843 'tag': {'type': 'string'}},
18844 'required': ['tag', 'batch'],
18846 'MetricBatchParams': {'additionalProperties': False,
18847 'properties': {'batches': {'items': {'$ref': '#/definitions/MetricBatchParam'},
18849 'required': ['batches'],
18851 'ModelConfigResult': {'additionalProperties': False,
18852 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
18853 'type': 'object'}},
18854 'type': 'object'}},
18855 'required': ['config'],
18857 'ModelResult': {'additionalProperties': False,
18858 'properties': {'error': {'$ref': '#/definitions/Error'},
18859 'name': {'type': 'string'},
18860 'uuid': {'type': 'string'}},
18861 'required': ['name', 'uuid'],
18863 'NetworkConfig': {'additionalProperties': False,
18864 'properties': {'address': {'type': 'string'},
18865 'cidr': {'type': 'string'},
18866 'config-type': {'type': 'string'},
18867 'device-index': {'type': 'integer'},
18868 'disabled': {'type': 'boolean'},
18869 'dns-search-domains': {'items': {'type': 'string'},
18871 'dns-servers': {'items': {'type': 'string'},
18873 'gateway-address': {'type': 'string'},
18874 'interface-name': {'type': 'string'},
18875 'interface-type': {'type': 'string'},
18876 'mac-address': {'type': 'string'},
18877 'mtu': {'type': 'integer'},
18878 'no-auto-start': {'type': 'boolean'},
18879 'parent-interface-name': {'type': 'string'},
18880 'provider-address-id': {'type': 'string'},
18881 'provider-id': {'type': 'string'},
18882 'provider-space-id': {'type': 'string'},
18883 'provider-subnet-id': {'type': 'string'},
18884 'provider-vlan-id': {'type': 'string'},
18885 'vlan-tag': {'type': 'integer'}},
18886 'required': ['device-index',
18891 'provider-subnet-id',
18892 'provider-space-id',
18893 'provider-address-id',
18894 'provider-vlan-id',
18897 'parent-interface-name',
18901 'NotifyWatchResult': {'additionalProperties': False,
18902 'properties': {'NotifyWatcherId': {'type': 'string'},
18903 'error': {'$ref': '#/definitions/Error'}},
18904 'required': ['NotifyWatcherId'],
18906 'NotifyWatchResults': {'additionalProperties': False,
18907 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
18909 'required': ['results'],
18911 'PortRange': {'additionalProperties': False,
18912 'properties': {'from-port': {'type': 'integer'},
18913 'protocol': {'type': 'string'},
18914 'to-port': {'type': 'integer'}},
18915 'required': ['from-port', 'to-port', 'protocol'],
18917 'RelationIds': {'additionalProperties': False,
18918 'properties': {'relation-ids': {'items': {'type': 'integer'},
18920 'required': ['relation-ids'],
18922 'RelationResult': {'additionalProperties': False,
18923 'properties': {'endpoint': {'$ref': '#/definitions/Endpoint'},
18924 'error': {'$ref': '#/definitions/Error'},
18925 'id': {'type': 'integer'},
18926 'key': {'type': 'string'},
18927 'life': {'type': 'string'}},
18928 'required': ['life',
18933 'RelationResults': {'additionalProperties': False,
18934 'properties': {'results': {'items': {'$ref': '#/definitions/RelationResult'},
18936 'required': ['results'],
18938 'RelationUnit': {'additionalProperties': False,
18939 'properties': {'relation': {'type': 'string'},
18940 'unit': {'type': 'string'}},
18941 'required': ['relation', 'unit'],
18943 'RelationUnitPair': {'additionalProperties': False,
18944 'properties': {'local-unit': {'type': 'string'},
18945 'relation': {'type': 'string'},
18946 'remote-unit': {'type': 'string'}},
18947 'required': ['relation',
18951 'RelationUnitPairs': {'additionalProperties': False,
18952 'properties': {'relation-unit-pairs': {'items': {'$ref': '#/definitions/RelationUnitPair'},
18954 'required': ['relation-unit-pairs'],
18956 'RelationUnitSettings': {'additionalProperties': False,
18957 'properties': {'relation': {'type': 'string'},
18958 'settings': {'patternProperties': {'.*': {'type': 'string'}},
18960 'unit': {'type': 'string'}},
18961 'required': ['relation',
18965 'RelationUnits': {'additionalProperties': False,
18966 'properties': {'relation-units': {'items': {'$ref': '#/definitions/RelationUnit'},
18968 'required': ['relation-units'],
18970 'RelationUnitsChange': {'additionalProperties': False,
18971 'properties': {'changed': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitSettings'}},
18973 'departed': {'items': {'type': 'string'},
18975 'required': ['changed'],
18977 'RelationUnitsSettings': {'additionalProperties': False,
18978 'properties': {'relation-units': {'items': {'$ref': '#/definitions/RelationUnitSettings'},
18980 'required': ['relation-units'],
18982 'RelationUnitsWatchResult': {'additionalProperties': False,
18983 'properties': {'changes': {'$ref': '#/definitions/RelationUnitsChange'},
18984 'error': {'$ref': '#/definitions/Error'},
18985 'watcher-id': {'type': 'string'}},
18986 'required': ['watcher-id',
18989 'RelationUnitsWatchResults': {'additionalProperties': False,
18990 'properties': {'results': {'items': {'$ref': '#/definitions/RelationUnitsWatchResult'},
18992 'required': ['results'],
18994 'ResolvedModeResult': {'additionalProperties': False,
18995 'properties': {'error': {'$ref': '#/definitions/Error'},
18996 'mode': {'type': 'string'}},
18997 'required': ['mode'],
18999 'ResolvedModeResults': {'additionalProperties': False,
19000 'properties': {'results': {'items': {'$ref': '#/definitions/ResolvedModeResult'},
19002 'required': ['results'],
19004 'SetStatus': {'additionalProperties': False,
19005 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
19007 'required': ['entities'],
19009 'SettingsResult': {'additionalProperties': False,
19010 'properties': {'error': {'$ref': '#/definitions/Error'},
19011 'settings': {'patternProperties': {'.*': {'type': 'string'}},
19012 'type': 'object'}},
19013 'required': ['settings'],
19015 'SettingsResults': {'additionalProperties': False,
19016 'properties': {'results': {'items': {'$ref': '#/definitions/SettingsResult'},
19018 'required': ['results'],
19020 'StatusResult': {'additionalProperties': False,
19021 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
19022 'type': 'object'}},
19024 'error': {'$ref': '#/definitions/Error'},
19025 'id': {'type': 'string'},
19026 'info': {'type': 'string'},
19027 'life': {'type': 'string'},
19028 'since': {'format': 'date-time',
19030 'status': {'type': 'string'}},
19038 'StatusResults': {'additionalProperties': False,
19039 'properties': {'results': {'items': {'$ref': '#/definitions/StatusResult'},
19041 'required': ['results'],
19043 'StorageAddParams': {'additionalProperties': False,
19044 'properties': {'name': {'type': 'string'},
19045 'storage': {'$ref': '#/definitions/StorageConstraints'},
19046 'unit': {'type': 'string'}},
19047 'required': ['unit', 'name', 'storage'],
19049 'StorageAttachment': {'additionalProperties': False,
19050 'properties': {'kind': {'type': 'integer'},
19051 'life': {'type': 'string'},
19052 'location': {'type': 'string'},
19053 'owner-tag': {'type': 'string'},
19054 'storage-tag': {'type': 'string'},
19055 'unit-tag': {'type': 'string'}},
19056 'required': ['storage-tag',
19063 'StorageAttachmentId': {'additionalProperties': False,
19064 'properties': {'storage-tag': {'type': 'string'},
19065 'unit-tag': {'type': 'string'}},
19066 'required': ['storage-tag',
19069 'StorageAttachmentIds': {'additionalProperties': False,
19070 'properties': {'ids': {'items': {'$ref': '#/definitions/StorageAttachmentId'},
19072 'required': ['ids'],
19074 'StorageAttachmentIdsResult': {'additionalProperties': False,
19075 'properties': {'error': {'$ref': '#/definitions/Error'},
19076 'result': {'$ref': '#/definitions/StorageAttachmentIds'}},
19077 'required': ['result'],
19079 'StorageAttachmentIdsResults': {'additionalProperties': False,
19080 'properties': {'results': {'items': {'$ref': '#/definitions/StorageAttachmentIdsResult'},
19083 'StorageAttachmentResult': {'additionalProperties': False,
19084 'properties': {'error': {'$ref': '#/definitions/Error'},
19085 'result': {'$ref': '#/definitions/StorageAttachment'}},
19086 'required': ['result'],
19088 'StorageAttachmentResults': {'additionalProperties': False,
19089 'properties': {'results': {'items': {'$ref': '#/definitions/StorageAttachmentResult'},
19092 'StorageConstraints': {'additionalProperties': False,
19093 'properties': {'count': {'type': 'integer'},
19094 'pool': {'type': 'string'},
19095 'size': {'type': 'integer'}},
19097 'StoragesAddParams': {'additionalProperties': False,
19098 'properties': {'storages': {'items': {'$ref': '#/definitions/StorageAddParams'},
19100 'required': ['storages'],
19102 'StringBoolResult': {'additionalProperties': False,
19103 'properties': {'error': {'$ref': '#/definitions/Error'},
19104 'ok': {'type': 'boolean'},
19105 'result': {'type': 'string'}},
19106 'required': ['result', 'ok'],
19108 'StringBoolResults': {'additionalProperties': False,
19109 'properties': {'results': {'items': {'$ref': '#/definitions/StringBoolResult'},
19111 'required': ['results'],
19113 'StringResult': {'additionalProperties': False,
19114 'properties': {'error': {'$ref': '#/definitions/Error'},
19115 'result': {'type': 'string'}},
19116 'required': ['result'],
19118 'StringResults': {'additionalProperties': False,
19119 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
19121 'required': ['results'],
19123 'StringsResult': {'additionalProperties': False,
19124 'properties': {'error': {'$ref': '#/definitions/Error'},
19125 'result': {'items': {'type': 'string'},
19128 'StringsResults': {'additionalProperties': False,
19129 'properties': {'results': {'items': {'$ref': '#/definitions/StringsResult'},
19131 'required': ['results'],
19133 'StringsWatchResult': {'additionalProperties': False,
19134 'properties': {'changes': {'items': {'type': 'string'},
19136 'error': {'$ref': '#/definitions/Error'},
19137 'watcher-id': {'type': 'string'}},
19138 'required': ['watcher-id'],
19140 'StringsWatchResults': {'additionalProperties': False,
19141 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
19143 'required': ['results'],
19145 'UnitNetworkConfig': {'additionalProperties': False,
19146 'properties': {'binding-name': {'type': 'string'},
19147 'unit-tag': {'type': 'string'}},
19148 'required': ['unit-tag', 'binding-name'],
19150 'UnitNetworkConfigResult': {'additionalProperties': False,
19151 'properties': {'error': {'$ref': '#/definitions/Error'},
19152 'info': {'items': {'$ref': '#/definitions/NetworkConfig'},
19154 'required': ['info'],
19156 'UnitNetworkConfigResults': {'additionalProperties': False,
19157 'properties': {'results': {'items': {'$ref': '#/definitions/UnitNetworkConfigResult'},
19159 'required': ['results'],
19161 'UnitSettings': {'additionalProperties': False,
19162 'properties': {'version': {'type': 'integer'}},
19163 'required': ['version'],
19165 'UnitsNetworkConfig': {'additionalProperties': False,
19166 'properties': {'args': {'items': {'$ref': '#/definitions/UnitNetworkConfig'},
19168 'required': ['args'],
19169 'type': 'object'}},
19170 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
19172 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
19174 'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19175 'Result': {'$ref': '#/definitions/ActionResults'}},
19177 'AddMetricBatches': {'properties': {'Params': {'$ref': '#/definitions/MetricBatchParams'},
19178 'Result': {'$ref': '#/definitions/ErrorResults'}},
19180 'AddUnitStorage': {'properties': {'Params': {'$ref': '#/definitions/StoragesAddParams'},
19181 'Result': {'$ref': '#/definitions/ErrorResults'}},
19183 'AllMachinePorts': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19184 'Result': {'$ref': '#/definitions/MachinePortsResults'}},
19186 'ApplicationStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19187 'Result': {'$ref': '#/definitions/ApplicationStatusResults'}},
19189 'AssignedMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19190 'Result': {'$ref': '#/definitions/StringResults'}},
19192 'AvailabilityZone': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19193 'Result': {'$ref': '#/definitions/StringResults'}},
19195 'BeginActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19196 'Result': {'$ref': '#/definitions/ErrorResults'}},
19198 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
19200 'CharmArchiveSha256': {'properties': {'Params': {'$ref': '#/definitions/CharmURLs'},
19201 'Result': {'$ref': '#/definitions/StringResults'}},
19203 'CharmModifiedVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19204 'Result': {'$ref': '#/definitions/IntResults'}},
19206 'CharmURL': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19207 'Result': {'$ref': '#/definitions/StringBoolResults'}},
19209 'ClearResolved': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19210 'Result': {'$ref': '#/definitions/ErrorResults'}},
19212 'ClosePorts': {'properties': {'Params': {'$ref': '#/definitions/EntitiesPortRanges'},
19213 'Result': {'$ref': '#/definitions/ErrorResults'}},
19215 'ConfigSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19216 'Result': {'$ref': '#/definitions/ConfigSettingsResults'}},
19218 'CurrentModel': {'properties': {'Result': {'$ref': '#/definitions/ModelResult'}},
19220 'Destroy': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19221 'Result': {'$ref': '#/definitions/ErrorResults'}},
19223 'DestroyAllSubordinates': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19224 'Result': {'$ref': '#/definitions/ErrorResults'}},
19226 'DestroyUnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19227 'Result': {'$ref': '#/definitions/ErrorResults'}},
19229 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19230 'Result': {'$ref': '#/definitions/ErrorResults'}},
19232 'EnterScope': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
19233 'Result': {'$ref': '#/definitions/ErrorResults'}},
19235 'FinishActions': {'properties': {'Params': {'$ref': '#/definitions/ActionExecutionResults'},
19236 'Result': {'$ref': '#/definitions/ErrorResults'}},
19238 'GetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19239 'Result': {'$ref': '#/definitions/MeterStatusResults'}},
19241 'GetPrincipal': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19242 'Result': {'$ref': '#/definitions/StringBoolResults'}},
19244 'HasSubordinates': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19245 'Result': {'$ref': '#/definitions/BoolResults'}},
19247 'JoinedRelations': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19248 'Result': {'$ref': '#/definitions/StringsResults'}},
19250 'LeaveScope': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
19251 'Result': {'$ref': '#/definitions/ErrorResults'}},
19253 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19254 'Result': {'$ref': '#/definitions/LifeResults'}},
19256 'Merge': {'properties': {'Params': {'$ref': '#/definitions/MergeLeadershipSettingsBulkParams'},
19257 'Result': {'$ref': '#/definitions/ErrorResults'}},
19259 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
19261 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
19263 'NetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/UnitsNetworkConfig'},
19264 'Result': {'$ref': '#/definitions/UnitNetworkConfigResults'}},
19266 'OpenPorts': {'properties': {'Params': {'$ref': '#/definitions/EntitiesPortRanges'},
19267 'Result': {'$ref': '#/definitions/ErrorResults'}},
19269 'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19270 'Result': {'$ref': '#/definitions/StringResults'}},
19272 'ProviderType': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
19274 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19275 'Result': {'$ref': '#/definitions/StringResults'}},
19277 'Read': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19278 'Result': {'$ref': '#/definitions/GetLeadershipSettingsBulkResults'}},
19280 'ReadRemoteSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnitPairs'},
19281 'Result': {'$ref': '#/definitions/SettingsResults'}},
19283 'ReadSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
19284 'Result': {'$ref': '#/definitions/SettingsResults'}},
19286 'Relation': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
19287 'Result': {'$ref': '#/definitions/RelationResults'}},
19289 'RelationById': {'properties': {'Params': {'$ref': '#/definitions/RelationIds'},
19290 'Result': {'$ref': '#/definitions/RelationResults'}},
19292 'RemoveStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
19293 'Result': {'$ref': '#/definitions/ErrorResults'}},
19295 'RequestReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19296 'Result': {'$ref': '#/definitions/ErrorResults'}},
19298 'Resolved': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19299 'Result': {'$ref': '#/definitions/ResolvedModeResults'}},
19301 'SetAgentStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
19302 'Result': {'$ref': '#/definitions/ErrorResults'}},
19304 'SetApplicationStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
19305 'Result': {'$ref': '#/definitions/ErrorResults'}},
19307 'SetCharmURL': {'properties': {'Params': {'$ref': '#/definitions/EntitiesCharmURL'},
19308 'Result': {'$ref': '#/definitions/ErrorResults'}},
19310 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
19311 'Result': {'$ref': '#/definitions/ErrorResults'}},
19313 'SetUnitStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
19314 'Result': {'$ref': '#/definitions/ErrorResults'}},
19316 'SetWorkloadVersion': {'properties': {'Params': {'$ref': '#/definitions/EntityWorkloadVersions'},
19317 'Result': {'$ref': '#/definitions/ErrorResults'}},
19319 'StorageAttachmentLife': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
19320 'Result': {'$ref': '#/definitions/LifeResults'}},
19322 'StorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
19323 'Result': {'$ref': '#/definitions/StorageAttachmentResults'}},
19325 'UnitStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19326 'Result': {'$ref': '#/definitions/StatusResults'}},
19328 'UnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19329 'Result': {'$ref': '#/definitions/StorageAttachmentIdsResults'}},
19331 'UpdateSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnitsSettings'},
19332 'Result': {'$ref': '#/definitions/ErrorResults'}},
19334 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19335 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
19337 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
19339 'WatchActionNotifications': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19340 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
19342 'WatchApplicationRelations': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19343 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
19345 'WatchConfigSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19346 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
19348 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
19350 'WatchLeadershipSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19351 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
19353 'WatchMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19354 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
19356 'WatchRelationUnits': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
19357 'Result': {'$ref': '#/definitions/RelationUnitsWatchResults'}},
19359 'WatchStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
19360 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
19362 'WatchUnitAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19363 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
19365 'WatchUnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19366 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
19368 'WorkloadVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19369 'Result': {'$ref': '#/definitions/StringResults'}},
19370 'type': 'object'}},
19374 @ReturnMapping(StringsResult
)
19375 async def APIAddresses(self
):
19378 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[str]]
19380 # map input types to rpc msg
19382 msg
= dict(type='Uniter', request
='APIAddresses', version
=4, params
=params
)
19384 reply
= await self
.rpc(msg
)
19389 @ReturnMapping(APIHostPortsResult
)
19390 async def APIHostPorts(self
):
19393 Returns -> typing.Sequence<+T_co>[~HostPort]<~HostPort>
19395 # map input types to rpc msg
19397 msg
= dict(type='Uniter', request
='APIHostPorts', version
=4, params
=params
)
19399 reply
= await self
.rpc(msg
)
19404 @ReturnMapping(ActionResults
)
19405 async def Actions(self
, entities
):
19407 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19408 Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
19410 # map input types to rpc msg
19412 msg
= dict(type='Uniter', request
='Actions', version
=4, params
=params
)
19413 params
['entities'] = entities
19414 reply
= await self
.rpc(msg
)
19419 @ReturnMapping(ErrorResults
)
19420 async def AddMetricBatches(self
, batches
):
19422 batches : typing.Sequence<+T_co>[~MetricBatchParam]<~MetricBatchParam>
19423 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19425 # map input types to rpc msg
19427 msg
= dict(type='Uniter', request
='AddMetricBatches', version
=4, params
=params
)
19428 params
['batches'] = batches
19429 reply
= await self
.rpc(msg
)
19434 @ReturnMapping(ErrorResults
)
19435 async def AddUnitStorage(self
, storages
):
19437 storages : typing.Sequence<+T_co>[~StorageAddParams]<~StorageAddParams>
19438 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19440 # map input types to rpc msg
19442 msg
= dict(type='Uniter', request
='AddUnitStorage', version
=4, params
=params
)
19443 params
['storages'] = storages
19444 reply
= await self
.rpc(msg
)
19449 @ReturnMapping(MachinePortsResults
)
19450 async def AllMachinePorts(self
, entities
):
19452 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19453 Returns -> typing.Sequence<+T_co>[~MachinePortsResult]<~MachinePortsResult>
19455 # map input types to rpc msg
19457 msg
= dict(type='Uniter', request
='AllMachinePorts', version
=4, params
=params
)
19458 params
['entities'] = entities
19459 reply
= await self
.rpc(msg
)
19464 @ReturnMapping(ApplicationStatusResults
)
19465 async def ApplicationStatus(self
, entities
):
19467 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19468 Returns -> typing.Sequence<+T_co>[~ApplicationStatusResult]<~ApplicationStatusResult>
19470 # map input types to rpc msg
19472 msg
= dict(type='Uniter', request
='ApplicationStatus', version
=4, params
=params
)
19473 params
['entities'] = entities
19474 reply
= await self
.rpc(msg
)
19479 @ReturnMapping(StringResults
)
19480 async def AssignedMachine(self
, entities
):
19482 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19483 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
19485 # map input types to rpc msg
19487 msg
= dict(type='Uniter', request
='AssignedMachine', version
=4, params
=params
)
19488 params
['entities'] = entities
19489 reply
= await self
.rpc(msg
)
19494 @ReturnMapping(StringResults
)
19495 async def AvailabilityZone(self
, entities
):
19497 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19498 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
19500 # map input types to rpc msg
19502 msg
= dict(type='Uniter', request
='AvailabilityZone', version
=4, params
=params
)
19503 params
['entities'] = entities
19504 reply
= await self
.rpc(msg
)
19509 @ReturnMapping(ErrorResults
)
19510 async def BeginActions(self
, entities
):
19512 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19513 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19515 # map input types to rpc msg
19517 msg
= dict(type='Uniter', request
='BeginActions', version
=4, params
=params
)
19518 params
['entities'] = entities
19519 reply
= await self
.rpc(msg
)
19524 @ReturnMapping(BytesResult
)
19525 async def CACert(self
):
19528 Returns -> typing.Sequence<+T_co>[int]
19530 # map input types to rpc msg
19532 msg
= dict(type='Uniter', request
='CACert', version
=4, params
=params
)
19534 reply
= await self
.rpc(msg
)
19539 @ReturnMapping(StringResults
)
19540 async def CharmArchiveSha256(self
, urls
):
19542 urls : typing.Sequence<+T_co>[~CharmURL]<~CharmURL>
19543 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
19545 # map input types to rpc msg
19547 msg
= dict(type='Uniter', request
='CharmArchiveSha256', version
=4, params
=params
)
19548 params
['urls'] = urls
19549 reply
= await self
.rpc(msg
)
19554 @ReturnMapping(IntResults
)
19555 async def CharmModifiedVersion(self
, entities
):
19557 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19558 Returns -> typing.Sequence<+T_co>[~IntResult]<~IntResult>
19560 # map input types to rpc msg
19562 msg
= dict(type='Uniter', request
='CharmModifiedVersion', version
=4, params
=params
)
19563 params
['entities'] = entities
19564 reply
= await self
.rpc(msg
)
19569 @ReturnMapping(StringBoolResults
)
19570 async def CharmURL(self
, entities
):
19572 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19573 Returns -> typing.Sequence<+T_co>[~StringBoolResult]<~StringBoolResult>
19575 # map input types to rpc msg
19577 msg
= dict(type='Uniter', request
='CharmURL', version
=4, params
=params
)
19578 params
['entities'] = entities
19579 reply
= await self
.rpc(msg
)
19584 @ReturnMapping(ErrorResults
)
19585 async def ClearResolved(self
, entities
):
19587 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19588 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19590 # map input types to rpc msg
19592 msg
= dict(type='Uniter', request
='ClearResolved', version
=4, params
=params
)
19593 params
['entities'] = entities
19594 reply
= await self
.rpc(msg
)
19599 @ReturnMapping(ErrorResults
)
19600 async def ClosePorts(self
, entities
):
19602 entities : typing.Sequence<+T_co>[~EntityPortRange]<~EntityPortRange>
19603 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19605 # map input types to rpc msg
19607 msg
= dict(type='Uniter', request
='ClosePorts', version
=4, params
=params
)
19608 params
['entities'] = entities
19609 reply
= await self
.rpc(msg
)
19614 @ReturnMapping(ConfigSettingsResults
)
19615 async def ConfigSettings(self
, entities
):
19617 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19618 Returns -> typing.Sequence<+T_co>[~ConfigSettingsResult]<~ConfigSettingsResult>
19620 # map input types to rpc msg
19622 msg
= dict(type='Uniter', request
='ConfigSettings', version
=4, params
=params
)
19623 params
['entities'] = entities
19624 reply
= await self
.rpc(msg
)
19629 @ReturnMapping(ModelResult
)
19630 async def CurrentModel(self
):
19633 Returns -> typing.Union[_ForwardRef('Error'), str]
19635 # map input types to rpc msg
19637 msg
= dict(type='Uniter', request
='CurrentModel', version
=4, params
=params
)
19639 reply
= await self
.rpc(msg
)
19644 @ReturnMapping(ErrorResults
)
19645 async def Destroy(self
, entities
):
19647 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19648 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19650 # map input types to rpc msg
19652 msg
= dict(type='Uniter', request
='Destroy', version
=4, params
=params
)
19653 params
['entities'] = entities
19654 reply
= await self
.rpc(msg
)
19659 @ReturnMapping(ErrorResults
)
19660 async def DestroyAllSubordinates(self
, entities
):
19662 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19663 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19665 # map input types to rpc msg
19667 msg
= dict(type='Uniter', request
='DestroyAllSubordinates', version
=4, params
=params
)
19668 params
['entities'] = entities
19669 reply
= await self
.rpc(msg
)
19674 @ReturnMapping(ErrorResults
)
19675 async def DestroyUnitStorageAttachments(self
, entities
):
19677 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19678 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19680 # map input types to rpc msg
19682 msg
= dict(type='Uniter', request
='DestroyUnitStorageAttachments', version
=4, params
=params
)
19683 params
['entities'] = entities
19684 reply
= await self
.rpc(msg
)
19689 @ReturnMapping(ErrorResults
)
19690 async def EnsureDead(self
, entities
):
19692 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19693 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19695 # map input types to rpc msg
19697 msg
= dict(type='Uniter', request
='EnsureDead', version
=4, params
=params
)
19698 params
['entities'] = entities
19699 reply
= await self
.rpc(msg
)
19704 @ReturnMapping(ErrorResults
)
19705 async def EnterScope(self
, relation_units
):
19707 relation_units : typing.Sequence<+T_co>[~RelationUnit]<~RelationUnit>
19708 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19710 # map input types to rpc msg
19712 msg
= dict(type='Uniter', request
='EnterScope', version
=4, params
=params
)
19713 params
['relation-units'] = relation_units
19714 reply
= await self
.rpc(msg
)
19719 @ReturnMapping(ErrorResults
)
19720 async def FinishActions(self
, results
):
19722 results : typing.Sequence<+T_co>[~ActionExecutionResult]<~ActionExecutionResult>
19723 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19725 # map input types to rpc msg
19727 msg
= dict(type='Uniter', request
='FinishActions', version
=4, params
=params
)
19728 params
['results'] = results
19729 reply
= await self
.rpc(msg
)
19734 @ReturnMapping(MeterStatusResults
)
19735 async def GetMeterStatus(self
, entities
):
19737 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19738 Returns -> typing.Sequence<+T_co>[~MeterStatusResult]<~MeterStatusResult>
19740 # map input types to rpc msg
19742 msg
= dict(type='Uniter', request
='GetMeterStatus', version
=4, params
=params
)
19743 params
['entities'] = entities
19744 reply
= await self
.rpc(msg
)
19749 @ReturnMapping(StringBoolResults
)
19750 async def GetPrincipal(self
, entities
):
19752 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19753 Returns -> typing.Sequence<+T_co>[~StringBoolResult]<~StringBoolResult>
19755 # map input types to rpc msg
19757 msg
= dict(type='Uniter', request
='GetPrincipal', version
=4, params
=params
)
19758 params
['entities'] = entities
19759 reply
= await self
.rpc(msg
)
19764 @ReturnMapping(BoolResults
)
19765 async def HasSubordinates(self
, entities
):
19767 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19768 Returns -> typing.Sequence<+T_co>[~BoolResult]<~BoolResult>
19770 # map input types to rpc msg
19772 msg
= dict(type='Uniter', request
='HasSubordinates', version
=4, params
=params
)
19773 params
['entities'] = entities
19774 reply
= await self
.rpc(msg
)
19779 @ReturnMapping(StringsResults
)
19780 async def JoinedRelations(self
, entities
):
19782 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19783 Returns -> typing.Sequence<+T_co>[~StringsResult]<~StringsResult>
19785 # map input types to rpc msg
19787 msg
= dict(type='Uniter', request
='JoinedRelations', version
=4, params
=params
)
19788 params
['entities'] = entities
19789 reply
= await self
.rpc(msg
)
19794 @ReturnMapping(ErrorResults
)
19795 async def LeaveScope(self
, relation_units
):
19797 relation_units : typing.Sequence<+T_co>[~RelationUnit]<~RelationUnit>
19798 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19800 # map input types to rpc msg
19802 msg
= dict(type='Uniter', request
='LeaveScope', version
=4, params
=params
)
19803 params
['relation-units'] = relation_units
19804 reply
= await self
.rpc(msg
)
19809 @ReturnMapping(LifeResults
)
19810 async def Life(self
, entities
):
19812 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19813 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
19815 # map input types to rpc msg
19817 msg
= dict(type='Uniter', request
='Life', version
=4, params
=params
)
19818 params
['entities'] = entities
19819 reply
= await self
.rpc(msg
)
19824 @ReturnMapping(ErrorResults
)
19825 async def Merge(self
, params
):
19827 params : typing.Sequence<+T_co>[~MergeLeadershipSettingsParam]<~MergeLeadershipSettingsParam>
19828 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19830 # map input types to rpc msg
19832 msg
= dict(type='Uniter', request
='Merge', version
=4, params
=params
)
19833 params
['params'] = params
19834 reply
= await self
.rpc(msg
)
19839 @ReturnMapping(ModelConfigResult
)
19840 async def ModelConfig(self
):
19843 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
19845 # map input types to rpc msg
19847 msg
= dict(type='Uniter', request
='ModelConfig', version
=4, params
=params
)
19849 reply
= await self
.rpc(msg
)
19854 @ReturnMapping(StringResult
)
19855 async def ModelUUID(self
):
19858 Returns -> typing.Union[_ForwardRef('Error'), str]
19860 # map input types to rpc msg
19862 msg
= dict(type='Uniter', request
='ModelUUID', version
=4, params
=params
)
19864 reply
= await self
.rpc(msg
)
19869 @ReturnMapping(UnitNetworkConfigResults
)
19870 async def NetworkConfig(self
, args
):
19872 args : typing.Sequence<+T_co>[~UnitNetworkConfig]<~UnitNetworkConfig>
19873 Returns -> typing.Sequence<+T_co>[~UnitNetworkConfigResult]<~UnitNetworkConfigResult>
19875 # map input types to rpc msg
19877 msg
= dict(type='Uniter', request
='NetworkConfig', version
=4, params
=params
)
19878 params
['args'] = args
19879 reply
= await self
.rpc(msg
)
19884 @ReturnMapping(ErrorResults
)
19885 async def OpenPorts(self
, entities
):
19887 entities : typing.Sequence<+T_co>[~EntityPortRange]<~EntityPortRange>
19888 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19890 # map input types to rpc msg
19892 msg
= dict(type='Uniter', request
='OpenPorts', version
=4, params
=params
)
19893 params
['entities'] = entities
19894 reply
= await self
.rpc(msg
)
19899 @ReturnMapping(StringResults
)
19900 async def PrivateAddress(self
, entities
):
19902 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19903 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
19905 # map input types to rpc msg
19907 msg
= dict(type='Uniter', request
='PrivateAddress', version
=4, params
=params
)
19908 params
['entities'] = entities
19909 reply
= await self
.rpc(msg
)
19914 @ReturnMapping(StringResult
)
19915 async def ProviderType(self
):
19918 Returns -> typing.Union[_ForwardRef('Error'), str]
19920 # map input types to rpc msg
19922 msg
= dict(type='Uniter', request
='ProviderType', version
=4, params
=params
)
19924 reply
= await self
.rpc(msg
)
19929 @ReturnMapping(StringResults
)
19930 async def PublicAddress(self
, entities
):
19932 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19933 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
19935 # map input types to rpc msg
19937 msg
= dict(type='Uniter', request
='PublicAddress', version
=4, params
=params
)
19938 params
['entities'] = entities
19939 reply
= await self
.rpc(msg
)
19944 @ReturnMapping(GetLeadershipSettingsBulkResults
)
19945 async def Read(self
, entities
):
19947 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19948 Returns -> typing.Sequence<+T_co>[~GetLeadershipSettingsResult]<~GetLeadershipSettingsResult>
19950 # map input types to rpc msg
19952 msg
= dict(type='Uniter', request
='Read', version
=4, params
=params
)
19953 params
['entities'] = entities
19954 reply
= await self
.rpc(msg
)
19959 @ReturnMapping(SettingsResults
)
19960 async def ReadRemoteSettings(self
, relation_unit_pairs
):
19962 relation_unit_pairs : typing.Sequence<+T_co>[~RelationUnitPair]<~RelationUnitPair>
19963 Returns -> typing.Sequence<+T_co>[~SettingsResult]<~SettingsResult>
19965 # map input types to rpc msg
19967 msg
= dict(type='Uniter', request
='ReadRemoteSettings', version
=4, params
=params
)
19968 params
['relation-unit-pairs'] = relation_unit_pairs
19969 reply
= await self
.rpc(msg
)
19974 @ReturnMapping(SettingsResults
)
19975 async def ReadSettings(self
, relation_units
):
19977 relation_units : typing.Sequence<+T_co>[~RelationUnit]<~RelationUnit>
19978 Returns -> typing.Sequence<+T_co>[~SettingsResult]<~SettingsResult>
19980 # map input types to rpc msg
19982 msg
= dict(type='Uniter', request
='ReadSettings', version
=4, params
=params
)
19983 params
['relation-units'] = relation_units
19984 reply
= await self
.rpc(msg
)
19989 @ReturnMapping(RelationResults
)
19990 async def Relation(self
, relation_units
):
19992 relation_units : typing.Sequence<+T_co>[~RelationUnit]<~RelationUnit>
19993 Returns -> typing.Sequence<+T_co>[~RelationResult]<~RelationResult>
19995 # map input types to rpc msg
19997 msg
= dict(type='Uniter', request
='Relation', version
=4, params
=params
)
19998 params
['relation-units'] = relation_units
19999 reply
= await self
.rpc(msg
)
20004 @ReturnMapping(RelationResults
)
20005 async def RelationById(self
, relation_ids
):
20007 relation_ids : typing.Sequence<+T_co>[int]
20008 Returns -> typing.Sequence<+T_co>[~RelationResult]<~RelationResult>
20010 # map input types to rpc msg
20012 msg
= dict(type='Uniter', request
='RelationById', version
=4, params
=params
)
20013 params
['relation-ids'] = relation_ids
20014 reply
= await self
.rpc(msg
)
20019 @ReturnMapping(ErrorResults
)
20020 async def RemoveStorageAttachments(self
, ids
):
20022 ids : typing.Sequence<+T_co>[~StorageAttachmentId]<~StorageAttachmentId>
20023 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20025 # map input types to rpc msg
20027 msg
= dict(type='Uniter', request
='RemoveStorageAttachments', version
=4, params
=params
)
20028 params
['ids'] = ids
20029 reply
= await self
.rpc(msg
)
20034 @ReturnMapping(ErrorResults
)
20035 async def RequestReboot(self
, entities
):
20037 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20038 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20040 # map input types to rpc msg
20042 msg
= dict(type='Uniter', request
='RequestReboot', version
=4, params
=params
)
20043 params
['entities'] = entities
20044 reply
= await self
.rpc(msg
)
20049 @ReturnMapping(ResolvedModeResults
)
20050 async def Resolved(self
, entities
):
20052 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20053 Returns -> typing.Sequence<+T_co>[~ResolvedModeResult]<~ResolvedModeResult>
20055 # map input types to rpc msg
20057 msg
= dict(type='Uniter', request
='Resolved', version
=4, params
=params
)
20058 params
['entities'] = entities
20059 reply
= await self
.rpc(msg
)
20064 @ReturnMapping(ErrorResults
)
20065 async def SetAgentStatus(self
, entities
):
20067 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
20068 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20070 # map input types to rpc msg
20072 msg
= dict(type='Uniter', request
='SetAgentStatus', version
=4, params
=params
)
20073 params
['entities'] = entities
20074 reply
= await self
.rpc(msg
)
20079 @ReturnMapping(ErrorResults
)
20080 async def SetApplicationStatus(self
, entities
):
20082 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
20083 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20085 # map input types to rpc msg
20087 msg
= dict(type='Uniter', request
='SetApplicationStatus', version
=4, params
=params
)
20088 params
['entities'] = entities
20089 reply
= await self
.rpc(msg
)
20094 @ReturnMapping(ErrorResults
)
20095 async def SetCharmURL(self
, entities
):
20097 entities : typing.Sequence<+T_co>[~EntityCharmURL]<~EntityCharmURL>
20098 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20100 # map input types to rpc msg
20102 msg
= dict(type='Uniter', request
='SetCharmURL', version
=4, params
=params
)
20103 params
['entities'] = entities
20104 reply
= await self
.rpc(msg
)
20109 @ReturnMapping(ErrorResults
)
20110 async def SetStatus(self
, entities
):
20112 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
20113 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20115 # map input types to rpc msg
20117 msg
= dict(type='Uniter', request
='SetStatus', version
=4, params
=params
)
20118 params
['entities'] = entities
20119 reply
= await self
.rpc(msg
)
20124 @ReturnMapping(ErrorResults
)
20125 async def SetUnitStatus(self
, entities
):
20127 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
20128 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20130 # map input types to rpc msg
20132 msg
= dict(type='Uniter', request
='SetUnitStatus', version
=4, params
=params
)
20133 params
['entities'] = entities
20134 reply
= await self
.rpc(msg
)
20139 @ReturnMapping(ErrorResults
)
20140 async def SetWorkloadVersion(self
, entities
):
20142 entities : typing.Sequence<+T_co>[~EntityWorkloadVersion]<~EntityWorkloadVersion>
20143 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20145 # map input types to rpc msg
20147 msg
= dict(type='Uniter', request
='SetWorkloadVersion', version
=4, params
=params
)
20148 params
['entities'] = entities
20149 reply
= await self
.rpc(msg
)
20154 @ReturnMapping(LifeResults
)
20155 async def StorageAttachmentLife(self
, ids
):
20157 ids : typing.Sequence<+T_co>[~StorageAttachmentId]<~StorageAttachmentId>
20158 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
20160 # map input types to rpc msg
20162 msg
= dict(type='Uniter', request
='StorageAttachmentLife', version
=4, params
=params
)
20163 params
['ids'] = ids
20164 reply
= await self
.rpc(msg
)
20169 @ReturnMapping(StorageAttachmentResults
)
20170 async def StorageAttachments(self
, ids
):
20172 ids : typing.Sequence<+T_co>[~StorageAttachmentId]<~StorageAttachmentId>
20173 Returns -> typing.Sequence<+T_co>[~StorageAttachmentResult]<~StorageAttachmentResult>
20175 # map input types to rpc msg
20177 msg
= dict(type='Uniter', request
='StorageAttachments', version
=4, params
=params
)
20178 params
['ids'] = ids
20179 reply
= await self
.rpc(msg
)
20184 @ReturnMapping(StatusResults
)
20185 async def UnitStatus(self
, entities
):
20187 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20188 Returns -> typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
20190 # map input types to rpc msg
20192 msg
= dict(type='Uniter', request
='UnitStatus', version
=4, params
=params
)
20193 params
['entities'] = entities
20194 reply
= await self
.rpc(msg
)
20199 @ReturnMapping(StorageAttachmentIdsResults
)
20200 async def UnitStorageAttachments(self
, entities
):
20202 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20203 Returns -> typing.Sequence<+T_co>[~StorageAttachmentIdsResult]<~StorageAttachmentIdsResult>
20205 # map input types to rpc msg
20207 msg
= dict(type='Uniter', request
='UnitStorageAttachments', version
=4, params
=params
)
20208 params
['entities'] = entities
20209 reply
= await self
.rpc(msg
)
20214 @ReturnMapping(ErrorResults
)
20215 async def UpdateSettings(self
, relation_units
):
20217 relation_units : typing.Sequence<+T_co>[~RelationUnitSettings]<~RelationUnitSettings>
20218 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20220 # map input types to rpc msg
20222 msg
= dict(type='Uniter', request
='UpdateSettings', version
=4, params
=params
)
20223 params
['relation-units'] = relation_units
20224 reply
= await self
.rpc(msg
)
20229 @ReturnMapping(NotifyWatchResults
)
20230 async def Watch(self
, entities
):
20232 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20233 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
20235 # map input types to rpc msg
20237 msg
= dict(type='Uniter', request
='Watch', version
=4, params
=params
)
20238 params
['entities'] = entities
20239 reply
= await self
.rpc(msg
)
20244 @ReturnMapping(NotifyWatchResult
)
20245 async def WatchAPIHostPorts(self
):
20248 Returns -> typing.Union[str, _ForwardRef('Error')]
20250 # map input types to rpc msg
20252 msg
= dict(type='Uniter', request
='WatchAPIHostPorts', version
=4, params
=params
)
20254 reply
= await self
.rpc(msg
)
20259 @ReturnMapping(StringsWatchResults
)
20260 async def WatchActionNotifications(self
, entities
):
20262 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20263 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
20265 # map input types to rpc msg
20267 msg
= dict(type='Uniter', request
='WatchActionNotifications', version
=4, params
=params
)
20268 params
['entities'] = entities
20269 reply
= await self
.rpc(msg
)
20274 @ReturnMapping(StringsWatchResults
)
20275 async def WatchApplicationRelations(self
, entities
):
20277 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20278 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
20280 # map input types to rpc msg
20282 msg
= dict(type='Uniter', request
='WatchApplicationRelations', version
=4, params
=params
)
20283 params
['entities'] = entities
20284 reply
= await self
.rpc(msg
)
20289 @ReturnMapping(NotifyWatchResults
)
20290 async def WatchConfigSettings(self
, entities
):
20292 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20293 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
20295 # map input types to rpc msg
20297 msg
= dict(type='Uniter', request
='WatchConfigSettings', version
=4, params
=params
)
20298 params
['entities'] = entities
20299 reply
= await self
.rpc(msg
)
20304 @ReturnMapping(NotifyWatchResult
)
20305 async def WatchForModelConfigChanges(self
):
20308 Returns -> typing.Union[str, _ForwardRef('Error')]
20310 # map input types to rpc msg
20312 msg
= dict(type='Uniter', request
='WatchForModelConfigChanges', version
=4, params
=params
)
20314 reply
= await self
.rpc(msg
)
20319 @ReturnMapping(NotifyWatchResults
)
20320 async def WatchLeadershipSettings(self
, entities
):
20322 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20323 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
20325 # map input types to rpc msg
20327 msg
= dict(type='Uniter', request
='WatchLeadershipSettings', version
=4, params
=params
)
20328 params
['entities'] = entities
20329 reply
= await self
.rpc(msg
)
20334 @ReturnMapping(NotifyWatchResults
)
20335 async def WatchMeterStatus(self
, entities
):
20337 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20338 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
20340 # map input types to rpc msg
20342 msg
= dict(type='Uniter', request
='WatchMeterStatus', version
=4, params
=params
)
20343 params
['entities'] = entities
20344 reply
= await self
.rpc(msg
)
20349 @ReturnMapping(RelationUnitsWatchResults
)
20350 async def WatchRelationUnits(self
, relation_units
):
20352 relation_units : typing.Sequence<+T_co>[~RelationUnit]<~RelationUnit>
20353 Returns -> typing.Sequence<+T_co>[~RelationUnitsWatchResult]<~RelationUnitsWatchResult>
20355 # map input types to rpc msg
20357 msg
= dict(type='Uniter', request
='WatchRelationUnits', version
=4, params
=params
)
20358 params
['relation-units'] = relation_units
20359 reply
= await self
.rpc(msg
)
20364 @ReturnMapping(NotifyWatchResults
)
20365 async def WatchStorageAttachments(self
, ids
):
20367 ids : typing.Sequence<+T_co>[~StorageAttachmentId]<~StorageAttachmentId>
20368 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
20370 # map input types to rpc msg
20372 msg
= dict(type='Uniter', request
='WatchStorageAttachments', version
=4, params
=params
)
20373 params
['ids'] = ids
20374 reply
= await self
.rpc(msg
)
20379 @ReturnMapping(NotifyWatchResults
)
20380 async def WatchUnitAddresses(self
, entities
):
20382 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20383 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
20385 # map input types to rpc msg
20387 msg
= dict(type='Uniter', request
='WatchUnitAddresses', version
=4, params
=params
)
20388 params
['entities'] = entities
20389 reply
= await self
.rpc(msg
)
20394 @ReturnMapping(StringsWatchResults
)
20395 async def WatchUnitStorageAttachments(self
, entities
):
20397 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20398 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
20400 # map input types to rpc msg
20402 msg
= dict(type='Uniter', request
='WatchUnitStorageAttachments', version
=4, params
=params
)
20403 params
['entities'] = entities
20404 reply
= await self
.rpc(msg
)
20409 @ReturnMapping(StringResults
)
20410 async def WorkloadVersion(self
, entities
):
20412 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20413 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
20415 # map input types to rpc msg
20417 msg
= dict(type='Uniter', request
='WorkloadVersion', version
=4, params
=params
)
20418 params
['entities'] = entities
20419 reply
= await self
.rpc(msg
)
20423 class UpgraderFacade(Type
):
20426 schema
= {'definitions': {'Binary': {'additionalProperties': False,
20427 'properties': {'Arch': {'type': 'string'},
20428 'Number': {'$ref': '#/definitions/Number'},
20429 'Series': {'type': 'string'}},
20430 'required': ['Number', 'Series', 'Arch'],
20432 'Entities': {'additionalProperties': False,
20433 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
20435 'required': ['entities'],
20437 'EntitiesVersion': {'additionalProperties': False,
20438 'properties': {'agent-tools': {'items': {'$ref': '#/definitions/EntityVersion'},
20440 'required': ['agent-tools'],
20442 'Entity': {'additionalProperties': False,
20443 'properties': {'tag': {'type': 'string'}},
20444 'required': ['tag'],
20446 'EntityVersion': {'additionalProperties': False,
20447 'properties': {'tag': {'type': 'string'},
20448 'tools': {'$ref': '#/definitions/Version'}},
20449 'required': ['tag', 'tools'],
20451 'Error': {'additionalProperties': False,
20452 'properties': {'code': {'type': 'string'},
20453 'info': {'$ref': '#/definitions/ErrorInfo'},
20454 'message': {'type': 'string'}},
20455 'required': ['message', 'code'],
20457 'ErrorInfo': {'additionalProperties': False,
20458 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
20459 'macaroon-path': {'type': 'string'}},
20461 'ErrorResult': {'additionalProperties': False,
20462 'properties': {'error': {'$ref': '#/definitions/Error'}},
20464 'ErrorResults': {'additionalProperties': False,
20465 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
20467 'required': ['results'],
20469 'Macaroon': {'additionalProperties': False, 'type': 'object'},
20470 'NotifyWatchResult': {'additionalProperties': False,
20471 'properties': {'NotifyWatcherId': {'type': 'string'},
20472 'error': {'$ref': '#/definitions/Error'}},
20473 'required': ['NotifyWatcherId'],
20475 'NotifyWatchResults': {'additionalProperties': False,
20476 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
20478 'required': ['results'],
20480 'Number': {'additionalProperties': False,
20481 'properties': {'Build': {'type': 'integer'},
20482 'Major': {'type': 'integer'},
20483 'Minor': {'type': 'integer'},
20484 'Patch': {'type': 'integer'},
20485 'Tag': {'type': 'string'}},
20486 'required': ['Major',
20492 'Tools': {'additionalProperties': False,
20493 'properties': {'sha256': {'type': 'string'},
20494 'size': {'type': 'integer'},
20495 'url': {'type': 'string'},
20496 'version': {'$ref': '#/definitions/Binary'}},
20497 'required': ['version', 'url', 'size'],
20499 'ToolsResult': {'additionalProperties': False,
20500 'properties': {'disable-ssl-hostname-verification': {'type': 'boolean'},
20501 'error': {'$ref': '#/definitions/Error'},
20502 'tools': {'items': {'$ref': '#/definitions/Tools'},
20504 'required': ['tools',
20505 'disable-ssl-hostname-verification'],
20507 'ToolsResults': {'additionalProperties': False,
20508 'properties': {'results': {'items': {'$ref': '#/definitions/ToolsResult'},
20510 'required': ['results'],
20512 'Version': {'additionalProperties': False,
20513 'properties': {'version': {'$ref': '#/definitions/Binary'}},
20514 'required': ['version'],
20516 'VersionResult': {'additionalProperties': False,
20517 'properties': {'error': {'$ref': '#/definitions/Error'},
20518 'version': {'$ref': '#/definitions/Number'}},
20520 'VersionResults': {'additionalProperties': False,
20521 'properties': {'results': {'items': {'$ref': '#/definitions/VersionResult'},
20523 'required': ['results'],
20524 'type': 'object'}},
20525 'properties': {'DesiredVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20526 'Result': {'$ref': '#/definitions/VersionResults'}},
20528 'SetTools': {'properties': {'Params': {'$ref': '#/definitions/EntitiesVersion'},
20529 'Result': {'$ref': '#/definitions/ErrorResults'}},
20531 'Tools': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20532 'Result': {'$ref': '#/definitions/ToolsResults'}},
20534 'WatchAPIVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20535 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
20536 'type': 'object'}},
20540 @ReturnMapping(VersionResults
)
20541 async def DesiredVersion(self
, entities
):
20543 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20544 Returns -> typing.Sequence<+T_co>[~VersionResult]<~VersionResult>
20546 # map input types to rpc msg
20548 msg
= dict(type='Upgrader', request
='DesiredVersion', version
=1, params
=params
)
20549 params
['entities'] = entities
20550 reply
= await self
.rpc(msg
)
20555 @ReturnMapping(ErrorResults
)
20556 async def SetTools(self
, agent_tools
):
20558 agent_tools : typing.Sequence<+T_co>[~EntityVersion]<~EntityVersion>
20559 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20561 # map input types to rpc msg
20563 msg
= dict(type='Upgrader', request
='SetTools', version
=1, params
=params
)
20564 params
['agent-tools'] = agent_tools
20565 reply
= await self
.rpc(msg
)
20570 @ReturnMapping(ToolsResults
)
20571 async def Tools(self
, entities
):
20573 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20574 Returns -> typing.Sequence<+T_co>[~ToolsResult]<~ToolsResult>
20576 # map input types to rpc msg
20578 msg
= dict(type='Upgrader', request
='Tools', version
=1, params
=params
)
20579 params
['entities'] = entities
20580 reply
= await self
.rpc(msg
)
20585 @ReturnMapping(NotifyWatchResults
)
20586 async def WatchAPIVersion(self
, entities
):
20588 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20589 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
20591 # map input types to rpc msg
20593 msg
= dict(type='Upgrader', request
='WatchAPIVersion', version
=1, params
=params
)
20594 params
['entities'] = entities
20595 reply
= await self
.rpc(msg
)
20599 class UserManagerFacade(Type
):
20600 name
= 'UserManager'
20602 schema
= {'definitions': {'AddUser': {'additionalProperties': False,
20603 'properties': {'display-name': {'type': 'string'},
20604 'password': {'type': 'string'},
20605 'username': {'type': 'string'}},
20606 'required': ['username', 'display-name'],
20608 'AddUserResult': {'additionalProperties': False,
20609 'properties': {'error': {'$ref': '#/definitions/Error'},
20610 'secret-key': {'items': {'type': 'integer'},
20612 'tag': {'type': 'string'}},
20614 'AddUserResults': {'additionalProperties': False,
20615 'properties': {'results': {'items': {'$ref': '#/definitions/AddUserResult'},
20617 'required': ['results'],
20619 'AddUsers': {'additionalProperties': False,
20620 'properties': {'users': {'items': {'$ref': '#/definitions/AddUser'},
20622 'required': ['users'],
20624 'Entities': {'additionalProperties': False,
20625 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
20627 'required': ['entities'],
20629 'Entity': {'additionalProperties': False,
20630 'properties': {'tag': {'type': 'string'}},
20631 'required': ['tag'],
20633 'EntityPassword': {'additionalProperties': False,
20634 'properties': {'password': {'type': 'string'},
20635 'tag': {'type': 'string'}},
20636 'required': ['tag', 'password'],
20638 'EntityPasswords': {'additionalProperties': False,
20639 'properties': {'changes': {'items': {'$ref': '#/definitions/EntityPassword'},
20641 'required': ['changes'],
20643 'Error': {'additionalProperties': False,
20644 'properties': {'code': {'type': 'string'},
20645 'info': {'$ref': '#/definitions/ErrorInfo'},
20646 'message': {'type': 'string'}},
20647 'required': ['message', 'code'],
20649 'ErrorInfo': {'additionalProperties': False,
20650 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
20651 'macaroon-path': {'type': 'string'}},
20653 'ErrorResult': {'additionalProperties': False,
20654 'properties': {'error': {'$ref': '#/definitions/Error'}},
20656 'ErrorResults': {'additionalProperties': False,
20657 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
20659 'required': ['results'],
20661 'Macaroon': {'additionalProperties': False, 'type': 'object'},
20662 'MacaroonResult': {'additionalProperties': False,
20663 'properties': {'error': {'$ref': '#/definitions/Error'},
20664 'result': {'$ref': '#/definitions/Macaroon'}},
20666 'MacaroonResults': {'additionalProperties': False,
20667 'properties': {'results': {'items': {'$ref': '#/definitions/MacaroonResult'},
20669 'required': ['results'],
20671 'UserInfo': {'additionalProperties': False,
20672 'properties': {'access': {'type': 'string'},
20673 'created-by': {'type': 'string'},
20674 'date-created': {'format': 'date-time',
20676 'disabled': {'type': 'boolean'},
20677 'display-name': {'type': 'string'},
20678 'last-connection': {'format': 'date-time',
20680 'username': {'type': 'string'}},
20681 'required': ['username',
20688 'UserInfoRequest': {'additionalProperties': False,
20689 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
20691 'include-disabled': {'type': 'boolean'}},
20692 'required': ['entities',
20693 'include-disabled'],
20695 'UserInfoResult': {'additionalProperties': False,
20696 'properties': {'error': {'$ref': '#/definitions/Error'},
20697 'result': {'$ref': '#/definitions/UserInfo'}},
20699 'UserInfoResults': {'additionalProperties': False,
20700 'properties': {'results': {'items': {'$ref': '#/definitions/UserInfoResult'},
20702 'required': ['results'],
20703 'type': 'object'}},
20704 'properties': {'AddUser': {'properties': {'Params': {'$ref': '#/definitions/AddUsers'},
20705 'Result': {'$ref': '#/definitions/AddUserResults'}},
20707 'CreateLocalLoginMacaroon': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20708 'Result': {'$ref': '#/definitions/MacaroonResults'}},
20710 'DisableUser': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20711 'Result': {'$ref': '#/definitions/ErrorResults'}},
20713 'EnableUser': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20714 'Result': {'$ref': '#/definitions/ErrorResults'}},
20716 'RemoveUser': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20717 'Result': {'$ref': '#/definitions/ErrorResults'}},
20719 'SetPassword': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
20720 'Result': {'$ref': '#/definitions/ErrorResults'}},
20722 'UserInfo': {'properties': {'Params': {'$ref': '#/definitions/UserInfoRequest'},
20723 'Result': {'$ref': '#/definitions/UserInfoResults'}},
20724 'type': 'object'}},
20728 @ReturnMapping(AddUserResults
)
20729 async def AddUser(self
, users
):
20731 users : typing.Sequence<+T_co>[~AddUser]<~AddUser>
20732 Returns -> typing.Sequence<+T_co>[~AddUserResult]<~AddUserResult>
20734 # map input types to rpc msg
20736 msg
= dict(type='UserManager', request
='AddUser', version
=1, params
=params
)
20737 params
['users'] = users
20738 reply
= await self
.rpc(msg
)
20743 @ReturnMapping(MacaroonResults
)
20744 async def CreateLocalLoginMacaroon(self
, entities
):
20746 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20747 Returns -> typing.Sequence<+T_co>[~MacaroonResult]<~MacaroonResult>
20749 # map input types to rpc msg
20751 msg
= dict(type='UserManager', request
='CreateLocalLoginMacaroon', version
=1, params
=params
)
20752 params
['entities'] = entities
20753 reply
= await self
.rpc(msg
)
20758 @ReturnMapping(ErrorResults
)
20759 async def DisableUser(self
, entities
):
20761 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20762 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20764 # map input types to rpc msg
20766 msg
= dict(type='UserManager', request
='DisableUser', version
=1, params
=params
)
20767 params
['entities'] = entities
20768 reply
= await self
.rpc(msg
)
20773 @ReturnMapping(ErrorResults
)
20774 async def EnableUser(self
, entities
):
20776 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20777 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20779 # map input types to rpc msg
20781 msg
= dict(type='UserManager', request
='EnableUser', version
=1, params
=params
)
20782 params
['entities'] = entities
20783 reply
= await self
.rpc(msg
)
20788 @ReturnMapping(ErrorResults
)
20789 async def RemoveUser(self
, entities
):
20791 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20792 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20794 # map input types to rpc msg
20796 msg
= dict(type='UserManager', request
='RemoveUser', version
=1, params
=params
)
20797 params
['entities'] = entities
20798 reply
= await self
.rpc(msg
)
20803 @ReturnMapping(ErrorResults
)
20804 async def SetPassword(self
, changes
):
20806 changes : typing.Sequence<+T_co>[~EntityPassword]<~EntityPassword>
20807 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20809 # map input types to rpc msg
20811 msg
= dict(type='UserManager', request
='SetPassword', version
=1, params
=params
)
20812 params
['changes'] = changes
20813 reply
= await self
.rpc(msg
)
20818 @ReturnMapping(UserInfoResults
)
20819 async def UserInfo(self
, entities
, include_disabled
):
20821 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20822 include_disabled : bool
20823 Returns -> typing.Sequence<+T_co>[~UserInfoResult]<~UserInfoResult>
20825 # map input types to rpc msg
20827 msg
= dict(type='UserManager', request
='UserInfo', version
=1, params
=params
)
20828 params
['entities'] = entities
20829 params
['include-disabled'] = include_disabled
20830 reply
= await self
.rpc(msg
)
20834 class VolumeAttachmentsWatcherFacade(Type
):
20835 name
= 'VolumeAttachmentsWatcher'
20837 schema
= {'definitions': {'Error': {'additionalProperties': False,
20838 'properties': {'code': {'type': 'string'},
20839 'info': {'$ref': '#/definitions/ErrorInfo'},
20840 'message': {'type': 'string'}},
20841 'required': ['message', 'code'],
20843 'ErrorInfo': {'additionalProperties': False,
20844 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
20845 'macaroon-path': {'type': 'string'}},
20847 'Macaroon': {'additionalProperties': False, 'type': 'object'},
20848 'MachineStorageId': {'additionalProperties': False,
20849 'properties': {'attachment-tag': {'type': 'string'},
20850 'machine-tag': {'type': 'string'}},
20851 'required': ['machine-tag',
20854 'MachineStorageIdsWatchResult': {'additionalProperties': False,
20855 'properties': {'changes': {'items': {'$ref': '#/definitions/MachineStorageId'},
20857 'error': {'$ref': '#/definitions/Error'},
20858 'watcher-id': {'type': 'string'}},
20859 'required': ['watcher-id',
20861 'type': 'object'}},
20862 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResult'}},
20864 'Stop': {'type': 'object'}},
20868 @ReturnMapping(MachineStorageIdsWatchResult
)
20869 async def Next(self
):
20872 Returns -> typing.Union[typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>, _ForwardRef('Error')]
20874 # map input types to rpc msg
20876 msg
= dict(type='VolumeAttachmentsWatcher', request
='Next', version
=2, params
=params
)
20878 reply
= await self
.rpc(msg
)
20883 @ReturnMapping(None)
20884 async def Stop(self
):
20889 # map input types to rpc msg
20891 msg
= dict(type='VolumeAttachmentsWatcher', request
='Stop', version
=2, params
=params
)
20893 reply
= await self
.rpc(msg
)