Source code for juju.client._client3

# DO NOT CHANGE THIS FILE! This file is auto-generated by facade.py.
# Changes will be overwritten/lost when the file is regenerated.

from juju.client.facade import Type, ReturnMapping
from juju.client._definitions import *


[docs]class ActionFacade(Type): name = 'Action' version = 3 schema = {'definitions': {'Action': {'additionalProperties': False, 'properties': {'name': {'type': 'string'}, 'parameters': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'receiver': {'type': 'string'}, 'tag': {'type': 'string'}}, 'required': ['tag', 'receiver', 'name'], 'type': 'object'}, 'ActionResult': {'additionalProperties': False, 'properties': {'action': {'$ref': '#/definitions/Action'}, 'completed': {'format': 'date-time', 'type': 'string'}, 'enqueued': {'format': 'date-time', 'type': 'string'}, 'error': {'$ref': '#/definitions/Error'}, 'message': {'type': 'string'}, 'output': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'started': {'format': 'date-time', 'type': 'string'}, 'status': {'type': 'string'}}, 'type': 'object'}, 'ActionResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'}, 'type': 'array'}}, 'type': 'object'}, 'ActionSpec': {'additionalProperties': False, 'properties': {'description': {'type': 'string'}, 'params': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}}, 'required': ['description', 'params'], 'type': 'object'}, 'Actions': {'additionalProperties': False, 'properties': {'actions': {'items': {'$ref': '#/definitions/Action'}, 'type': 'array'}}, 'type': 'object'}, 'ActionsByName': {'additionalProperties': False, 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'}, 'type': 'array'}, 'error': {'$ref': '#/definitions/Error'}, 'name': {'type': 'string'}}, 'type': 'object'}, 'ActionsByNames': {'additionalProperties': False, 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByName'}, 'type': 'array'}}, 'type': 'object'}, 'ActionsByReceiver': {'additionalProperties': False, 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'}, 'type': 'array'}, 'error': {'$ref': '#/definitions/Error'}, 'receiver': {'type': 'string'}}, 'type': 'object'}, 'ActionsByReceivers': {'additionalProperties': False, 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByReceiver'}, 'type': 'array'}}, 'type': 'object'}, 'ApplicationCharmActionsResult': {'additionalProperties': False, 'properties': {'actions': {'patternProperties': {'.*': {'$ref': '#/definitions/ActionSpec'}}, 'type': 'object'}, 'application-tag': {'type': 'string'}, 'error': {'$ref': '#/definitions/Error'}}, 'type': 'object'}, 'ApplicationsCharmActionsResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/ApplicationCharmActionsResult'}, 'type': 'array'}}, 'type': 'object'}, 'Entities': {'additionalProperties': False, 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'}, 'type': 'array'}}, 'required': ['entities'], 'type': 'object'}, 'Entity': {'additionalProperties': False, 'properties': {'tag': {'type': 'string'}}, 'required': ['tag'], 'type': 'object'}, 'Error': {'additionalProperties': False, 'properties': {'code': {'type': 'string'}, 'info': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'message': {'type': 'string'}}, 'required': ['message', 'code'], 'type': 'object'}, 'FindActionsByNames': {'additionalProperties': False, 'properties': {'names': {'items': {'type': 'string'}, 'type': 'array'}}, 'type': 'object'}, 'FindTags': {'additionalProperties': False, 'properties': {'prefixes': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['prefixes'], 'type': 'object'}, 'FindTagsResults': {'additionalProperties': False, 'properties': {'matches': {'patternProperties': {'.*': {'items': {'$ref': '#/definitions/Entity'}, 'type': 'array'}}, 'type': 'object'}}, 'required': ['matches'], 'type': 'object'}, 'RunParams': {'additionalProperties': False, 'properties': {'applications': {'items': {'type': 'string'}, 'type': 'array'}, 'commands': {'type': 'string'}, 'machines': {'items': {'type': 'string'}, 'type': 'array'}, 'timeout': {'type': 'integer'}, 'units': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['commands', 'timeout'], 'type': 'object'}}, 'properties': {'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ActionResults'}}, 'type': 'object'}, 'ApplicationsCharmsActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ApplicationsCharmActionsResults'}}, 'type': 'object'}, 'Cancel': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ActionResults'}}, 'type': 'object'}, 'Enqueue': {'properties': {'Params': {'$ref': '#/definitions/Actions'}, 'Result': {'$ref': '#/definitions/ActionResults'}}, 'type': 'object'}, 'FindActionTagsByPrefix': {'properties': {'Params': {'$ref': '#/definitions/FindTags'}, 'Result': {'$ref': '#/definitions/FindTagsResults'}}, 'type': 'object'}, 'FindActionsByNames': {'properties': {'Params': {'$ref': '#/definitions/FindActionsByNames'}, 'Result': {'$ref': '#/definitions/ActionsByNames'}}, 'type': 'object'}, 'ListAll': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ActionsByReceivers'}}, 'type': 'object'}, 'ListCompleted': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ActionsByReceivers'}}, 'type': 'object'}, 'ListPending': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ActionsByReceivers'}}, 'type': 'object'}, 'ListRunning': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ActionsByReceivers'}}, 'type': 'object'}, 'Run': {'properties': {'Params': {'$ref': '#/definitions/RunParams'}, 'Result': {'$ref': '#/definitions/ActionResults'}}, 'type': 'object'}, 'RunOnAllMachines': {'properties': {'Params': {'$ref': '#/definitions/RunParams'}, 'Result': {'$ref': '#/definitions/ActionResults'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(ActionResults) async def Actions(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ActionResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Action', request='Actions', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ApplicationsCharmActionsResults) async def ApplicationsCharmsActions(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ApplicationCharmActionsResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Action', request='ApplicationsCharmsActions', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ActionResults) async def Cancel(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ActionResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Action', request='Cancel', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ActionResults) async def Enqueue(self, actions=None): ''' actions : typing.Sequence[~Action] Returns -> typing.Sequence[~ActionResult] ''' if actions is not None and not isinstance(actions, (bytes, str, list)): raise Exception("Expected actions to be a Sequence, received: {}".format(type(actions))) # map input types to rpc msg _params = dict() msg = dict(type='Action', request='Enqueue', version=3, params=_params) _params['actions'] = actions reply = await self.rpc(msg) return reply
@ReturnMapping(FindTagsResults) async def FindActionTagsByPrefix(self, prefixes=None): ''' prefixes : typing.Sequence[str] Returns -> typing.Sequence[~Entity] ''' if prefixes is not None and not isinstance(prefixes, (bytes, str, list)): raise Exception("Expected prefixes to be a Sequence, received: {}".format(type(prefixes))) # map input types to rpc msg _params = dict() msg = dict(type='Action', request='FindActionTagsByPrefix', version=3, params=_params) _params['prefixes'] = prefixes reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ActionsByNames) async def FindActionsByNames(self, names=None): ''' names : typing.Sequence[str] Returns -> typing.Sequence[~ActionsByName] ''' if names is not None and not isinstance(names, (bytes, str, list)): raise Exception("Expected names to be a Sequence, received: {}".format(type(names))) # map input types to rpc msg _params = dict() msg = dict(type='Action', request='FindActionsByNames', version=3, params=_params) _params['names'] = names reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ActionsByReceivers) async def ListAll(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ActionsByReceiver] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Action', request='ListAll', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ActionsByReceivers) async def ListCompleted(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ActionsByReceiver] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Action', request='ListCompleted', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ActionsByReceivers) async def ListPending(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ActionsByReceiver] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Action', request='ListPending', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ActionsByReceivers) async def ListRunning(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ActionsByReceiver] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Action', request='ListRunning', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ActionResults) async def Run(self, applications=None, commands=None, machines=None, timeout=None, units=None): ''' applications : typing.Sequence[str] commands : str machines : typing.Sequence[str] timeout : int units : typing.Sequence[str] Returns -> typing.Sequence[~ActionResult] ''' if applications is not None and not isinstance(applications, (bytes, str, list)): raise Exception("Expected applications to be a Sequence, received: {}".format(type(applications))) if commands is not None and not isinstance(commands, (bytes, str)): raise Exception("Expected commands to be a str, received: {}".format(type(commands))) if machines is not None and not isinstance(machines, (bytes, str, list)): raise Exception("Expected machines to be a Sequence, received: {}".format(type(machines))) if timeout is not None and not isinstance(timeout, int): raise Exception("Expected timeout to be a int, received: {}".format(type(timeout))) if units is not None and not isinstance(units, (bytes, str, list)): raise Exception("Expected units to be a Sequence, received: {}".format(type(units))) # map input types to rpc msg _params = dict() msg = dict(type='Action', request='Run', version=3, params=_params) _params['applications'] = applications _params['commands'] = commands _params['machines'] = machines _params['timeout'] = timeout _params['units'] = units reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ActionResults) async def RunOnAllMachines(self, applications=None, commands=None, machines=None, timeout=None, units=None): ''' applications : typing.Sequence[str] commands : str machines : typing.Sequence[str] timeout : int units : typing.Sequence[str] Returns -> typing.Sequence[~ActionResult] ''' if applications is not None and not isinstance(applications, (bytes, str, list)): raise Exception("Expected applications to be a Sequence, received: {}".format(type(applications))) if commands is not None and not isinstance(commands, (bytes, str)): raise Exception("Expected commands to be a str, received: {}".format(type(commands))) if machines is not None and not isinstance(machines, (bytes, str, list)): raise Exception("Expected machines to be a Sequence, received: {}".format(type(machines))) if timeout is not None and not isinstance(timeout, int): raise Exception("Expected timeout to be a int, received: {}".format(type(timeout))) if units is not None and not isinstance(units, (bytes, str, list)): raise Exception("Expected units to be a Sequence, received: {}".format(type(units))) # map input types to rpc msg _params = dict() msg = dict(type='Action', request='RunOnAllMachines', version=3, params=_params) _params['applications'] = applications _params['commands'] = commands _params['machines'] = machines _params['timeout'] = timeout _params['units'] = units reply = await self.rpc(msg) return reply
[docs]class ApplicationFacade(Type): name = 'Application' version = 3 schema = {'definitions': {'AddApplicationUnits': {'additionalProperties': False, 'properties': {'application': {'type': 'string'}, 'num-units': {'type': 'integer'}, 'placement': {'items': {'$ref': '#/definitions/Placement'}, 'type': 'array'}}, 'required': ['application', 'num-units', 'placement'], 'type': 'object'}, 'AddApplicationUnitsResults': {'additionalProperties': False, 'properties': {'units': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['units'], 'type': 'object'}, 'AddRelation': {'additionalProperties': False, 'properties': {'endpoints': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['endpoints'], 'type': 'object'}, 'AddRelationResults': {'additionalProperties': False, 'properties': {'endpoints': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmRelation'}}, 'type': 'object'}}, 'required': ['endpoints'], 'type': 'object'}, 'ApplicationCharmRelations': {'additionalProperties': False, 'properties': {'application': {'type': 'string'}}, 'required': ['application'], 'type': 'object'}, 'ApplicationCharmRelationsResults': {'additionalProperties': False, 'properties': {'charm-relations': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['charm-relations'], 'type': 'object'}, 'ApplicationDeploy': {'additionalProperties': False, 'properties': {'application': {'type': 'string'}, 'channel': {'type': 'string'}, 'charm-url': {'type': 'string'}, 'config': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}, 'config-yaml': {'type': 'string'}, 'constraints': {'$ref': '#/definitions/Value'}, 'endpoint-bindings': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}, 'num-units': {'type': 'integer'}, 'placement': {'items': {'$ref': '#/definitions/Placement'}, 'type': 'array'}, 'resources': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}, 'series': {'type': 'string'}, 'storage': {'patternProperties': {'.*': {'$ref': '#/definitions/Constraints'}}, 'type': 'object'}}, 'required': ['application', 'series', 'charm-url', 'channel', 'num-units', 'config-yaml', 'constraints'], 'type': 'object'}, 'ApplicationDestroy': {'additionalProperties': False, 'properties': {'application': {'type': 'string'}}, 'required': ['application'], 'type': 'object'}, 'ApplicationExpose': {'additionalProperties': False, 'properties': {'application': {'type': 'string'}}, 'required': ['application'], 'type': 'object'}, 'ApplicationGet': {'additionalProperties': False, 'properties': {'application': {'type': 'string'}}, 'required': ['application'], 'type': 'object'}, 'ApplicationGetResults': {'additionalProperties': False, 'properties': {'application': {'type': 'string'}, 'charm': {'type': 'string'}, 'config': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'constraints': {'$ref': '#/definitions/Value'}, 'series': {'type': 'string'}}, 'required': ['application', 'charm', 'config', 'constraints', 'series'], 'type': 'object'}, 'ApplicationMetricCredential': {'additionalProperties': False, 'properties': {'application': {'type': 'string'}, 'metrics-credentials': {'items': {'type': 'integer'}, 'type': 'array'}}, 'required': ['application', 'metrics-credentials'], 'type': 'object'}, 'ApplicationMetricCredentials': {'additionalProperties': False, 'properties': {'creds': {'items': {'$ref': '#/definitions/ApplicationMetricCredential'}, 'type': 'array'}}, 'required': ['creds'], 'type': 'object'}, 'ApplicationSet': {'additionalProperties': False, 'properties': {'application': {'type': 'string'}, 'options': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}}, 'required': ['application', 'options'], 'type': 'object'}, 'ApplicationSetCharm': {'additionalProperties': False, 'properties': {'application': {'type': 'string'}, 'channel': {'type': 'string'}, 'charm-url': {'type': 'string'}, 'config-settings': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}, 'config-settings-yaml': {'type': 'string'}, 'force-series': {'type': 'boolean'}, 'force-units': {'type': 'boolean'}, 'resource-ids': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}, 'storage-constraints': {'patternProperties': {'.*': {'$ref': '#/definitions/StorageConstraints'}}, 'type': 'object'}}, 'required': ['application', 'charm-url', 'channel', 'force-units', 'force-series'], 'type': 'object'}, 'ApplicationUnexpose': {'additionalProperties': False, 'properties': {'application': {'type': 'string'}}, 'required': ['application'], 'type': 'object'}, 'ApplicationUnset': {'additionalProperties': False, 'properties': {'application': {'type': 'string'}, 'options': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['application', 'options'], 'type': 'object'}, 'ApplicationUpdate': {'additionalProperties': False, 'properties': {'application': {'type': 'string'}, 'charm-url': {'type': 'string'}, 'constraints': {'$ref': '#/definitions/Value'}, 'force-charm-url': {'type': 'boolean'}, 'force-series': {'type': 'boolean'}, 'min-units': {'type': 'integer'}, 'settings': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}, 'settings-yaml': {'type': 'string'}}, 'required': ['application', 'charm-url', 'force-charm-url', 'force-series', 'settings-yaml'], 'type': 'object'}, 'ApplicationsDeploy': {'additionalProperties': False, 'properties': {'applications': {'items': {'$ref': '#/definitions/ApplicationDeploy'}, 'type': 'array'}}, 'required': ['applications'], 'type': 'object'}, 'CharmRelation': {'additionalProperties': False, 'properties': {'interface': {'type': 'string'}, 'limit': {'type': 'integer'}, 'name': {'type': 'string'}, 'optional': {'type': 'boolean'}, 'role': {'type': 'string'}, 'scope': {'type': 'string'}}, 'required': ['name', 'role', 'interface', 'optional', 'limit', 'scope'], 'type': 'object'}, 'Constraints': {'additionalProperties': False, 'properties': {'Count': {'type': 'integer'}, 'Pool': {'type': 'string'}, 'Size': {'type': 'integer'}}, 'required': ['Pool', 'Size', 'Count'], 'type': 'object'}, 'DestroyApplicationUnits': {'additionalProperties': False, 'properties': {'unit-names': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['unit-names'], 'type': 'object'}, 'DestroyRelation': {'additionalProperties': False, 'properties': {'endpoints': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['endpoints'], 'type': 'object'}, 'Error': {'additionalProperties': False, 'properties': {'code': {'type': 'string'}, 'info': {'$ref': '#/definitions/ErrorInfo'}, 'message': {'type': 'string'}}, 'required': ['message', 'code'], 'type': 'object'}, 'ErrorInfo': {'additionalProperties': False, 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'}, 'macaroon-path': {'type': 'string'}}, 'type': 'object'}, 'ErrorResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}}, 'type': 'object'}, 'ErrorResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'GetApplicationConstraints': {'additionalProperties': False, 'properties': {'application': {'type': 'string'}}, 'required': ['application'], 'type': 'object'}, 'GetConstraintsResults': {'additionalProperties': False, 'properties': {'constraints': {'$ref': '#/definitions/Value'}}, 'required': ['constraints'], 'type': 'object'}, 'Macaroon': {'additionalProperties': False, 'type': 'object'}, 'Placement': {'additionalProperties': False, 'properties': {'directive': {'type': 'string'}, 'scope': {'type': 'string'}}, 'required': ['scope', 'directive'], 'type': 'object'}, 'SetConstraints': {'additionalProperties': False, 'properties': {'application': {'type': 'string'}, 'constraints': {'$ref': '#/definitions/Value'}}, 'required': ['application', 'constraints'], 'type': 'object'}, 'StorageConstraints': {'additionalProperties': False, 'properties': {'count': {'type': 'integer'}, 'pool': {'type': 'string'}, 'size': {'type': 'integer'}}, 'type': 'object'}, 'StringResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'type': 'string'}}, 'required': ['result'], 'type': 'object'}, 'Value': {'additionalProperties': False, 'properties': {'arch': {'type': 'string'}, 'container': {'type': 'string'}, 'cores': {'type': 'integer'}, 'cpu-power': {'type': 'integer'}, 'instance-type': {'type': 'string'}, 'mem': {'type': 'integer'}, 'root-disk': {'type': 'integer'}, 'spaces': {'items': {'type': 'string'}, 'type': 'array'}, 'tags': {'items': {'type': 'string'}, 'type': 'array'}, 'virt-type': {'type': 'string'}}, 'type': 'object'}}, 'properties': {'AddRelation': {'properties': {'Params': {'$ref': '#/definitions/AddRelation'}, 'Result': {'$ref': '#/definitions/AddRelationResults'}}, 'type': 'object'}, 'AddUnits': {'properties': {'Params': {'$ref': '#/definitions/AddApplicationUnits'}, 'Result': {'$ref': '#/definitions/AddApplicationUnitsResults'}}, 'type': 'object'}, 'CharmRelations': {'properties': {'Params': {'$ref': '#/definitions/ApplicationCharmRelations'}, 'Result': {'$ref': '#/definitions/ApplicationCharmRelationsResults'}}, 'type': 'object'}, 'Deploy': {'properties': {'Params': {'$ref': '#/definitions/ApplicationsDeploy'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'Destroy': {'properties': {'Params': {'$ref': '#/definitions/ApplicationDestroy'}}, 'type': 'object'}, 'DestroyRelation': {'properties': {'Params': {'$ref': '#/definitions/DestroyRelation'}}, 'type': 'object'}, 'DestroyUnits': {'properties': {'Params': {'$ref': '#/definitions/DestroyApplicationUnits'}}, 'type': 'object'}, 'Expose': {'properties': {'Params': {'$ref': '#/definitions/ApplicationExpose'}}, 'type': 'object'}, 'Get': {'properties': {'Params': {'$ref': '#/definitions/ApplicationGet'}, 'Result': {'$ref': '#/definitions/ApplicationGetResults'}}, 'type': 'object'}, 'GetCharmURL': {'properties': {'Params': {'$ref': '#/definitions/ApplicationGet'}, 'Result': {'$ref': '#/definitions/StringResult'}}, 'type': 'object'}, 'GetConstraints': {'properties': {'Params': {'$ref': '#/definitions/GetApplicationConstraints'}, 'Result': {'$ref': '#/definitions/GetConstraintsResults'}}, 'type': 'object'}, 'Set': {'properties': {'Params': {'$ref': '#/definitions/ApplicationSet'}}, 'type': 'object'}, 'SetCharm': {'properties': {'Params': {'$ref': '#/definitions/ApplicationSetCharm'}}, 'type': 'object'}, 'SetConstraints': {'properties': {'Params': {'$ref': '#/definitions/SetConstraints'}}, 'type': 'object'}, 'SetMetricCredentials': {'properties': {'Params': {'$ref': '#/definitions/ApplicationMetricCredentials'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'Unexpose': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUnexpose'}}, 'type': 'object'}, 'Unset': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUnset'}}, 'type': 'object'}, 'Update': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUpdate'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(AddRelationResults) async def AddRelation(self, endpoints=None): ''' endpoints : typing.Sequence[str] Returns -> typing.Mapping[str, ~CharmRelation] ''' if endpoints is not None and not isinstance(endpoints, (bytes, str, list)): raise Exception("Expected endpoints to be a Sequence, received: {}".format(type(endpoints))) # map input types to rpc msg _params = dict() msg = dict(type='Application', request='AddRelation', version=3, params=_params) _params['endpoints'] = endpoints reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(AddApplicationUnitsResults) async def AddUnits(self, application=None, num_units=None, placement=None): ''' application : str num_units : int placement : typing.Sequence[~Placement] Returns -> typing.Sequence[str] ''' if application is not None and not isinstance(application, (bytes, str)): raise Exception("Expected application to be a str, received: {}".format(type(application))) if num_units is not None and not isinstance(num_units, int): raise Exception("Expected num_units to be a int, received: {}".format(type(num_units))) if placement is not None and not isinstance(placement, (bytes, str, list)): raise Exception("Expected placement to be a Sequence, received: {}".format(type(placement))) # map input types to rpc msg _params = dict() msg = dict(type='Application', request='AddUnits', version=3, params=_params) _params['application'] = application _params['num-units'] = num_units _params['placement'] = placement reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ApplicationCharmRelationsResults) async def CharmRelations(self, application=None): ''' application : str Returns -> typing.Sequence[str] ''' if application is not None and not isinstance(application, (bytes, str)): raise Exception("Expected application to be a str, received: {}".format(type(application))) # map input types to rpc msg _params = dict() msg = dict(type='Application', request='CharmRelations', version=3, params=_params) _params['application'] = application reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def Deploy(self, applications=None): ''' applications : typing.Sequence[~ApplicationDeploy] Returns -> typing.Sequence[~ErrorResult] ''' if applications is not None and not isinstance(applications, (bytes, str, list)): raise Exception("Expected applications to be a Sequence, received: {}".format(type(applications))) # map input types to rpc msg _params = dict() msg = dict(type='Application', request='Deploy', version=3, params=_params) _params['applications'] = applications reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def Destroy(self, application=None): ''' application : str Returns -> None ''' if application is not None and not isinstance(application, (bytes, str)): raise Exception("Expected application to be a str, received: {}".format(type(application))) # map input types to rpc msg _params = dict() msg = dict(type='Application', request='Destroy', version=3, params=_params) _params['application'] = application reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def DestroyRelation(self, endpoints=None): ''' endpoints : typing.Sequence[str] Returns -> None ''' if endpoints is not None and not isinstance(endpoints, (bytes, str, list)): raise Exception("Expected endpoints to be a Sequence, received: {}".format(type(endpoints))) # map input types to rpc msg _params = dict() msg = dict(type='Application', request='DestroyRelation', version=3, params=_params) _params['endpoints'] = endpoints reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def DestroyUnits(self, unit_names=None): ''' unit_names : typing.Sequence[str] Returns -> None ''' if unit_names is not None and not isinstance(unit_names, (bytes, str, list)): raise Exception("Expected unit_names to be a Sequence, received: {}".format(type(unit_names))) # map input types to rpc msg _params = dict() msg = dict(type='Application', request='DestroyUnits', version=3, params=_params) _params['unit-names'] = unit_names reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def Expose(self, application=None): ''' application : str Returns -> None ''' if application is not None and not isinstance(application, (bytes, str)): raise Exception("Expected application to be a str, received: {}".format(type(application))) # map input types to rpc msg _params = dict() msg = dict(type='Application', request='Expose', version=3, params=_params) _params['application'] = application reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ApplicationGetResults) async def Get(self, application=None): ''' application : str Returns -> typing.Union[str, typing.Mapping[str, typing.Any], _ForwardRef('Value')] ''' if application is not None and not isinstance(application, (bytes, str)): raise Exception("Expected application to be a str, received: {}".format(type(application))) # map input types to rpc msg _params = dict() msg = dict(type='Application', request='Get', version=3, params=_params) _params['application'] = application reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringResult) async def GetCharmURL(self, application=None): ''' application : str Returns -> typing.Union[_ForwardRef('Error'), str] ''' if application is not None and not isinstance(application, (bytes, str)): raise Exception("Expected application to be a str, received: {}".format(type(application))) # map input types to rpc msg _params = dict() msg = dict(type='Application', request='GetCharmURL', version=3, params=_params) _params['application'] = application reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(GetConstraintsResults) async def GetConstraints(self, application=None): ''' application : str Returns -> Value ''' if application is not None and not isinstance(application, (bytes, str)): raise Exception("Expected application to be a str, received: {}".format(type(application))) # map input types to rpc msg _params = dict() msg = dict(type='Application', request='GetConstraints', version=3, params=_params) _params['application'] = application reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def Set(self, application=None, options=None): ''' application : str options : typing.Mapping[str, str] Returns -> None ''' if application is not None and not isinstance(application, (bytes, str)): raise Exception("Expected application to be a str, received: {}".format(type(application))) if options is not None and not isinstance(options, dict): raise Exception("Expected options to be a Mapping, received: {}".format(type(options))) # map input types to rpc msg _params = dict() msg = dict(type='Application', request='Set', version=3, params=_params) _params['application'] = application _params['options'] = options reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def SetCharm(self, application=None, channel=None, charm_url=None, config_settings=None, config_settings_yaml=None, force_series=None, force_units=None, resource_ids=None, storage_constraints=None): ''' application : str channel : str charm_url : str config_settings : typing.Mapping[str, str] config_settings_yaml : str force_series : bool force_units : bool resource_ids : typing.Mapping[str, str] storage_constraints : typing.Mapping[str, ~StorageConstraints] Returns -> None ''' if application is not None and not isinstance(application, (bytes, str)): raise Exception("Expected application to be a str, received: {}".format(type(application))) if channel is not None and not isinstance(channel, (bytes, str)): raise Exception("Expected channel to be a str, received: {}".format(type(channel))) if charm_url is not None and not isinstance(charm_url, (bytes, str)): raise Exception("Expected charm_url to be a str, received: {}".format(type(charm_url))) if config_settings is not None and not isinstance(config_settings, dict): raise Exception("Expected config_settings to be a Mapping, received: {}".format(type(config_settings))) if config_settings_yaml is not None and not isinstance(config_settings_yaml, (bytes, str)): raise Exception("Expected config_settings_yaml to be a str, received: {}".format(type(config_settings_yaml))) if force_series is not None and not isinstance(force_series, bool): raise Exception("Expected force_series to be a bool, received: {}".format(type(force_series))) if force_units is not None and not isinstance(force_units, bool): raise Exception("Expected force_units to be a bool, received: {}".format(type(force_units))) if resource_ids is not None and not isinstance(resource_ids, dict): raise Exception("Expected resource_ids to be a Mapping, received: {}".format(type(resource_ids))) if storage_constraints is not None and not isinstance(storage_constraints, dict): raise Exception("Expected storage_constraints to be a Mapping, received: {}".format(type(storage_constraints))) # map input types to rpc msg _params = dict() msg = dict(type='Application', request='SetCharm', version=3, params=_params) _params['application'] = application _params['channel'] = channel _params['charm-url'] = charm_url _params['config-settings'] = config_settings _params['config-settings-yaml'] = config_settings_yaml _params['force-series'] = force_series _params['force-units'] = force_units _params['resource-ids'] = resource_ids _params['storage-constraints'] = storage_constraints reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def SetConstraints(self, application=None, constraints=None): ''' application : str constraints : Value Returns -> None ''' if application is not None and not isinstance(application, (bytes, str)): raise Exception("Expected application to be a str, received: {}".format(type(application))) if constraints is not None and not isinstance(constraints, (dict, Value)): raise Exception("Expected constraints to be a Value, received: {}".format(type(constraints))) # map input types to rpc msg _params = dict() msg = dict(type='Application', request='SetConstraints', version=3, params=_params) _params['application'] = application _params['constraints'] = constraints reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def SetMetricCredentials(self, creds=None): ''' creds : typing.Sequence[~ApplicationMetricCredential] Returns -> typing.Sequence[~ErrorResult] ''' if creds is not None and not isinstance(creds, (bytes, str, list)): raise Exception("Expected creds to be a Sequence, received: {}".format(type(creds))) # map input types to rpc msg _params = dict() msg = dict(type='Application', request='SetMetricCredentials', version=3, params=_params) _params['creds'] = creds reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def Unexpose(self, application=None): ''' application : str Returns -> None ''' if application is not None and not isinstance(application, (bytes, str)): raise Exception("Expected application to be a str, received: {}".format(type(application))) # map input types to rpc msg _params = dict() msg = dict(type='Application', request='Unexpose', version=3, params=_params) _params['application'] = application reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def Unset(self, application=None, options=None): ''' application : str options : typing.Sequence[str] Returns -> None ''' if application is not None and not isinstance(application, (bytes, str)): raise Exception("Expected application to be a str, received: {}".format(type(application))) if options is not None and not isinstance(options, (bytes, str, list)): raise Exception("Expected options to be a Sequence, received: {}".format(type(options))) # map input types to rpc msg _params = dict() msg = dict(type='Application', request='Unset', version=3, params=_params) _params['application'] = application _params['options'] = options reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def Update(self, application=None, charm_url=None, constraints=None, force_charm_url=None, force_series=None, min_units=None, settings=None, settings_yaml=None): ''' application : str charm_url : str constraints : Value force_charm_url : bool force_series : bool min_units : int settings : typing.Mapping[str, str] settings_yaml : str Returns -> None ''' if application is not None and not isinstance(application, (bytes, str)): raise Exception("Expected application to be a str, received: {}".format(type(application))) if charm_url is not None and not isinstance(charm_url, (bytes, str)): raise Exception("Expected charm_url to be a str, received: {}".format(type(charm_url))) if constraints is not None and not isinstance(constraints, (dict, Value)): raise Exception("Expected constraints to be a Value, received: {}".format(type(constraints))) if force_charm_url is not None and not isinstance(force_charm_url, bool): raise Exception("Expected force_charm_url to be a bool, received: {}".format(type(force_charm_url))) if force_series is not None and not isinstance(force_series, bool): raise Exception("Expected force_series to be a bool, received: {}".format(type(force_series))) if min_units is not None and not isinstance(min_units, int): raise Exception("Expected min_units to be a int, received: {}".format(type(min_units))) if settings is not None and not isinstance(settings, dict): raise Exception("Expected settings to be a Mapping, received: {}".format(type(settings))) if settings_yaml is not None and not isinstance(settings_yaml, (bytes, str)): raise Exception("Expected settings_yaml to be a str, received: {}".format(type(settings_yaml))) # map input types to rpc msg _params = dict() msg = dict(type='Application', request='Update', version=3, params=_params) _params['application'] = application _params['charm-url'] = charm_url _params['constraints'] = constraints _params['force-charm-url'] = force_charm_url _params['force-series'] = force_series _params['min-units'] = min_units _params['settings'] = settings _params['settings-yaml'] = settings_yaml reply = await self.rpc(msg) return reply
[docs]class BundleFacade(Type): name = 'Bundle' version = 3 schema = {'definitions': {'BundleChange': {'additionalProperties': False, 'properties': {'args': {'items': {'additionalProperties': True, 'type': 'object'}, 'type': 'array'}, 'id': {'type': 'string'}, 'method': {'type': 'string'}, 'requires': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['id', 'method', 'args', 'requires'], 'type': 'object'}, 'BundleChangesParams': {'additionalProperties': False, 'properties': {'bundleURL': {'type': 'string'}, 'yaml': {'type': 'string'}}, 'required': ['yaml', 'bundleURL'], 'type': 'object'}, 'BundleChangesResults': {'additionalProperties': False, 'properties': {'changes': {'items': {'$ref': '#/definitions/BundleChange'}, 'type': 'array'}, 'errors': {'items': {'type': 'string'}, 'type': 'array'}}, 'type': 'object'}, 'Error': {'additionalProperties': False, 'properties': {'code': {'type': 'string'}, 'info': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'message': {'type': 'string'}}, 'required': ['message', 'code'], 'type': 'object'}, 'StringResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'type': 'string'}}, 'required': ['result'], 'type': 'object'}}, 'properties': {'ExportBundle': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}}, 'type': 'object'}, 'GetChanges': {'properties': {'Params': {'$ref': '#/definitions/BundleChangesParams'}, 'Result': {'$ref': '#/definitions/BundleChangesResults'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(StringResult) async def ExportBundle(self): ''' Returns -> typing.Union[_ForwardRef('Error'), str] ''' # map input types to rpc msg _params = dict() msg = dict(type='Bundle', request='ExportBundle', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(BundleChangesResults) async def GetChanges(self, bundleurl=None, yaml=None): ''' bundleurl : str yaml : str Returns -> typing.Union[typing.Sequence[~BundleChange], typing.Sequence[str]] ''' if bundleurl is not None and not isinstance(bundleurl, (bytes, str)): raise Exception("Expected bundleurl to be a str, received: {}".format(type(bundleurl))) if yaml is not None and not isinstance(yaml, (bytes, str)): raise Exception("Expected yaml to be a str, received: {}".format(type(yaml))) # map input types to rpc msg _params = dict() msg = dict(type='Bundle', request='GetChanges', version=3, params=_params) _params['bundleURL'] = bundleurl _params['yaml'] = yaml reply = await self.rpc(msg) return reply
[docs]class CloudFacade(Type): name = 'Cloud' version = 3 schema = {'definitions': {'AddCloudArgs': {'additionalProperties': False, 'properties': {'cloud': {'$ref': '#/definitions/Cloud'}, 'name': {'type': 'string'}}, 'required': ['cloud', 'name'], 'type': 'object'}, 'Cloud': {'additionalProperties': False, 'properties': {'auth-types': {'items': {'type': 'string'}, 'type': 'array'}, 'ca-certificates': {'items': {'type': 'string'}, 'type': 'array'}, 'endpoint': {'type': 'string'}, 'identity-endpoint': {'type': 'string'}, 'regions': {'items': {'$ref': '#/definitions/CloudRegion'}, 'type': 'array'}, 'storage-endpoint': {'type': 'string'}, 'type': {'type': 'string'}}, 'required': ['type'], 'type': 'object'}, 'CloudCredential': {'additionalProperties': False, 'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}, 'auth-type': {'type': 'string'}, 'redacted': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['auth-type'], 'type': 'object'}, 'CloudCredentialArg': {'additionalProperties': False, 'properties': {'cloud-name': {'type': 'string'}, 'credential-name': {'type': 'string'}}, 'required': ['cloud-name', 'credential-name'], 'type': 'object'}, 'CloudCredentialArgs': {'additionalProperties': False, 'properties': {'credentials': {'items': {'$ref': '#/definitions/CloudCredentialArg'}, 'type': 'array'}, 'include-secrets': {'type': 'boolean'}}, 'required': ['include-secrets'], 'type': 'object'}, 'CloudCredentialResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'$ref': '#/definitions/CloudCredential'}}, 'type': 'object'}, 'CloudCredentialResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/CloudCredentialResult'}, 'type': 'array'}}, 'type': 'object'}, 'CloudDetails': {'additionalProperties': False, 'properties': {'auth-types': {'items': {'type': 'string'}, 'type': 'array'}, 'endpoint': {'type': 'string'}, 'identity-endpoint': {'type': 'string'}, 'regions': {'items': {'$ref': '#/definitions/CloudRegion'}, 'type': 'array'}, 'storage-endpoint': {'type': 'string'}, 'type': {'type': 'string'}}, 'required': ['type'], 'type': 'object'}, 'CloudInfo': {'additionalProperties': False, 'properties': {'CloudDetails': {'$ref': '#/definitions/CloudDetails'}, 'users': {'items': {'$ref': '#/definitions/CloudUserInfo'}, 'type': 'array'}}, 'required': ['CloudDetails', 'users'], 'type': 'object'}, 'CloudInfoResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'$ref': '#/definitions/CloudInfo'}}, 'type': 'object'}, 'CloudInfoResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/CloudInfoResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'CloudInstanceTypesConstraint': {'additionalProperties': False, 'properties': {'cloud-tag': {'type': 'string'}, 'constraints': {'$ref': '#/definitions/Value'}, 'region': {'type': 'string'}}, 'required': ['cloud-tag', 'region'], 'type': 'object'}, 'CloudInstanceTypesConstraints': {'additionalProperties': False, 'properties': {'constraints': {'items': {'$ref': '#/definitions/CloudInstanceTypesConstraint'}, 'type': 'array'}}, 'required': ['constraints'], 'type': 'object'}, 'CloudRegion': {'additionalProperties': False, 'properties': {'endpoint': {'type': 'string'}, 'identity-endpoint': {'type': 'string'}, 'name': {'type': 'string'}, 'storage-endpoint': {'type': 'string'}}, 'required': ['name'], 'type': 'object'}, 'CloudResult': {'additionalProperties': False, 'properties': {'cloud': {'$ref': '#/definitions/Cloud'}, 'error': {'$ref': '#/definitions/Error'}}, 'type': 'object'}, 'CloudResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/CloudResult'}, 'type': 'array'}}, 'type': 'object'}, 'CloudUserInfo': {'additionalProperties': False, 'properties': {'access': {'type': 'string'}, 'display-name': {'type': 'string'}, 'user': {'type': 'string'}}, 'required': ['user', 'display-name', 'access'], 'type': 'object'}, 'CloudsResult': {'additionalProperties': False, 'properties': {'clouds': {'patternProperties': {'.*': {'$ref': '#/definitions/Cloud'}}, 'type': 'object'}}, 'type': 'object'}, 'ControllerCredentialInfo': {'additionalProperties': False, 'properties': {'content': {'$ref': '#/definitions/CredentialContent'}, 'models': {'items': {'$ref': '#/definitions/ModelAccess'}, 'type': 'array'}}, 'type': 'object'}, 'CredentialContent': {'additionalProperties': False, 'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}, 'auth-type': {'type': 'string'}, 'cloud': {'type': 'string'}, 'name': {'type': 'string'}}, 'required': ['name', 'cloud', 'auth-type'], 'type': 'object'}, 'CredentialContentResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'$ref': '#/definitions/ControllerCredentialInfo'}}, 'type': 'object'}, 'CredentialContentResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/CredentialContentResult'}, 'type': 'array'}}, 'type': 'object'}, 'Entities': {'additionalProperties': False, 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'}, 'type': 'array'}}, 'required': ['entities'], 'type': 'object'}, 'Entity': {'additionalProperties': False, 'properties': {'tag': {'type': 'string'}}, 'required': ['tag'], 'type': 'object'}, 'Error': {'additionalProperties': False, 'properties': {'code': {'type': 'string'}, 'info': {'$ref': '#/definitions/ErrorInfo'}, 'message': {'type': 'string'}}, 'required': ['message', 'code'], 'type': 'object'}, 'ErrorInfo': {'additionalProperties': False, 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'}, 'macaroon-path': {'type': 'string'}}, 'type': 'object'}, 'ErrorResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}}, 'type': 'object'}, 'ErrorResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'InstanceType': {'additionalProperties': False, 'properties': {'arches': {'items': {'type': 'string'}, 'type': 'array'}, 'cost': {'type': 'integer'}, 'cpu-cores': {'type': 'integer'}, 'deprecated': {'type': 'boolean'}, 'memory': {'type': 'integer'}, 'name': {'type': 'string'}, 'root-disk': {'type': 'integer'}, 'virt-type': {'type': 'string'}}, 'required': ['arches', 'cpu-cores', 'memory'], 'type': 'object'}, 'InstanceTypesResult': {'additionalProperties': False, 'properties': {'cost-currency': {'type': 'string'}, 'cost-divisor': {'type': 'integer'}, 'cost-unit': {'type': 'string'}, 'error': {'$ref': '#/definitions/Error'}, 'instance-types': {'items': {'$ref': '#/definitions/InstanceType'}, 'type': 'array'}}, 'type': 'object'}, 'InstanceTypesResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/InstanceTypesResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'ListCloudInfo': {'additionalProperties': False, 'properties': {'CloudDetails': {'$ref': '#/definitions/CloudDetails'}, 'user-access': {'type': 'string'}}, 'required': ['CloudDetails', 'user-access'], 'type': 'object'}, 'ListCloudInfoResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'$ref': '#/definitions/ListCloudInfo'}}, 'type': 'object'}, 'ListCloudInfoResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/ListCloudInfoResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'ListCloudsRequest': {'additionalProperties': False, 'properties': {'all': {'type': 'boolean'}, 'user-tag': {'type': 'string'}}, 'required': ['user-tag'], 'type': 'object'}, 'Macaroon': {'additionalProperties': False, 'type': 'object'}, 'ModelAccess': {'additionalProperties': False, 'properties': {'access': {'type': 'string'}, 'model': {'type': 'string'}}, 'type': 'object'}, 'ModifyCloudAccess': {'additionalProperties': False, 'properties': {'access': {'type': 'string'}, 'action': {'type': 'string'}, 'cloud-tag': {'type': 'string'}, 'user-tag': {'type': 'string'}}, 'required': ['user-tag', 'cloud-tag', 'action', 'access'], 'type': 'object'}, 'ModifyCloudAccessRequest': {'additionalProperties': False, 'properties': {'changes': {'items': {'$ref': '#/definitions/ModifyCloudAccess'}, 'type': 'array'}}, 'required': ['changes'], 'type': 'object'}, 'RevokeCredentialArg': {'additionalProperties': False, 'properties': {'force': {'type': 'boolean'}, 'tag': {'type': 'string'}}, 'required': ['tag', 'force'], 'type': 'object'}, 'RevokeCredentialArgs': {'additionalProperties': False, 'properties': {'credentials': {'items': {'$ref': '#/definitions/RevokeCredentialArg'}, 'type': 'array'}}, 'required': ['credentials'], 'type': 'object'}, 'StringResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'type': 'string'}}, 'required': ['result'], 'type': 'object'}, 'StringsResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'items': {'type': 'string'}, 'type': 'array'}}, 'type': 'object'}, 'StringsResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/StringsResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'TaggedCredential': {'additionalProperties': False, 'properties': {'credential': {'$ref': '#/definitions/CloudCredential'}, 'tag': {'type': 'string'}}, 'required': ['tag', 'credential'], 'type': 'object'}, 'TaggedCredentials': {'additionalProperties': False, 'properties': {'credentials': {'items': {'$ref': '#/definitions/TaggedCredential'}, 'type': 'array'}}, 'type': 'object'}, 'UpdateCredentialArgs': {'additionalProperties': False, 'properties': {'credentials': {'items': {'$ref': '#/definitions/TaggedCredential'}, 'type': 'array'}, 'force': {'type': 'boolean'}}, 'required': ['credentials', 'force'], 'type': 'object'}, 'UpdateCredentialModelResult': {'additionalProperties': False, 'properties': {'errors': {'items': {'$ref': '#/definitions/ErrorResult'}, 'type': 'array'}, 'name': {'type': 'string'}, 'uuid': {'type': 'string'}}, 'required': ['uuid', 'name'], 'type': 'object'}, 'UpdateCredentialResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'models': {'items': {'$ref': '#/definitions/UpdateCredentialModelResult'}, 'type': 'array'}, 'tag': {'type': 'string'}}, 'required': ['tag'], 'type': 'object'}, 'UpdateCredentialResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/UpdateCredentialResult'}, 'type': 'array'}}, 'type': 'object'}, 'UserCloud': {'additionalProperties': False, 'properties': {'cloud-tag': {'type': 'string'}, 'user-tag': {'type': 'string'}}, 'required': ['user-tag', 'cloud-tag'], 'type': 'object'}, 'UserClouds': {'additionalProperties': False, 'properties': {'user-clouds': {'items': {'$ref': '#/definitions/UserCloud'}, 'type': 'array'}}, 'type': 'object'}, 'Value': {'additionalProperties': False, 'properties': {'arch': {'type': 'string'}, 'container': {'type': 'string'}, 'cores': {'type': 'integer'}, 'cpu-power': {'type': 'integer'}, 'instance-type': {'type': 'string'}, 'mem': {'type': 'integer'}, 'root-disk': {'type': 'integer'}, 'spaces': {'items': {'type': 'string'}, 'type': 'array'}, 'tags': {'items': {'type': 'string'}, 'type': 'array'}, 'virt-type': {'type': 'string'}, 'zones': {'items': {'type': 'string'}, 'type': 'array'}}, 'type': 'object'}}, 'properties': {'AddCloud': {'properties': {'Params': {'$ref': '#/definitions/AddCloudArgs'}}, 'type': 'object'}, 'AddCredentials': {'properties': {'Params': {'$ref': '#/definitions/TaggedCredentials'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'CheckCredentialsModels': {'properties': {'Params': {'$ref': '#/definitions/TaggedCredentials'}, 'Result': {'$ref': '#/definitions/UpdateCredentialResults'}}, 'type': 'object'}, 'Cloud': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/CloudResults'}}, 'type': 'object'}, 'CloudInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/CloudInfoResults'}}, 'type': 'object'}, 'Clouds': {'properties': {'Result': {'$ref': '#/definitions/CloudsResult'}}, 'type': 'object'}, 'Credential': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/CloudCredentialResults'}}, 'type': 'object'}, 'CredentialContents': {'properties': {'Params': {'$ref': '#/definitions/CloudCredentialArgs'}, 'Result': {'$ref': '#/definitions/CredentialContentResults'}}, 'type': 'object'}, 'DefaultCloud': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}}, 'type': 'object'}, 'InstanceTypes': {'properties': {'Params': {'$ref': '#/definitions/CloudInstanceTypesConstraints'}, 'Result': {'$ref': '#/definitions/InstanceTypesResults'}}, 'type': 'object'}, 'ListCloudInfo': {'properties': {'Params': {'$ref': '#/definitions/ListCloudsRequest'}, 'Result': {'$ref': '#/definitions/ListCloudInfoResults'}}, 'type': 'object'}, 'ModifyCloudAccess': {'properties': {'Params': {'$ref': '#/definitions/ModifyCloudAccessRequest'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'RemoveClouds': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'RevokeCredentialsCheckModels': {'properties': {'Params': {'$ref': '#/definitions/RevokeCredentialArgs'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'UpdateCredentialsCheckModels': {'properties': {'Params': {'$ref': '#/definitions/UpdateCredentialArgs'}, 'Result': {'$ref': '#/definitions/UpdateCredentialResults'}}, 'type': 'object'}, 'UserCredentials': {'properties': {'Params': {'$ref': '#/definitions/UserClouds'}, 'Result': {'$ref': '#/definitions/StringsResults'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(None) async def AddCloud(self, cloud=None, name=None): ''' cloud : Cloud name : str Returns -> None ''' if cloud is not None and not isinstance(cloud, (dict, Cloud)): raise Exception("Expected cloud to be a Cloud, received: {}".format(type(cloud))) if name is not None and not isinstance(name, (bytes, str)): raise Exception("Expected name to be a str, received: {}".format(type(name))) # map input types to rpc msg _params = dict() msg = dict(type='Cloud', request='AddCloud', version=3, params=_params) _params['cloud'] = cloud _params['name'] = name reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def AddCredentials(self, credentials=None): ''' credentials : typing.Sequence[~TaggedCredential] Returns -> typing.Sequence[~ErrorResult] ''' if credentials is not None and not isinstance(credentials, (bytes, str, list)): raise Exception("Expected credentials to be a Sequence, received: {}".format(type(credentials))) # map input types to rpc msg _params = dict() msg = dict(type='Cloud', request='AddCredentials', version=3, params=_params) _params['credentials'] = credentials reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(UpdateCredentialResults) async def CheckCredentialsModels(self, credentials=None): ''' credentials : typing.Sequence[~TaggedCredential] Returns -> typing.Sequence[~UpdateCredentialResult] ''' if credentials is not None and not isinstance(credentials, (bytes, str, list)): raise Exception("Expected credentials to be a Sequence, received: {}".format(type(credentials))) # map input types to rpc msg _params = dict() msg = dict(type='Cloud', request='CheckCredentialsModels', version=3, params=_params) _params['credentials'] = credentials reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(CloudResults) async def Cloud(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~CloudResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Cloud', request='Cloud', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(CloudInfoResults) async def CloudInfo(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~CloudInfoResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Cloud', request='CloudInfo', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(CloudsResult) async def Clouds(self): ''' Returns -> typing.Mapping[str, ~Cloud] ''' # map input types to rpc msg _params = dict() msg = dict(type='Cloud', request='Clouds', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(CloudCredentialResults) async def Credential(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~CloudCredentialResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Cloud', request='Credential', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(CredentialContentResults) async def CredentialContents(self, credentials=None, include_secrets=None): ''' credentials : typing.Sequence[~CloudCredentialArg] include_secrets : bool Returns -> typing.Sequence[~CredentialContentResult] ''' if credentials is not None and not isinstance(credentials, (bytes, str, list)): raise Exception("Expected credentials to be a Sequence, received: {}".format(type(credentials))) if include_secrets is not None and not isinstance(include_secrets, bool): raise Exception("Expected include_secrets to be a bool, received: {}".format(type(include_secrets))) # map input types to rpc msg _params = dict() msg = dict(type='Cloud', request='CredentialContents', version=3, params=_params) _params['credentials'] = credentials _params['include-secrets'] = include_secrets reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringResult) async def DefaultCloud(self): ''' Returns -> typing.Union[_ForwardRef('Error'), str] ''' # map input types to rpc msg _params = dict() msg = dict(type='Cloud', request='DefaultCloud', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(InstanceTypesResults) async def InstanceTypes(self, constraints=None): ''' constraints : typing.Sequence[~CloudInstanceTypesConstraint] Returns -> typing.Sequence[~InstanceTypesResult] ''' if constraints is not None and not isinstance(constraints, (bytes, str, list)): raise Exception("Expected constraints to be a Sequence, received: {}".format(type(constraints))) # map input types to rpc msg _params = dict() msg = dict(type='Cloud', request='InstanceTypes', version=3, params=_params) _params['constraints'] = constraints reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ListCloudInfoResults) async def ListCloudInfo(self, all_=None, user_tag=None): ''' all_ : bool user_tag : str Returns -> typing.Sequence[~ListCloudInfoResult] ''' if all_ is not None and not isinstance(all_, bool): raise Exception("Expected all_ to be a bool, received: {}".format(type(all_))) if user_tag is not None and not isinstance(user_tag, (bytes, str)): raise Exception("Expected user_tag to be a str, received: {}".format(type(user_tag))) # map input types to rpc msg _params = dict() msg = dict(type='Cloud', request='ListCloudInfo', version=3, params=_params) _params['all'] = all_ _params['user-tag'] = user_tag reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def ModifyCloudAccess(self, changes=None): ''' changes : typing.Sequence[~ModifyCloudAccess] Returns -> typing.Sequence[~ErrorResult] ''' if changes is not None and not isinstance(changes, (bytes, str, list)): raise Exception("Expected changes to be a Sequence, received: {}".format(type(changes))) # map input types to rpc msg _params = dict() msg = dict(type='Cloud', request='ModifyCloudAccess', version=3, params=_params) _params['changes'] = changes reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def RemoveClouds(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ErrorResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Cloud', request='RemoveClouds', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def RevokeCredentialsCheckModels(self, credentials=None): ''' credentials : typing.Sequence[~RevokeCredentialArg] Returns -> typing.Sequence[~ErrorResult] ''' if credentials is not None and not isinstance(credentials, (bytes, str, list)): raise Exception("Expected credentials to be a Sequence, received: {}".format(type(credentials))) # map input types to rpc msg _params = dict() msg = dict(type='Cloud', request='RevokeCredentialsCheckModels', version=3, params=_params) _params['credentials'] = credentials reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(UpdateCredentialResults) async def UpdateCredentialsCheckModels(self, credentials=None, force=None): ''' credentials : typing.Sequence[~TaggedCredential] force : bool Returns -> typing.Sequence[~UpdateCredentialResult] ''' if credentials is not None and not isinstance(credentials, (bytes, str, list)): raise Exception("Expected credentials to be a Sequence, received: {}".format(type(credentials))) if force is not None and not isinstance(force, bool): raise Exception("Expected force to be a bool, received: {}".format(type(force))) # map input types to rpc msg _params = dict() msg = dict(type='Cloud', request='UpdateCredentialsCheckModels', version=3, params=_params) _params['credentials'] = credentials _params['force'] = force reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringsResults) async def UserCredentials(self, user_clouds=None): ''' user_clouds : typing.Sequence[~UserCloud] Returns -> typing.Sequence[~StringsResult] ''' if user_clouds is not None and not isinstance(user_clouds, (bytes, str, list)): raise Exception("Expected user_clouds to be a Sequence, received: {}".format(type(user_clouds))) # map input types to rpc msg _params = dict() msg = dict(type='Cloud', request='UserCredentials', version=3, params=_params) _params['user-clouds'] = user_clouds reply = await self.rpc(msg) return reply
[docs]class ControllerFacade(Type): name = 'Controller' version = 3 schema = {'definitions': {'AllWatcherId': {'additionalProperties': False, 'properties': {'watcher-id': {'type': 'string'}}, 'required': ['watcher-id'], 'type': 'object'}, 'CloudCredential': {'additionalProperties': False, 'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}, 'auth-type': {'type': 'string'}, 'redacted': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['auth-type'], 'type': 'object'}, 'CloudSpec': {'additionalProperties': False, 'properties': {'credential': {'$ref': '#/definitions/CloudCredential'}, 'endpoint': {'type': 'string'}, 'identity-endpoint': {'type': 'string'}, 'name': {'type': 'string'}, 'region': {'type': 'string'}, 'storage-endpoint': {'type': 'string'}, 'type': {'type': 'string'}}, 'required': ['type', 'name'], 'type': 'object'}, 'CloudSpecResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'$ref': '#/definitions/CloudSpec'}}, 'type': 'object'}, 'CloudSpecResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/CloudSpecResult'}, 'type': 'array'}}, 'type': 'object'}, 'ConfigValue': {'additionalProperties': False, 'properties': {'source': {'type': 'string'}, 'value': {'additionalProperties': True, 'type': 'object'}}, 'required': ['value', 'source'], 'type': 'object'}, 'ControllerConfigResult': {'additionalProperties': False, 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}}, 'required': ['config'], 'type': 'object'}, 'DestroyControllerArgs': {'additionalProperties': False, 'properties': {'destroy-models': {'type': 'boolean'}}, 'required': ['destroy-models'], 'type': 'object'}, 'Entities': {'additionalProperties': False, 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'}, 'type': 'array'}}, 'required': ['entities'], 'type': 'object'}, 'Entity': {'additionalProperties': False, 'properties': {'tag': {'type': 'string'}}, 'required': ['tag'], 'type': 'object'}, 'Error': {'additionalProperties': False, 'properties': {'code': {'type': 'string'}, 'info': {'$ref': '#/definitions/ErrorInfo'}, 'message': {'type': 'string'}}, 'required': ['message', 'code'], 'type': 'object'}, 'ErrorInfo': {'additionalProperties': False, 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'}, 'macaroon-path': {'type': 'string'}}, 'type': 'object'}, 'ErrorResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}}, 'type': 'object'}, 'ErrorResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'HostedModelConfig': {'additionalProperties': False, 'properties': {'cloud-spec': {'$ref': '#/definitions/CloudSpec'}, 'config': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'error': {'$ref': '#/definitions/Error'}, 'name': {'type': 'string'}, 'owner': {'type': 'string'}}, 'required': ['name', 'owner'], 'type': 'object'}, 'HostedModelConfigsResults': {'additionalProperties': False, 'properties': {'models': {'items': {'$ref': '#/definitions/HostedModelConfig'}, 'type': 'array'}}, 'required': ['models'], 'type': 'object'}, 'InitiateMigrationArgs': {'additionalProperties': False, 'properties': {'specs': {'items': {'$ref': '#/definitions/MigrationSpec'}, 'type': 'array'}}, 'required': ['specs'], 'type': 'object'}, 'InitiateMigrationResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'migration-id': {'type': 'string'}, 'model-tag': {'type': 'string'}}, 'required': ['model-tag', 'migration-id'], 'type': 'object'}, 'InitiateMigrationResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/InitiateMigrationResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'Macaroon': {'additionalProperties': False, 'type': 'object'}, 'MachineHardware': {'additionalProperties': False, 'properties': {'arch': {'type': 'string'}, 'availability-zone': {'type': 'string'}, 'cores': {'type': 'integer'}, 'cpu-power': {'type': 'integer'}, 'mem': {'type': 'integer'}, 'root-disk': {'type': 'integer'}, 'tags': {'items': {'type': 'string'}, 'type': 'array'}}, 'type': 'object'}, 'MigrationSpec': {'additionalProperties': False, 'properties': {'model-tag': {'type': 'string'}, 'target-info': {'$ref': '#/definitions/MigrationTargetInfo'}}, 'required': ['model-tag', 'target-info'], 'type': 'object'}, 'MigrationTargetInfo': {'additionalProperties': False, 'properties': {'addrs': {'items': {'type': 'string'}, 'type': 'array'}, 'auth-tag': {'type': 'string'}, 'ca-cert': {'type': 'string'}, 'controller-tag': {'type': 'string'}, 'macaroons': {'type': 'string'}, 'password': {'type': 'string'}}, 'required': ['controller-tag', 'addrs', 'ca-cert', 'auth-tag'], 'type': 'object'}, 'Model': {'additionalProperties': False, 'properties': {'name': {'type': 'string'}, 'owner-tag': {'type': 'string'}, 'uuid': {'type': 'string'}}, 'required': ['name', 'uuid', 'owner-tag'], 'type': 'object'}, 'ModelBlockInfo': {'additionalProperties': False, 'properties': {'blocks': {'items': {'type': 'string'}, 'type': 'array'}, 'model-uuid': {'type': 'string'}, 'name': {'type': 'string'}, 'owner-tag': {'type': 'string'}}, 'required': ['name', 'model-uuid', 'owner-tag', 'blocks'], 'type': 'object'}, 'ModelBlockInfoList': {'additionalProperties': False, 'properties': {'models': {'items': {'$ref': '#/definitions/ModelBlockInfo'}, 'type': 'array'}}, 'type': 'object'}, 'ModelConfigResults': {'additionalProperties': False, 'properties': {'config': {'patternProperties': {'.*': {'$ref': '#/definitions/ConfigValue'}}, 'type': 'object'}}, 'required': ['config'], 'type': 'object'}, 'ModelMachineInfo': {'additionalProperties': False, 'properties': {'hardware': {'$ref': '#/definitions/MachineHardware'}, 'has-vote': {'type': 'boolean'}, 'id': {'type': 'string'}, 'instance-id': {'type': 'string'}, 'status': {'type': 'string'}, 'wants-vote': {'type': 'boolean'}}, 'required': ['id'], 'type': 'object'}, 'ModelStatus': {'additionalProperties': False, 'properties': {'application-count': {'type': 'integer'}, 'hosted-machine-count': {'type': 'integer'}, 'life': {'type': 'string'}, 'machines': {'items': {'$ref': '#/definitions/ModelMachineInfo'}, 'type': 'array'}, 'model-tag': {'type': 'string'}, 'owner-tag': {'type': 'string'}}, 'required': ['model-tag', 'life', 'hosted-machine-count', 'application-count', 'owner-tag'], 'type': 'object'}, 'ModelStatusResults': {'additionalProperties': False, 'properties': {'models': {'items': {'$ref': '#/definitions/ModelStatus'}, 'type': 'array'}}, 'required': ['models'], 'type': 'object'}, 'ModelTag': {'additionalProperties': False, 'type': 'object'}, 'ModifyControllerAccess': {'additionalProperties': False, 'properties': {'access': {'type': 'string'}, 'action': {'type': 'string'}, 'user-tag': {'type': 'string'}}, 'required': ['user-tag', 'action', 'access'], 'type': 'object'}, 'ModifyControllerAccessRequest': {'additionalProperties': False, 'properties': {'changes': {'items': {'$ref': '#/definitions/ModifyControllerAccess'}, 'type': 'array'}}, 'required': ['changes'], 'type': 'object'}, 'RemoveBlocksArgs': {'additionalProperties': False, 'properties': {'all': {'type': 'boolean'}}, 'required': ['all'], 'type': 'object'}, 'UserAccess': {'additionalProperties': False, 'properties': {'access': {'type': 'string'}, 'user-tag': {'type': 'string'}}, 'required': ['user-tag', 'access'], 'type': 'object'}, 'UserAccessResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'$ref': '#/definitions/UserAccess'}}, 'type': 'object'}, 'UserAccessResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/UserAccessResult'}, 'type': 'array'}}, 'type': 'object'}, 'UserModel': {'additionalProperties': False, 'properties': {'last-connection': {'format': 'date-time', 'type': 'string'}, 'model': {'$ref': '#/definitions/Model'}}, 'required': ['model', 'last-connection'], 'type': 'object'}, 'UserModelList': {'additionalProperties': False, 'properties': {'user-models': {'items': {'$ref': '#/definitions/UserModel'}, 'type': 'array'}}, 'required': ['user-models'], 'type': 'object'}}, 'properties': {'AllModels': {'properties': {'Result': {'$ref': '#/definitions/UserModelList'}}, 'type': 'object'}, 'CloudSpec': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/CloudSpecResults'}}, 'type': 'object'}, 'ControllerConfig': {'properties': {'Result': {'$ref': '#/definitions/ControllerConfigResult'}}, 'type': 'object'}, 'DestroyController': {'properties': {'Params': {'$ref': '#/definitions/DestroyControllerArgs'}}, 'type': 'object'}, 'GetCloudSpec': {'properties': {'Params': {'$ref': '#/definitions/ModelTag'}, 'Result': {'$ref': '#/definitions/CloudSpecResult'}}, 'type': 'object'}, 'GetControllerAccess': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/UserAccessResults'}}, 'type': 'object'}, 'HostedModelConfigs': {'properties': {'Result': {'$ref': '#/definitions/HostedModelConfigsResults'}}, 'type': 'object'}, 'InitiateMigration': {'properties': {'Params': {'$ref': '#/definitions/InitiateMigrationArgs'}, 'Result': {'$ref': '#/definitions/InitiateMigrationResults'}}, 'type': 'object'}, 'ListBlockedModels': {'properties': {'Result': {'$ref': '#/definitions/ModelBlockInfoList'}}, 'type': 'object'}, 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResults'}}, 'type': 'object'}, 'ModelStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ModelStatusResults'}}, 'type': 'object'}, 'ModifyControllerAccess': {'properties': {'Params': {'$ref': '#/definitions/ModifyControllerAccessRequest'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'RemoveBlocks': {'properties': {'Params': {'$ref': '#/definitions/RemoveBlocksArgs'}}, 'type': 'object'}, 'WatchAllModels': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherId'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(UserModelList) async def AllModels(self): ''' Returns -> typing.Sequence[~UserModel] ''' # map input types to rpc msg _params = dict() msg = dict(type='Controller', request='AllModels', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(CloudSpecResults) async def CloudSpec(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~CloudSpecResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Controller', request='CloudSpec', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ControllerConfigResult) async def ControllerConfig(self): ''' Returns -> typing.Mapping[str, typing.Any] ''' # map input types to rpc msg _params = dict() msg = dict(type='Controller', request='ControllerConfig', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def DestroyController(self, destroy_models=None): ''' destroy_models : bool Returns -> None ''' if destroy_models is not None and not isinstance(destroy_models, bool): raise Exception("Expected destroy_models to be a bool, received: {}".format(type(destroy_models))) # map input types to rpc msg _params = dict() msg = dict(type='Controller', request='DestroyController', version=3, params=_params) _params['destroy-models'] = destroy_models reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(CloudSpecResult) async def GetCloudSpec(self): ''' Returns -> typing.Union[_ForwardRef('Error'), _ForwardRef('CloudSpec')] ''' # map input types to rpc msg _params = dict() msg = dict(type='Controller', request='GetCloudSpec', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(UserAccessResults) async def GetControllerAccess(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~UserAccessResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Controller', request='GetControllerAccess', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(HostedModelConfigsResults) async def HostedModelConfigs(self): ''' Returns -> typing.Sequence[~HostedModelConfig] ''' # map input types to rpc msg _params = dict() msg = dict(type='Controller', request='HostedModelConfigs', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(InitiateMigrationResults) async def InitiateMigration(self, specs=None): ''' specs : typing.Sequence[~MigrationSpec] Returns -> typing.Sequence[~InitiateMigrationResult] ''' if specs is not None and not isinstance(specs, (bytes, str, list)): raise Exception("Expected specs to be a Sequence, received: {}".format(type(specs))) # map input types to rpc msg _params = dict() msg = dict(type='Controller', request='InitiateMigration', version=3, params=_params) _params['specs'] = specs reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ModelBlockInfoList) async def ListBlockedModels(self): ''' Returns -> typing.Sequence[~ModelBlockInfo] ''' # map input types to rpc msg _params = dict() msg = dict(type='Controller', request='ListBlockedModels', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ModelConfigResults) async def ModelConfig(self): ''' Returns -> typing.Mapping[str, ~ConfigValue] ''' # map input types to rpc msg _params = dict() msg = dict(type='Controller', request='ModelConfig', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ModelStatusResults) async def ModelStatus(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ModelStatus] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Controller', request='ModelStatus', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def ModifyControllerAccess(self, changes=None): ''' changes : typing.Sequence[~ModifyControllerAccess] Returns -> typing.Sequence[~ErrorResult] ''' if changes is not None and not isinstance(changes, (bytes, str, list)): raise Exception("Expected changes to be a Sequence, received: {}".format(type(changes))) # map input types to rpc msg _params = dict() msg = dict(type='Controller', request='ModifyControllerAccess', version=3, params=_params) _params['changes'] = changes reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def RemoveBlocks(self, all_=None): ''' all_ : bool Returns -> None ''' if all_ is not None and not isinstance(all_, bool): raise Exception("Expected all_ to be a bool, received: {}".format(type(all_))) # map input types to rpc msg _params = dict() msg = dict(type='Controller', request='RemoveBlocks', version=3, params=_params) _params['all'] = all_ reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(AllWatcherId) async def WatchAllModels(self): ''' Returns -> str ''' # map input types to rpc msg _params = dict() msg = dict(type='Controller', request='WatchAllModels', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs]class FirewallerFacade(Type): name = 'Firewaller' version = 3 schema = {'definitions': {'BoolResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'type': 'boolean'}}, 'required': ['result'], 'type': 'object'}, 'BoolResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/BoolResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'CloudCredential': {'additionalProperties': False, 'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}, 'auth-type': {'type': 'string'}, 'redacted': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['auth-type'], 'type': 'object'}, 'CloudSpec': {'additionalProperties': False, 'properties': {'credential': {'$ref': '#/definitions/CloudCredential'}, 'endpoint': {'type': 'string'}, 'identity-endpoint': {'type': 'string'}, 'name': {'type': 'string'}, 'region': {'type': 'string'}, 'storage-endpoint': {'type': 'string'}, 'type': {'type': 'string'}}, 'required': ['type', 'name'], 'type': 'object'}, 'CloudSpecResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'$ref': '#/definitions/CloudSpec'}}, 'type': 'object'}, 'CloudSpecResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/CloudSpecResult'}, 'type': 'array'}}, 'type': 'object'}, 'Entities': {'additionalProperties': False, 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'}, 'type': 'array'}}, 'required': ['entities'], 'type': 'object'}, 'Entity': {'additionalProperties': False, 'properties': {'tag': {'type': 'string'}}, 'required': ['tag'], 'type': 'object'}, 'Error': {'additionalProperties': False, 'properties': {'code': {'type': 'string'}, 'info': {'$ref': '#/definitions/ErrorInfo'}, 'message': {'type': 'string'}}, 'required': ['message', 'code'], 'type': 'object'}, 'ErrorInfo': {'additionalProperties': False, 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'}, 'macaroon-path': {'type': 'string'}}, 'type': 'object'}, 'LifeResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'life': {'type': 'string'}}, 'required': ['life'], 'type': 'object'}, 'LifeResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'Macaroon': {'additionalProperties': False, 'type': 'object'}, 'MachinePortRange': {'additionalProperties': False, 'properties': {'port-range': {'$ref': '#/definitions/PortRange'}, 'relation-tag': {'type': 'string'}, 'unit-tag': {'type': 'string'}}, 'required': ['unit-tag', 'relation-tag', 'port-range'], 'type': 'object'}, 'MachinePorts': {'additionalProperties': False, 'properties': {'machine-tag': {'type': 'string'}, 'subnet-tag': {'type': 'string'}}, 'required': ['machine-tag', 'subnet-tag'], 'type': 'object'}, 'MachinePortsParams': {'additionalProperties': False, 'properties': {'params': {'items': {'$ref': '#/definitions/MachinePorts'}, 'type': 'array'}}, 'required': ['params'], 'type': 'object'}, 'MachinePortsResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'ports': {'items': {'$ref': '#/definitions/MachinePortRange'}, 'type': 'array'}}, 'required': ['ports'], 'type': 'object'}, 'MachinePortsResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/MachinePortsResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'ModelConfigResult': {'additionalProperties': False, 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}}, 'required': ['config'], 'type': 'object'}, 'ModelTag': {'additionalProperties': False, 'type': 'object'}, 'NotifyWatchResult': {'additionalProperties': False, 'properties': {'NotifyWatcherId': {'type': 'string'}, 'error': {'$ref': '#/definitions/Error'}}, 'required': ['NotifyWatcherId'], 'type': 'object'}, 'NotifyWatchResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'PortRange': {'additionalProperties': False, 'properties': {'from-port': {'type': 'integer'}, 'protocol': {'type': 'string'}, 'to-port': {'type': 'integer'}}, 'required': ['from-port', 'to-port', 'protocol'], 'type': 'object'}, 'StringResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'type': 'string'}}, 'required': ['result'], 'type': 'object'}, 'StringResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'StringsResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'items': {'type': 'string'}, 'type': 'array'}}, 'type': 'object'}, 'StringsResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/StringsResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'StringsWatchResult': {'additionalProperties': False, 'properties': {'changes': {'items': {'type': 'string'}, 'type': 'array'}, 'error': {'$ref': '#/definitions/Error'}, 'watcher-id': {'type': 'string'}}, 'required': ['watcher-id'], 'type': 'object'}, 'StringsWatchResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}}, 'properties': {'CloudSpec': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/CloudSpecResults'}}, 'type': 'object'}, 'GetAssignedMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/StringResults'}}, 'type': 'object'}, 'GetCloudSpec': {'properties': {'Params': {'$ref': '#/definitions/ModelTag'}, 'Result': {'$ref': '#/definitions/CloudSpecResult'}}, 'type': 'object'}, 'GetExposed': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/BoolResults'}}, 'type': 'object'}, 'GetMachineActiveSubnets': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/StringsResults'}}, 'type': 'object'}, 'GetMachinePorts': {'properties': {'Params': {'$ref': '#/definitions/MachinePortsParams'}, 'Result': {'$ref': '#/definitions/MachinePortsResults'}}, 'type': 'object'}, 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/StringResults'}}, 'type': 'object'}, 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/LifeResults'}}, 'type': 'object'}, 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}}, 'type': 'object'}, 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, 'type': 'object'}, 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, 'type': 'object'}, 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}}, 'type': 'object'}, 'WatchOpenedPorts': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/StringsWatchResults'}}, 'type': 'object'}, 'WatchUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/StringsWatchResults'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(CloudSpecResults) async def CloudSpec(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~CloudSpecResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Firewaller', request='CloudSpec', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringResults) async def GetAssignedMachine(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~StringResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Firewaller', request='GetAssignedMachine', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(CloudSpecResult) async def GetCloudSpec(self): ''' Returns -> typing.Union[_ForwardRef('Error'), _ForwardRef('CloudSpec')] ''' # map input types to rpc msg _params = dict() msg = dict(type='Firewaller', request='GetCloudSpec', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(BoolResults) async def GetExposed(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~BoolResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Firewaller', request='GetExposed', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringsResults) async def GetMachineActiveSubnets(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~StringsResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Firewaller', request='GetMachineActiveSubnets', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(MachinePortsResults) async def GetMachinePorts(self, params=None): ''' params : typing.Sequence[~MachinePorts] Returns -> typing.Sequence[~MachinePortsResult] ''' if params is not None and not isinstance(params, (bytes, str, list)): raise Exception("Expected params to be a Sequence, received: {}".format(type(params))) # map input types to rpc msg _params = dict() msg = dict(type='Firewaller', request='GetMachinePorts', version=3, params=_params) _params['params'] = params reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringResults) async def InstanceId(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~StringResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Firewaller', request='InstanceId', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(LifeResults) async def Life(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~LifeResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Firewaller', request='Life', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ModelConfigResult) async def ModelConfig(self): ''' Returns -> typing.Mapping[str, typing.Any] ''' # map input types to rpc msg _params = dict() msg = dict(type='Firewaller', request='ModelConfig', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(NotifyWatchResults) async def Watch(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~NotifyWatchResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Firewaller', request='Watch', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(NotifyWatchResult) async def WatchForModelConfigChanges(self): ''' Returns -> typing.Union[str, _ForwardRef('Error')] ''' # map input types to rpc msg _params = dict() msg = dict(type='Firewaller', request='WatchForModelConfigChanges', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringsWatchResult) async def WatchModelMachines(self): ''' Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error'), str] ''' # map input types to rpc msg _params = dict() msg = dict(type='Firewaller', request='WatchModelMachines', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringsWatchResults) async def WatchOpenedPorts(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~StringsWatchResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Firewaller', request='WatchOpenedPorts', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringsWatchResults) async def WatchUnits(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~StringsWatchResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Firewaller', request='WatchUnits', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs]class ImageMetadataFacade(Type): name = 'ImageMetadata' version = 3 schema = {'properties': {'UpdateFromPublishedImages': {'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(None) async def UpdateFromPublishedImages(self): ''' Returns -> None ''' # map input types to rpc msg _params = dict() msg = dict(type='ImageMetadata', request='UpdateFromPublishedImages', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs]class InstancePollerFacade(Type): name = 'InstancePoller' version = 3 schema = {'definitions': {'Address': {'additionalProperties': False, 'properties': {'scope': {'type': 'string'}, 'space-id': {'type': 'string'}, 'space-name': {'type': 'string'}, 'type': {'type': 'string'}, 'value': {'type': 'string'}}, 'required': ['value', 'type', 'scope'], 'type': 'object'}, 'BoolResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'type': 'boolean'}}, 'required': ['result'], 'type': 'object'}, 'BoolResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/BoolResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'Entities': {'additionalProperties': False, 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'}, 'type': 'array'}}, 'required': ['entities'], 'type': 'object'}, 'Entity': {'additionalProperties': False, 'properties': {'tag': {'type': 'string'}}, 'required': ['tag'], 'type': 'object'}, 'EntityStatusArgs': {'additionalProperties': False, 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'info': {'type': 'string'}, 'status': {'type': 'string'}, 'tag': {'type': 'string'}}, 'required': ['tag', 'status', 'info', 'data'], 'type': 'object'}, 'Error': {'additionalProperties': False, 'properties': {'code': {'type': 'string'}, 'info': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'message': {'type': 'string'}}, 'required': ['message', 'code'], 'type': 'object'}, 'ErrorResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}}, 'type': 'object'}, 'ErrorResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'LifeResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'life': {'type': 'string'}}, 'required': ['life'], 'type': 'object'}, 'LifeResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'MachineAddresses': {'additionalProperties': False, 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'}, 'type': 'array'}, 'tag': {'type': 'string'}}, 'required': ['tag', 'addresses'], 'type': 'object'}, 'MachineAddressesResult': {'additionalProperties': False, 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'}, 'type': 'array'}, 'error': {'$ref': '#/definitions/Error'}}, 'required': ['addresses'], 'type': 'object'}, 'MachineAddressesResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/MachineAddressesResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'ModelConfigResult': {'additionalProperties': False, 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}}, 'required': ['config'], 'type': 'object'}, 'NotifyWatchResult': {'additionalProperties': False, 'properties': {'NotifyWatcherId': {'type': 'string'}, 'error': {'$ref': '#/definitions/Error'}}, 'required': ['NotifyWatcherId'], 'type': 'object'}, 'SetMachinesAddresses': {'additionalProperties': False, 'properties': {'machine-addresses': {'items': {'$ref': '#/definitions/MachineAddresses'}, 'type': 'array'}}, 'required': ['machine-addresses'], 'type': 'object'}, 'SetStatus': {'additionalProperties': False, 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'}, 'type': 'array'}}, 'required': ['entities'], 'type': 'object'}, 'StatusResult': {'additionalProperties': False, 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'error': {'$ref': '#/definitions/Error'}, 'id': {'type': 'string'}, 'info': {'type': 'string'}, 'life': {'type': 'string'}, 'since': {'format': 'date-time', 'type': 'string'}, 'status': {'type': 'string'}}, 'required': ['id', 'life', 'status', 'info', 'data', 'since'], 'type': 'object'}, 'StatusResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/StatusResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'StringResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'type': 'string'}}, 'required': ['result'], 'type': 'object'}, 'StringResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'StringsWatchResult': {'additionalProperties': False, 'properties': {'changes': {'items': {'type': 'string'}, 'type': 'array'}, 'error': {'$ref': '#/definitions/Error'}, 'watcher-id': {'type': 'string'}}, 'required': ['watcher-id'], 'type': 'object'}}, 'properties': {'AreManuallyProvisioned': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/BoolResults'}}, 'type': 'object'}, 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/StringResults'}}, 'type': 'object'}, 'InstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/StatusResults'}}, 'type': 'object'}, 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/LifeResults'}}, 'type': 'object'}, 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}}, 'type': 'object'}, 'ProviderAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/MachineAddressesResults'}}, 'type': 'object'}, 'SetInstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'SetProviderAddresses': {'properties': {'Params': {'$ref': '#/definitions/SetMachinesAddresses'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'Status': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/StatusResults'}}, 'type': 'object'}, 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, 'type': 'object'}, 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(BoolResults) async def AreManuallyProvisioned(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~BoolResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='InstancePoller', request='AreManuallyProvisioned', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringResults) async def InstanceId(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~StringResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='InstancePoller', request='InstanceId', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StatusResults) async def InstanceStatus(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~StatusResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='InstancePoller', request='InstanceStatus', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(LifeResults) async def Life(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~LifeResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='InstancePoller', request='Life', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ModelConfigResult) async def ModelConfig(self): ''' Returns -> typing.Mapping[str, typing.Any] ''' # map input types to rpc msg _params = dict() msg = dict(type='InstancePoller', request='ModelConfig', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(MachineAddressesResults) async def ProviderAddresses(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~MachineAddressesResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='InstancePoller', request='ProviderAddresses', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def SetInstanceStatus(self, entities=None): ''' entities : typing.Sequence[~EntityStatusArgs] Returns -> typing.Sequence[~ErrorResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='InstancePoller', request='SetInstanceStatus', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def SetProviderAddresses(self, machine_addresses=None): ''' machine_addresses : typing.Sequence[~MachineAddresses] Returns -> typing.Sequence[~ErrorResult] ''' if machine_addresses is not None and not isinstance(machine_addresses, (bytes, str, list)): raise Exception("Expected machine_addresses to be a Sequence, received: {}".format(type(machine_addresses))) # map input types to rpc msg _params = dict() msg = dict(type='InstancePoller', request='SetProviderAddresses', version=3, params=_params) _params['machine-addresses'] = machine_addresses reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StatusResults) async def Status(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~StatusResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='InstancePoller', request='Status', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(NotifyWatchResult) async def WatchForModelConfigChanges(self): ''' Returns -> typing.Union[str, _ForwardRef('Error')] ''' # map input types to rpc msg _params = dict() msg = dict(type='InstancePoller', request='WatchForModelConfigChanges', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringsWatchResult) async def WatchModelMachines(self): ''' Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error'), str] ''' # map input types to rpc msg _params = dict() msg = dict(type='InstancePoller', request='WatchModelMachines', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs]class MachineManagerFacade(Type): name = 'MachineManager' version = 3 schema = {'definitions': {'AddMachineParams': {'additionalProperties': False, 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'}, 'type': 'array'}, 'constraints': {'$ref': '#/definitions/Value'}, 'container-type': {'type': 'string'}, 'disks': {'items': {'$ref': '#/definitions/Constraints'}, 'type': 'array'}, 'hardware-characteristics': {'$ref': '#/definitions/HardwareCharacteristics'}, 'instance-id': {'type': 'string'}, 'jobs': {'items': {'type': 'string'}, 'type': 'array'}, 'nonce': {'type': 'string'}, 'parent-id': {'type': 'string'}, 'placement': {'$ref': '#/definitions/Placement'}, 'series': {'type': 'string'}}, 'required': ['series', 'constraints', 'jobs', 'parent-id', 'container-type', 'instance-id', 'nonce', 'hardware-characteristics', 'addresses'], 'type': 'object'}, 'AddMachines': {'additionalProperties': False, 'properties': {'params': {'items': {'$ref': '#/definitions/AddMachineParams'}, 'type': 'array'}}, 'required': ['params'], 'type': 'object'}, 'AddMachinesResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'machine': {'type': 'string'}}, 'required': ['machine'], 'type': 'object'}, 'AddMachinesResults': {'additionalProperties': False, 'properties': {'machines': {'items': {'$ref': '#/definitions/AddMachinesResult'}, 'type': 'array'}}, 'required': ['machines'], 'type': 'object'}, 'Address': {'additionalProperties': False, 'properties': {'scope': {'type': 'string'}, 'space-name': {'type': 'string'}, 'type': {'type': 'string'}, 'value': {'type': 'string'}}, 'required': ['value', 'type', 'scope'], 'type': 'object'}, 'Constraints': {'additionalProperties': False, 'properties': {'Count': {'type': 'integer'}, 'Pool': {'type': 'string'}, 'Size': {'type': 'integer'}}, 'required': ['Pool', 'Size', 'Count'], 'type': 'object'}, 'DestroyMachineInfo': {'additionalProperties': False, 'properties': {'destroyed-storage': {'items': {'$ref': '#/definitions/Entity'}, 'type': 'array'}, 'destroyed-units': {'items': {'$ref': '#/definitions/Entity'}, 'type': 'array'}, 'detached-storage': {'items': {'$ref': '#/definitions/Entity'}, 'type': 'array'}}, 'type': 'object'}, 'DestroyMachineResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'info': {'$ref': '#/definitions/DestroyMachineInfo'}}, 'type': 'object'}, 'DestroyMachineResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/DestroyMachineResult'}, 'type': 'array'}}, 'type': 'object'}, 'Entities': {'additionalProperties': False, 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'}, 'type': 'array'}}, 'required': ['entities'], 'type': 'object'}, 'Entity': {'additionalProperties': False, 'properties': {'tag': {'type': 'string'}}, 'required': ['tag'], 'type': 'object'}, 'Error': {'additionalProperties': False, 'properties': {'code': {'type': 'string'}, 'info': {'$ref': '#/definitions/ErrorInfo'}, 'message': {'type': 'string'}}, 'required': ['message', 'code'], 'type': 'object'}, 'ErrorInfo': {'additionalProperties': False, 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'}, 'macaroon-path': {'type': 'string'}}, 'type': 'object'}, 'HardwareCharacteristics': {'additionalProperties': False, 'properties': {'arch': {'type': 'string'}, 'availability-zone': {'type': 'string'}, 'cpu-cores': {'type': 'integer'}, 'cpu-power': {'type': 'integer'}, 'mem': {'type': 'integer'}, 'root-disk': {'type': 'integer'}, 'tags': {'items': {'type': 'string'}, 'type': 'array'}}, 'type': 'object'}, 'InstanceType': {'additionalProperties': False, 'properties': {'arches': {'items': {'type': 'string'}, 'type': 'array'}, 'cost': {'type': 'integer'}, 'cpu-cores': {'type': 'integer'}, 'deprecated': {'type': 'boolean'}, 'memory': {'type': 'integer'}, 'name': {'type': 'string'}, 'root-disk': {'type': 'integer'}, 'virt-type': {'type': 'string'}}, 'required': ['arches', 'cpu-cores', 'memory'], 'type': 'object'}, 'InstanceTypesResult': {'additionalProperties': False, 'properties': {'cost-currency': {'type': 'string'}, 'cost-divisor': {'type': 'integer'}, 'cost-unit': {'type': 'string'}, 'error': {'$ref': '#/definitions/Error'}, 'instance-types': {'items': {'$ref': '#/definitions/InstanceType'}, 'type': 'array'}}, 'type': 'object'}, 'InstanceTypesResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/InstanceTypesResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'Macaroon': {'additionalProperties': False, 'type': 'object'}, 'ModelInstanceTypesConstraint': {'additionalProperties': False, 'properties': {'value': {'$ref': '#/definitions/Value'}}, 'type': 'object'}, 'ModelInstanceTypesConstraints': {'additionalProperties': False, 'properties': {'constraints': {'items': {'$ref': '#/definitions/ModelInstanceTypesConstraint'}, 'type': 'array'}}, 'required': ['constraints'], 'type': 'object'}, 'Placement': {'additionalProperties': False, 'properties': {'directive': {'type': 'string'}, 'scope': {'type': 'string'}}, 'required': ['scope', 'directive'], 'type': 'object'}, 'Value': {'additionalProperties': False, 'properties': {'arch': {'type': 'string'}, 'container': {'type': 'string'}, 'cores': {'type': 'integer'}, 'cpu-power': {'type': 'integer'}, 'instance-type': {'type': 'string'}, 'mem': {'type': 'integer'}, 'root-disk': {'type': 'integer'}, 'spaces': {'items': {'type': 'string'}, 'type': 'array'}, 'tags': {'items': {'type': 'string'}, 'type': 'array'}, 'virt-type': {'type': 'string'}}, 'type': 'object'}}, 'properties': {'AddMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'}, 'Result': {'$ref': '#/definitions/AddMachinesResults'}}, 'type': 'object'}, 'DestroyMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/DestroyMachineResults'}}, 'type': 'object'}, 'ForceDestroyMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/DestroyMachineResults'}}, 'type': 'object'}, 'InstanceTypes': {'properties': {'Params': {'$ref': '#/definitions/ModelInstanceTypesConstraints'}, 'Result': {'$ref': '#/definitions/InstanceTypesResults'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(AddMachinesResults) async def AddMachines(self, params=None): ''' params : typing.Sequence[~AddMachineParams] Returns -> typing.Sequence[~AddMachinesResult] ''' if params is not None and not isinstance(params, (bytes, str, list)): raise Exception("Expected params to be a Sequence, received: {}".format(type(params))) # map input types to rpc msg _params = dict() msg = dict(type='MachineManager', request='AddMachines', version=3, params=_params) _params['params'] = params reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(DestroyMachineResults) async def DestroyMachine(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~DestroyMachineResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='MachineManager', request='DestroyMachine', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(DestroyMachineResults) async def ForceDestroyMachine(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~DestroyMachineResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='MachineManager', request='ForceDestroyMachine', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(InstanceTypesResults) async def InstanceTypes(self, constraints=None): ''' constraints : typing.Sequence[~ModelInstanceTypesConstraint] Returns -> typing.Sequence[~InstanceTypesResult] ''' if constraints is not None and not isinstance(constraints, (bytes, str, list)): raise Exception("Expected constraints to be a Sequence, received: {}".format(type(constraints))) # map input types to rpc msg _params = dict() msg = dict(type='MachineManager', request='InstanceTypes', version=3, params=_params) _params['constraints'] = constraints reply = await self.rpc(msg) return reply
[docs]class ModelManagerFacade(Type): name = 'ModelManager' version = 3 schema = {'definitions': {'DumpModelRequest': {'additionalProperties': False, 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'}, 'type': 'array'}, 'simplified': {'type': 'boolean'}}, 'required': ['entities', 'simplified'], 'type': 'object'}, 'Entities': {'additionalProperties': False, 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'}, 'type': 'array'}}, 'required': ['entities'], 'type': 'object'}, 'Entity': {'additionalProperties': False, 'properties': {'tag': {'type': 'string'}}, 'required': ['tag'], 'type': 'object'}, 'EntityStatus': {'additionalProperties': False, 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'info': {'type': 'string'}, 'since': {'format': 'date-time', 'type': 'string'}, 'status': {'type': 'string'}}, 'required': ['status', 'info', 'since'], 'type': 'object'}, 'Error': {'additionalProperties': False, 'properties': {'code': {'type': 'string'}, 'info': {'$ref': '#/definitions/ErrorInfo'}, 'message': {'type': 'string'}}, 'required': ['message', 'code'], 'type': 'object'}, 'ErrorInfo': {'additionalProperties': False, 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'}, 'macaroon-path': {'type': 'string'}}, 'type': 'object'}, 'ErrorResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}}, 'type': 'object'}, 'ErrorResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'Macaroon': {'additionalProperties': False, 'type': 'object'}, 'MachineHardware': {'additionalProperties': False, 'properties': {'arch': {'type': 'string'}, 'availability-zone': {'type': 'string'}, 'cores': {'type': 'integer'}, 'cpu-power': {'type': 'integer'}, 'mem': {'type': 'integer'}, 'root-disk': {'type': 'integer'}, 'tags': {'items': {'type': 'string'}, 'type': 'array'}}, 'type': 'object'}, 'MapResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}}, 'required': ['result'], 'type': 'object'}, 'MapResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/MapResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'Model': {'additionalProperties': False, 'properties': {'name': {'type': 'string'}, 'owner-tag': {'type': 'string'}, 'uuid': {'type': 'string'}}, 'required': ['name', 'uuid', 'owner-tag'], 'type': 'object'}, 'ModelCreateArgs': {'additionalProperties': False, 'properties': {'cloud-tag': {'type': 'string'}, 'config': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'credential': {'type': 'string'}, 'name': {'type': 'string'}, 'owner-tag': {'type': 'string'}, 'region': {'type': 'string'}}, 'required': ['name', 'owner-tag'], 'type': 'object'}, 'ModelDefaultValues': {'additionalProperties': False, 'properties': {'cloud-region': {'type': 'string'}, 'cloud-tag': {'type': 'string'}, 'config': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}}, 'required': ['config'], 'type': 'object'}, 'ModelDefaults': {'additionalProperties': False, 'properties': {'controller': {'additionalProperties': True, 'type': 'object'}, 'default': {'additionalProperties': True, 'type': 'object'}, 'regions': {'items': {'$ref': '#/definitions/RegionDefaults'}, 'type': 'array'}}, 'type': 'object'}, 'ModelDefaultsResult': {'additionalProperties': False, 'properties': {'config': {'patternProperties': {'.*': {'$ref': '#/definitions/ModelDefaults'}}, 'type': 'object'}}, 'required': ['config'], 'type': 'object'}, 'ModelInfo': {'additionalProperties': False, 'properties': {'agent-version': {'$ref': '#/definitions/Number'}, 'cloud-credential-tag': {'type': 'string'}, 'cloud-region': {'type': 'string'}, 'cloud-tag': {'type': 'string'}, 'controller-uuid': {'type': 'string'}, 'default-series': {'type': 'string'}, 'life': {'type': 'string'}, 'machines': {'items': {'$ref': '#/definitions/ModelMachineInfo'}, 'type': 'array'}, 'migration': {'$ref': '#/definitions/ModelMigrationStatus'}, 'name': {'type': 'string'}, 'owner-tag': {'type': 'string'}, 'provider-type': {'type': 'string'}, 'sla': {'$ref': '#/definitions/ModelSLAInfo'}, 'status': {'$ref': '#/definitions/EntityStatus'}, 'users': {'items': {'$ref': '#/definitions/ModelUserInfo'}, 'type': 'array'}, 'uuid': {'type': 'string'}}, 'required': ['name', 'uuid', 'controller-uuid', 'cloud-tag', 'owner-tag', 'life', 'users', 'machines', 'sla', 'agent-version'], 'type': 'object'}, 'ModelInfoResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'$ref': '#/definitions/ModelInfo'}}, 'type': 'object'}, 'ModelInfoResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/ModelInfoResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'ModelMachineInfo': {'additionalProperties': False, 'properties': {'hardware': {'$ref': '#/definitions/MachineHardware'}, 'has-vote': {'type': 'boolean'}, 'id': {'type': 'string'}, 'instance-id': {'type': 'string'}, 'status': {'type': 'string'}, 'wants-vote': {'type': 'boolean'}}, 'required': ['id'], 'type': 'object'}, 'ModelMigrationStatus': {'additionalProperties': False, 'properties': {'end': {'format': 'date-time', 'type': 'string'}, 'start': {'format': 'date-time', 'type': 'string'}, 'status': {'type': 'string'}}, 'required': ['status', 'start'], 'type': 'object'}, 'ModelSLAInfo': {'additionalProperties': False, 'properties': {'level': {'type': 'string'}, 'owner': {'type': 'string'}}, 'required': ['level', 'owner'], 'type': 'object'}, 'ModelStatus': {'additionalProperties': False, 'properties': {'application-count': {'type': 'integer'}, 'hosted-machine-count': {'type': 'integer'}, 'life': {'type': 'string'}, 'machines': {'items': {'$ref': '#/definitions/ModelMachineInfo'}, 'type': 'array'}, 'model-tag': {'type': 'string'}, 'owner-tag': {'type': 'string'}}, 'required': ['model-tag', 'life', 'hosted-machine-count', 'application-count', 'owner-tag'], 'type': 'object'}, 'ModelStatusResults': {'additionalProperties': False, 'properties': {'models': {'items': {'$ref': '#/definitions/ModelStatus'}, 'type': 'array'}}, 'required': ['models'], 'type': 'object'}, 'ModelUnsetKeys': {'additionalProperties': False, 'properties': {'cloud-region': {'type': 'string'}, 'cloud-tag': {'type': 'string'}, 'keys': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['keys'], 'type': 'object'}, 'ModelUserInfo': {'additionalProperties': False, 'properties': {'access': {'type': 'string'}, 'display-name': {'type': 'string'}, 'last-connection': {'format': 'date-time', 'type': 'string'}, 'user': {'type': 'string'}}, 'required': ['user', 'display-name', 'last-connection', 'access'], 'type': 'object'}, 'ModifyModelAccess': {'additionalProperties': False, 'properties': {'access': {'type': 'string'}, 'action': {'type': 'string'}, 'model-tag': {'type': 'string'}, 'user-tag': {'type': 'string'}}, 'required': ['user-tag', 'action', 'access', 'model-tag'], 'type': 'object'}, 'ModifyModelAccessRequest': {'additionalProperties': False, 'properties': {'changes': {'items': {'$ref': '#/definitions/ModifyModelAccess'}, 'type': 'array'}}, 'required': ['changes'], 'type': 'object'}, 'Number': {'additionalProperties': False, 'properties': {'Build': {'type': 'integer'}, 'Major': {'type': 'integer'}, 'Minor': {'type': 'integer'}, 'Patch': {'type': 'integer'}, 'Tag': {'type': 'string'}}, 'required': ['Major', 'Minor', 'Tag', 'Patch', 'Build'], 'type': 'object'}, 'RegionDefaults': {'additionalProperties': False, 'properties': {'region-name': {'type': 'string'}, 'value': {'additionalProperties': True, 'type': 'object'}}, 'required': ['region-name', 'value'], 'type': 'object'}, 'SetModelDefaults': {'additionalProperties': False, 'properties': {'config': {'items': {'$ref': '#/definitions/ModelDefaultValues'}, 'type': 'array'}}, 'required': ['config'], 'type': 'object'}, 'StringResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'type': 'string'}}, 'required': ['result'], 'type': 'object'}, 'StringResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'UnsetModelDefaults': {'additionalProperties': False, 'properties': {'keys': {'items': {'$ref': '#/definitions/ModelUnsetKeys'}, 'type': 'array'}}, 'required': ['keys'], 'type': 'object'}, 'UserModel': {'additionalProperties': False, 'properties': {'last-connection': {'format': 'date-time', 'type': 'string'}, 'model': {'$ref': '#/definitions/Model'}}, 'required': ['model', 'last-connection'], 'type': 'object'}, 'UserModelList': {'additionalProperties': False, 'properties': {'user-models': {'items': {'$ref': '#/definitions/UserModel'}, 'type': 'array'}}, 'required': ['user-models'], 'type': 'object'}}, 'properties': {'CreateModel': {'properties': {'Params': {'$ref': '#/definitions/ModelCreateArgs'}, 'Result': {'$ref': '#/definitions/ModelInfo'}}, 'type': 'object'}, 'DestroyModels': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'DumpModels': {'properties': {'Params': {'$ref': '#/definitions/DumpModelRequest'}, 'Result': {'$ref': '#/definitions/StringResults'}}, 'type': 'object'}, 'DumpModelsDB': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/MapResults'}}, 'type': 'object'}, 'ListModels': {'properties': {'Params': {'$ref': '#/definitions/Entity'}, 'Result': {'$ref': '#/definitions/UserModelList'}}, 'type': 'object'}, 'ModelDefaults': {'properties': {'Result': {'$ref': '#/definitions/ModelDefaultsResult'}}, 'type': 'object'}, 'ModelInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ModelInfoResults'}}, 'type': 'object'}, 'ModelStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ModelStatusResults'}}, 'type': 'object'}, 'ModifyModelAccess': {'properties': {'Params': {'$ref': '#/definitions/ModifyModelAccessRequest'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'SetModelDefaults': {'properties': {'Params': {'$ref': '#/definitions/SetModelDefaults'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'UnsetModelDefaults': {'properties': {'Params': {'$ref': '#/definitions/UnsetModelDefaults'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(ModelInfo) async def CreateModel(self, cloud_tag=None, config=None, credential=None, name=None, owner_tag=None, region=None): ''' cloud_tag : str config : typing.Mapping[str, typing.Any] credential : str name : str owner_tag : str region : str Returns -> typing.Union[_ForwardRef('Number'), str, typing.Sequence[~ModelMachineInfo], _ForwardRef('ModelMigrationStatus'), _ForwardRef('ModelSLAInfo'), _ForwardRef('EntityStatus'), typing.Sequence[~ModelUserInfo]] ''' if cloud_tag is not None and not isinstance(cloud_tag, (bytes, str)): raise Exception("Expected cloud_tag to be a str, received: {}".format(type(cloud_tag))) if config is not None and not isinstance(config, dict): raise Exception("Expected config to be a Mapping, received: {}".format(type(config))) if credential is not None and not isinstance(credential, (bytes, str)): raise Exception("Expected credential to be a str, received: {}".format(type(credential))) if name is not None and not isinstance(name, (bytes, str)): raise Exception("Expected name to be a str, received: {}".format(type(name))) if owner_tag is not None and not isinstance(owner_tag, (bytes, str)): raise Exception("Expected owner_tag to be a str, received: {}".format(type(owner_tag))) if region is not None and not isinstance(region, (bytes, str)): raise Exception("Expected region to be a str, received: {}".format(type(region))) # map input types to rpc msg _params = dict() msg = dict(type='ModelManager', request='CreateModel', version=3, params=_params) _params['cloud-tag'] = cloud_tag _params['config'] = config _params['credential'] = credential _params['name'] = name _params['owner-tag'] = owner_tag _params['region'] = region reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def DestroyModels(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ErrorResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='ModelManager', request='DestroyModels', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringResults) async def DumpModels(self, entities=None, simplified=None): ''' entities : typing.Sequence[~Entity] simplified : bool Returns -> typing.Sequence[~StringResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) if simplified is not None and not isinstance(simplified, bool): raise Exception("Expected simplified to be a bool, received: {}".format(type(simplified))) # map input types to rpc msg _params = dict() msg = dict(type='ModelManager', request='DumpModels', version=3, params=_params) _params['entities'] = entities _params['simplified'] = simplified reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(MapResults) async def DumpModelsDB(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~MapResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='ModelManager', request='DumpModelsDB', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(UserModelList) async def ListModels(self, tag=None): ''' tag : str Returns -> typing.Sequence[~UserModel] ''' if tag is not None and not isinstance(tag, (bytes, str)): raise Exception("Expected tag to be a str, received: {}".format(type(tag))) # map input types to rpc msg _params = dict() msg = dict(type='ModelManager', request='ListModels', version=3, params=_params) _params['tag'] = tag reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ModelDefaultsResult) async def ModelDefaults(self): ''' Returns -> typing.Mapping[str, ~ModelDefaults] ''' # map input types to rpc msg _params = dict() msg = dict(type='ModelManager', request='ModelDefaults', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ModelInfoResults) async def ModelInfo(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ModelInfoResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='ModelManager', request='ModelInfo', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ModelStatusResults) async def ModelStatus(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ModelStatus] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='ModelManager', request='ModelStatus', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def ModifyModelAccess(self, changes=None): ''' changes : typing.Sequence[~ModifyModelAccess] Returns -> typing.Sequence[~ErrorResult] ''' if changes is not None and not isinstance(changes, (bytes, str, list)): raise Exception("Expected changes to be a Sequence, received: {}".format(type(changes))) # map input types to rpc msg _params = dict() msg = dict(type='ModelManager', request='ModifyModelAccess', version=3, params=_params) _params['changes'] = changes reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def SetModelDefaults(self, config=None): ''' config : typing.Sequence[~ModelDefaultValues] Returns -> typing.Sequence[~ErrorResult] ''' if config is not None and not isinstance(config, (bytes, str, list)): raise Exception("Expected config to be a Sequence, received: {}".format(type(config))) # map input types to rpc msg _params = dict() msg = dict(type='ModelManager', request='SetModelDefaults', version=3, params=_params) _params['config'] = config reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def UnsetModelDefaults(self, keys=None): ''' keys : typing.Sequence[~ModelUnsetKeys] Returns -> typing.Sequence[~ErrorResult] ''' if keys is not None and not isinstance(keys, (bytes, str, list)): raise Exception("Expected keys to be a Sequence, received: {}".format(type(keys))) # map input types to rpc msg _params = dict() msg = dict(type='ModelManager', request='UnsetModelDefaults', version=3, params=_params) _params['keys'] = keys reply = await self.rpc(msg) return reply
[docs]class ProvisionerFacade(Type): name = 'Provisioner' version = 3 schema = {'definitions': {'APIHostPortsResult': {'additionalProperties': False, 'properties': {'servers': {'items': {'items': {'$ref': '#/definitions/HostPort'}, 'type': 'array'}, 'type': 'array'}}, 'required': ['servers'], 'type': 'object'}, 'Address': {'additionalProperties': False, 'properties': {'scope': {'type': 'string'}, 'space-name': {'type': 'string'}, 'type': {'type': 'string'}, 'value': {'type': 'string'}}, 'required': ['value', 'type', 'scope'], 'type': 'object'}, 'Binary': {'additionalProperties': False, 'properties': {'Arch': {'type': 'string'}, 'Number': {'$ref': '#/definitions/Number'}, 'Series': {'type': 'string'}}, 'required': ['Number', 'Series', 'Arch'], 'type': 'object'}, 'BytesResult': {'additionalProperties': False, 'properties': {'result': {'items': {'type': 'integer'}, 'type': 'array'}}, 'required': ['result'], 'type': 'object'}, 'CloudImageMetadata': {'additionalProperties': False, 'properties': {'arch': {'type': 'string'}, 'image-id': {'type': 'string'}, 'priority': {'type': 'integer'}, 'region': {'type': 'string'}, 'root-storage-size': {'type': 'integer'}, 'root-storage-type': {'type': 'string'}, 'series': {'type': 'string'}, 'source': {'type': 'string'}, 'stream': {'type': 'string'}, 'version': {'type': 'string'}, 'virt-type': {'type': 'string'}}, 'required': ['image-id', 'region', 'version', 'series', 'arch', 'source', 'priority'], 'type': 'object'}, 'ConstraintsResult': {'additionalProperties': False, 'properties': {'constraints': {'$ref': '#/definitions/Value'}, 'error': {'$ref': '#/definitions/Error'}}, 'required': ['constraints'], 'type': 'object'}, 'ConstraintsResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/ConstraintsResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'ContainerConfig': {'additionalProperties': False, 'properties': {'UpdateBehavior': {'$ref': '#/definitions/UpdateBehavior'}, 'apt-mirror': {'type': 'string'}, 'apt-proxy': {'$ref': '#/definitions/Settings'}, 'authorized-keys': {'type': 'string'}, 'provider-type': {'type': 'string'}, 'proxy': {'$ref': '#/definitions/Settings'}, 'ssl-hostname-verification': {'type': 'boolean'}}, 'required': ['provider-type', 'authorized-keys', 'ssl-hostname-verification', 'proxy', 'apt-proxy', 'apt-mirror', 'UpdateBehavior'], 'type': 'object'}, 'ContainerManagerConfig': {'additionalProperties': False, 'properties': {'config': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}}, 'required': ['config'], 'type': 'object'}, 'ContainerManagerConfigParams': {'additionalProperties': False, 'properties': {'type': {'type': 'string'}}, 'required': ['type'], 'type': 'object'}, 'ControllerConfigResult': {'additionalProperties': False, 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}}, 'required': ['config'], 'type': 'object'}, 'DeviceBridgeInfo': {'additionalProperties': False, 'properties': {'bridge-name': {'type': 'string'}, 'host-device-name': {'type': 'string'}}, 'required': ['host-device-name', 'bridge-name'], 'type': 'object'}, 'DistributionGroupResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['result'], 'type': 'object'}, 'DistributionGroupResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/DistributionGroupResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'Entities': {'additionalProperties': False, 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'}, 'type': 'array'}}, 'required': ['entities'], 'type': 'object'}, 'Entity': {'additionalProperties': False, 'properties': {'tag': {'type': 'string'}}, 'required': ['tag'], 'type': 'object'}, 'EntityPassword': {'additionalProperties': False, 'properties': {'password': {'type': 'string'}, 'tag': {'type': 'string'}}, 'required': ['tag', 'password'], 'type': 'object'}, 'EntityPasswords': {'additionalProperties': False, 'properties': {'changes': {'items': {'$ref': '#/definitions/EntityPassword'}, 'type': 'array'}}, 'required': ['changes'], 'type': 'object'}, 'EntityStatusArgs': {'additionalProperties': False, 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'info': {'type': 'string'}, 'status': {'type': 'string'}, 'tag': {'type': 'string'}}, 'required': ['tag', 'status', 'info', 'data'], 'type': 'object'}, 'Error': {'additionalProperties': False, 'properties': {'code': {'type': 'string'}, 'info': {'$ref': '#/definitions/ErrorInfo'}, 'message': {'type': 'string'}}, 'required': ['message', 'code'], 'type': 'object'}, 'ErrorInfo': {'additionalProperties': False, 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'}, 'macaroon-path': {'type': 'string'}}, 'type': 'object'}, 'ErrorResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}}, 'type': 'object'}, 'ErrorResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'FindToolsParams': {'additionalProperties': False, 'properties': {'arch': {'type': 'string'}, 'major': {'type': 'integer'}, 'minor': {'type': 'integer'}, 'number': {'$ref': '#/definitions/Number'}, 'series': {'type': 'string'}}, 'required': ['number', 'major', 'minor', 'arch', 'series'], 'type': 'object'}, 'FindToolsResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'list': {'items': {'$ref': '#/definitions/Tools'}, 'type': 'array'}}, 'required': ['list'], 'type': 'object'}, 'HardwareCharacteristics': {'additionalProperties': False, 'properties': {'arch': {'type': 'string'}, 'availability-zone': {'type': 'string'}, 'cpu-cores': {'type': 'integer'}, 'cpu-power': {'type': 'integer'}, 'mem': {'type': 'integer'}, 'root-disk': {'type': 'integer'}, 'tags': {'items': {'type': 'string'}, 'type': 'array'}}, 'type': 'object'}, 'HostNetworkChange': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'new-bridges': {'items': {'$ref': '#/definitions/DeviceBridgeInfo'}, 'type': 'array'}, 'reconfigure-delay': {'type': 'integer'}}, 'required': ['new-bridges', 'reconfigure-delay'], 'type': 'object'}, 'HostNetworkChangeResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/HostNetworkChange'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'HostPort': {'additionalProperties': False, 'properties': {'Address': {'$ref': '#/definitions/Address'}, 'port': {'type': 'integer'}}, 'required': ['Address', 'port'], 'type': 'object'}, 'InstanceInfo': {'additionalProperties': False, 'properties': {'characteristics': {'$ref': '#/definitions/HardwareCharacteristics'}, 'instance-id': {'type': 'string'}, 'network-config': {'items': {'$ref': '#/definitions/NetworkConfig'}, 'type': 'array'}, 'nonce': {'type': 'string'}, 'tag': {'type': 'string'}, 'volume-attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentInfo'}}, 'type': 'object'}, 'volumes': {'items': {'$ref': '#/definitions/Volume'}, 'type': 'array'}}, 'required': ['tag', 'instance-id', 'nonce', 'characteristics', 'volumes', 'volume-attachments', 'network-config'], 'type': 'object'}, 'InstancesInfo': {'additionalProperties': False, 'properties': {'machines': {'items': {'$ref': '#/definitions/InstanceInfo'}, 'type': 'array'}}, 'required': ['machines'], 'type': 'object'}, 'LifeResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'life': {'type': 'string'}}, 'required': ['life'], 'type': 'object'}, 'LifeResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'Macaroon': {'additionalProperties': False, 'type': 'object'}, 'MachineContainers': {'additionalProperties': False, 'properties': {'container-types': {'items': {'type': 'string'}, 'type': 'array'}, 'machine-tag': {'type': 'string'}}, 'required': ['machine-tag', 'container-types'], 'type': 'object'}, 'MachineContainersParams': {'additionalProperties': False, 'properties': {'params': {'items': {'$ref': '#/definitions/MachineContainers'}, 'type': 'array'}}, 'required': ['params'], 'type': 'object'}, 'MachineNetworkConfigResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'info': {'items': {'$ref': '#/definitions/NetworkConfig'}, 'type': 'array'}}, 'required': ['info'], 'type': 'object'}, 'MachineNetworkConfigResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/MachineNetworkConfigResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'ModelConfigResult': {'additionalProperties': False, 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}}, 'required': ['config'], 'type': 'object'}, 'NetworkConfig': {'additionalProperties': False, 'properties': {'address': {'type': 'string'}, 'cidr': {'type': 'string'}, 'config-type': {'type': 'string'}, 'device-index': {'type': 'integer'}, 'disabled': {'type': 'boolean'}, 'dns-search-domains': {'items': {'type': 'string'}, 'type': 'array'}, 'dns-servers': {'items': {'type': 'string'}, 'type': 'array'}, 'gateway-address': {'type': 'string'}, 'interface-name': {'type': 'string'}, 'interface-type': {'type': 'string'}, 'mac-address': {'type': 'string'}, 'mtu': {'type': 'integer'}, 'no-auto-start': {'type': 'boolean'}, 'parent-interface-name': {'type': 'string'}, 'provider-address-id': {'type': 'string'}, 'provider-id': {'type': 'string'}, 'provider-space-id': {'type': 'string'}, 'provider-subnet-id': {'type': 'string'}, 'provider-vlan-id': {'type': 'string'}, 'routes': {'items': {'$ref': '#/definitions/NetworkRoute'}, 'type': 'array'}, 'vlan-tag': {'type': 'integer'}}, 'required': ['device-index', 'mac-address', 'cidr', 'mtu', 'provider-id', 'provider-subnet-id', 'provider-space-id', 'provider-address-id', 'provider-vlan-id', 'vlan-tag', 'interface-name', 'parent-interface-name', 'interface-type', 'disabled'], 'type': 'object'}, 'NetworkRoute': {'additionalProperties': False, 'properties': {'destination-cidr': {'type': 'string'}, 'gateway-ip': {'type': 'string'}, 'metric': {'type': 'integer'}}, 'required': ['destination-cidr', 'gateway-ip', 'metric'], 'type': 'object'}, 'NotifyWatchResult': {'additionalProperties': False, 'properties': {'NotifyWatcherId': {'type': 'string'}, 'error': {'$ref': '#/definitions/Error'}}, 'required': ['NotifyWatcherId'], 'type': 'object'}, 'Number': {'additionalProperties': False, 'properties': {'Build': {'type': 'integer'}, 'Major': {'type': 'integer'}, 'Minor': {'type': 'integer'}, 'Patch': {'type': 'integer'}, 'Tag': {'type': 'string'}}, 'required': ['Major', 'Minor', 'Tag', 'Patch', 'Build'], 'type': 'object'}, 'ProvisioningInfo': {'additionalProperties': False, 'properties': {'constraints': {'$ref': '#/definitions/Value'}, 'controller-config': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'endpoint-bindings': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}, 'image-metadata': {'items': {'$ref': '#/definitions/CloudImageMetadata'}, 'type': 'array'}, 'jobs': {'items': {'type': 'string'}, 'type': 'array'}, 'placement': {'type': 'string'}, 'series': {'type': 'string'}, 'subnets-to-zones': {'patternProperties': {'.*': {'items': {'type': 'string'}, 'type': 'array'}}, 'type': 'object'}, 'tags': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}, 'volume-attachments': {'items': {'$ref': '#/definitions/VolumeAttachmentParams'}, 'type': 'array'}, 'volumes': {'items': {'$ref': '#/definitions/VolumeParams'}, 'type': 'array'}}, 'required': ['constraints', 'series', 'placement', 'jobs'], 'type': 'object'}, 'ProvisioningInfoResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'$ref': '#/definitions/ProvisioningInfo'}}, 'required': ['result'], 'type': 'object'}, 'ProvisioningInfoResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/ProvisioningInfoResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'SetMachineNetworkConfig': {'additionalProperties': False, 'properties': {'config': {'items': {'$ref': '#/definitions/NetworkConfig'}, 'type': 'array'}, 'tag': {'type': 'string'}}, 'required': ['tag', 'config'], 'type': 'object'}, 'SetStatus': {'additionalProperties': False, 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'}, 'type': 'array'}}, 'required': ['entities'], 'type': 'object'}, 'Settings': {'additionalProperties': False, 'properties': {'AutoNoProxy': {'type': 'string'}, 'Ftp': {'type': 'string'}, 'Http': {'type': 'string'}, 'Https': {'type': 'string'}, 'NoProxy': {'type': 'string'}}, 'required': ['Http', 'Https', 'Ftp', 'NoProxy', 'AutoNoProxy'], 'type': 'object'}, 'StatusResult': {'additionalProperties': False, 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'error': {'$ref': '#/definitions/Error'}, 'id': {'type': 'string'}, 'info': {'type': 'string'}, 'life': {'type': 'string'}, 'since': {'format': 'date-time', 'type': 'string'}, 'status': {'type': 'string'}}, 'required': ['id', 'life', 'status', 'info', 'data', 'since'], 'type': 'object'}, 'StatusResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/StatusResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'StringResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'type': 'string'}}, 'required': ['result'], 'type': 'object'}, 'StringResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'StringsResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'items': {'type': 'string'}, 'type': 'array'}}, 'type': 'object'}, 'StringsWatchResult': {'additionalProperties': False, 'properties': {'changes': {'items': {'type': 'string'}, 'type': 'array'}, 'error': {'$ref': '#/definitions/Error'}, 'watcher-id': {'type': 'string'}}, 'required': ['watcher-id'], 'type': 'object'}, 'StringsWatchResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'Tools': {'additionalProperties': False, 'properties': {'sha256': {'type': 'string'}, 'size': {'type': 'integer'}, 'url': {'type': 'string'}, 'version': {'$ref': '#/definitions/Binary'}}, 'required': ['version', 'url', 'size'], 'type': 'object'}, 'ToolsResult': {'additionalProperties': False, 'properties': {'disable-ssl-hostname-verification': {'type': 'boolean'}, 'error': {'$ref': '#/definitions/Error'}, 'tools': {'items': {'$ref': '#/definitions/Tools'}, 'type': 'array'}}, 'required': ['tools', 'disable-ssl-hostname-verification'], 'type': 'object'}, 'ToolsResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/ToolsResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'UpdateBehavior': {'additionalProperties': False, 'properties': {'enable-os-refresh-update': {'type': 'boolean'}, 'enable-os-upgrade': {'type': 'boolean'}}, 'required': ['enable-os-refresh-update', 'enable-os-upgrade'], 'type': 'object'}, 'Value': {'additionalProperties': False, 'properties': {'arch': {'type': 'string'}, 'container': {'type': 'string'}, 'cores': {'type': 'integer'}, 'cpu-power': {'type': 'integer'}, 'instance-type': {'type': 'string'}, 'mem': {'type': 'integer'}, 'root-disk': {'type': 'integer'}, 'spaces': {'items': {'type': 'string'}, 'type': 'array'}, 'tags': {'items': {'type': 'string'}, 'type': 'array'}, 'virt-type': {'type': 'string'}}, 'type': 'object'}, 'Volume': {'additionalProperties': False, 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'}, 'volume-tag': {'type': 'string'}}, 'required': ['volume-tag', 'info'], 'type': 'object'}, 'VolumeAttachmentInfo': {'additionalProperties': False, 'properties': {'bus-address': {'type': 'string'}, 'device-link': {'type': 'string'}, 'device-name': {'type': 'string'}, 'read-only': {'type': 'boolean'}}, 'type': 'object'}, 'VolumeAttachmentParams': {'additionalProperties': False, 'properties': {'instance-id': {'type': 'string'}, 'machine-tag': {'type': 'string'}, 'provider': {'type': 'string'}, 'read-only': {'type': 'boolean'}, 'volume-id': {'type': 'string'}, 'volume-tag': {'type': 'string'}}, 'required': ['volume-tag', 'machine-tag', 'provider'], 'type': 'object'}, 'VolumeInfo': {'additionalProperties': False, 'properties': {'hardware-id': {'type': 'string'}, 'persistent': {'type': 'boolean'}, 'pool': {'type': 'string'}, 'size': {'type': 'integer'}, 'volume-id': {'type': 'string'}, 'wwn': {'type': 'string'}}, 'required': ['volume-id', 'size', 'persistent'], 'type': 'object'}, 'VolumeParams': {'additionalProperties': False, 'properties': {'attachment': {'$ref': '#/definitions/VolumeAttachmentParams'}, 'attributes': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'provider': {'type': 'string'}, 'size': {'type': 'integer'}, 'tags': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}, 'volume-tag': {'type': 'string'}}, 'required': ['volume-tag', 'size', 'provider'], 'type': 'object'}, 'WatchContainer': {'additionalProperties': False, 'properties': {'container-type': {'type': 'string'}, 'machine-tag': {'type': 'string'}}, 'required': ['machine-tag', 'container-type'], 'type': 'object'}, 'WatchContainers': {'additionalProperties': False, 'properties': {'params': {'items': {'$ref': '#/definitions/WatchContainer'}, 'type': 'array'}}, 'required': ['params'], 'type': 'object'}}, 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}}, 'type': 'object'}, 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}}, 'type': 'object'}, 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}}, 'type': 'object'}, 'Constraints': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ConstraintsResults'}}, 'type': 'object'}, 'ContainerConfig': {'properties': {'Result': {'$ref': '#/definitions/ContainerConfig'}}, 'type': 'object'}, 'ContainerManagerConfig': {'properties': {'Params': {'$ref': '#/definitions/ContainerManagerConfigParams'}, 'Result': {'$ref': '#/definitions/ContainerManagerConfig'}}, 'type': 'object'}, 'ControllerConfig': {'properties': {'Result': {'$ref': '#/definitions/ControllerConfigResult'}}, 'type': 'object'}, 'DistributionGroup': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/DistributionGroupResults'}}, 'type': 'object'}, 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'FindTools': {'properties': {'Params': {'$ref': '#/definitions/FindToolsParams'}, 'Result': {'$ref': '#/definitions/FindToolsResult'}}, 'type': 'object'}, 'GetContainerInterfaceInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/MachineNetworkConfigResults'}}, 'type': 'object'}, 'HostChangesForContainers': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/HostNetworkChangeResults'}}, 'type': 'object'}, 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/StringResults'}}, 'type': 'object'}, 'InstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/StatusResults'}}, 'type': 'object'}, 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/LifeResults'}}, 'type': 'object'}, 'MachinesWithTransientErrors': {'properties': {'Result': {'$ref': '#/definitions/StatusResults'}}, 'type': 'object'}, 'MarkMachinesForRemoval': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}}, 'type': 'object'}, 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}}, 'type': 'object'}, 'PrepareContainerInterfaceInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/MachineNetworkConfigResults'}}, 'type': 'object'}, 'ProvisioningInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ProvisioningInfoResults'}}, 'type': 'object'}, 'ReleaseContainerAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'Series': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/StringResults'}}, 'type': 'object'}, 'SetHostMachineNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/SetMachineNetworkConfig'}}, 'type': 'object'}, 'SetInstanceInfo': {'properties': {'Params': {'$ref': '#/definitions/InstancesInfo'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'SetInstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'SetObservedNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/SetMachineNetworkConfig'}}, 'type': 'object'}, 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'SetProviderNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'SetSupportedContainers': {'properties': {'Params': {'$ref': '#/definitions/MachineContainersParams'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'StateAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}}, 'type': 'object'}, 'Status': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/StatusResults'}}, 'type': 'object'}, 'Tools': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ToolsResults'}}, 'type': 'object'}, 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, 'type': 'object'}, 'WatchAllContainers': {'properties': {'Params': {'$ref': '#/definitions/WatchContainers'}, 'Result': {'$ref': '#/definitions/StringsWatchResults'}}, 'type': 'object'}, 'WatchContainers': {'properties': {'Params': {'$ref': '#/definitions/WatchContainers'}, 'Result': {'$ref': '#/definitions/StringsWatchResults'}}, 'type': 'object'}, 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, 'type': 'object'}, 'WatchMachineErrorRetry': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, 'type': 'object'}, 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(StringsResult) async def APIAddresses(self): ''' Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]] ''' # map input types to rpc msg _params = dict() msg = dict(type='Provisioner', request='APIAddresses', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(APIHostPortsResult) async def APIHostPorts(self): ''' Returns -> typing.Sequence[~HostPort] ''' # map input types to rpc msg _params = dict() msg = dict(type='Provisioner', request='APIHostPorts', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(BytesResult) async def CACert(self): ''' Returns -> typing.Sequence[int] ''' # map input types to rpc msg _params = dict() msg = dict(type='Provisioner', request='CACert', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ConstraintsResults) async def Constraints(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ConstraintsResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Provisioner', request='Constraints', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ContainerConfig) async def ContainerConfig(self): ''' Returns -> typing.Union[_ForwardRef('UpdateBehavior'), str, _ForwardRef('Settings'), bool] ''' # map input types to rpc msg _params = dict() msg = dict(type='Provisioner', request='ContainerConfig', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ContainerManagerConfig) async def ContainerManagerConfig(self, type_=None): ''' type_ : str Returns -> typing.Mapping[str, str] ''' if type_ is not None and not isinstance(type_, (bytes, str)): raise Exception("Expected type_ to be a str, received: {}".format(type(type_))) # map input types to rpc msg _params = dict() msg = dict(type='Provisioner', request='ContainerManagerConfig', version=3, params=_params) _params['type'] = type_ reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ControllerConfigResult) async def ControllerConfig(self): ''' Returns -> typing.Mapping[str, typing.Any] ''' # map input types to rpc msg _params = dict() msg = dict(type='Provisioner', request='ControllerConfig', version=3, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(DistributionGroupResults) async def DistributionGroup(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~DistributionGroupResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Provisioner', request='DistributionGroup', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def EnsureDead(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ErrorResult] ''' if entities is not None and not isinstance(entities, (bytes, str, list)): raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities))) # map input types to rpc msg _params = dict() msg = dict(type='Provisioner', request='EnsureDead', version=3, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(FindToolsResult) async def FindTools(self, arch=None, major=None, minor=None, number=None, series=None): ''' arch : str