Source code for juju.client._client1

# 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 ActionPrunerFacade(Type): name = 'ActionPruner' version = 1 schema = {'definitions': {'ActionPruneArgs': {'additionalProperties': False, 'properties': {'max-history-mb': {'type': 'integer'}, 'max-history-time': {'type': 'integer'}}, 'required': ['max-history-time', 'max-history-mb'], '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'}, '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'}}, 'properties': {'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}}, 'type': 'object'}, 'Prune': {'properties': {'Params': {'$ref': '#/definitions/ActionPruneArgs'}}, 'type': 'object'}, 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(ModelConfigResult) async def ModelConfig(self): ''' Returns -> typing.Mapping[str, typing.Any] ''' # map input types to rpc msg _params = dict() msg = dict(type='ActionPruner', request='ModelConfig', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def Prune(self, max_history_mb=None, max_history_time=None): ''' max_history_mb : int max_history_time : int Returns -> None ''' if max_history_mb is not None and not isinstance(max_history_mb, int): raise Exception("Expected max_history_mb to be a int, received: {}".format(type(max_history_mb))) if max_history_time is not None and not isinstance(max_history_time, int): raise Exception("Expected max_history_time to be a int, received: {}".format(type(max_history_time))) # map input types to rpc msg _params = dict() msg = dict(type='ActionPruner', request='Prune', version=1, params=_params) _params['max-history-mb'] = max_history_mb _params['max-history-time'] = max_history_time 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='ActionPruner', request='WatchForModelConfigChanges', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs]class AgentToolsFacade(Type): name = 'AgentTools' version = 1 schema = {'properties': {'UpdateToolsAvailable': {'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(None) async def UpdateToolsAvailable(self): ''' Returns -> None ''' # map input types to rpc msg _params = dict() msg = dict(type='AgentTools', request='UpdateToolsAvailable', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs]class AllWatcherFacade(Type): name = 'AllWatcher' version = 1 schema = {'definitions': {'AllWatcherNextResults': {'additionalProperties': False, 'properties': {'deltas': {'items': {'$ref': '#/definitions/Delta'}, 'type': 'array'}}, 'required': ['deltas'], 'type': 'object'}, 'Delta': {'additionalProperties': False, 'properties': {'entity': {'additionalProperties': True, 'type': 'object'}, 'removed': {'type': 'boolean'}}, 'required': ['removed', 'entity'], 'type': 'object'}}, 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherNextResults'}}, 'type': 'object'}, 'Stop': {'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(AllWatcherNextResults) async def Next(self): ''' Returns -> typing.Sequence[~Delta] ''' # map input types to rpc msg _params = dict() msg = dict(type='AllWatcher', request='Next', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def Stop(self): ''' Returns -> None ''' # map input types to rpc msg _params = dict() msg = dict(type='AllWatcher', request='Stop', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs]class ApplicationRelationsWatcherFacade(Type): name = 'ApplicationRelationsWatcher' version = 1 schema = {'definitions': {'ApplicationRelationsChange': {'additionalProperties': False, 'properties': {'changed': {'items': {'$ref': '#/definitions/RelationChange'}, 'type': 'array'}, 'removed': {'items': {'type': 'integer'}, 'type': 'array'}}, 'type': 'object'}, 'ApplicationRelationsWatchResult': {'additionalProperties': False, 'properties': {'ApplicationRelationsWatcherId': {'type': 'string'}, 'changes': {'$ref': '#/definitions/ApplicationRelationsChange'}, 'error': {'$ref': '#/definitions/Error'}}, 'required': ['ApplicationRelationsWatcherId'], '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'}, 'Macaroon': {'additionalProperties': False, 'type': 'object'}, 'RelationChange': {'additionalProperties': False, 'properties': {'changedunits': {'patternProperties': {'.*': {'$ref': '#/definitions/RelationUnitChange'}}, 'type': 'object'}, 'departedunits': {'items': {'type': 'string'}, 'type': 'array'}, 'id': {'type': 'integer'}, 'life': {'type': 'string'}}, 'required': ['id', 'life'], 'type': 'object'}, 'RelationUnitChange': {'additionalProperties': False, 'properties': {'settings': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}}, 'type': 'object'}}, 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/ApplicationRelationsWatchResult'}}, 'type': 'object'}, 'Stop': {'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(ApplicationRelationsWatchResult) async def Next(self): ''' Returns -> typing.Union[str, _ForwardRef('ApplicationRelationsChange'), _ForwardRef('Error')] ''' # map input types to rpc msg _params = dict() msg = dict(type='ApplicationRelationsWatcher', request='Next', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def Stop(self): ''' Returns -> None ''' # map input types to rpc msg _params = dict() msg = dict(type='ApplicationRelationsWatcher', request='Stop', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs]class ApplicationScalerFacade(Type): name = 'ApplicationScaler' version = 1 schema = {'definitions': {'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'}, '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'}, 'StringsWatchResult': {'additionalProperties': False, 'properties': {'changes': {'items': {'type': 'string'}, 'type': 'array'}, 'error': {'$ref': '#/definitions/Error'}, 'watcher-id': {'type': 'string'}}, 'required': ['watcher-id'], 'type': 'object'}}, 'properties': {'Rescale': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'Watch': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(ErrorResults) async def Rescale(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='ApplicationScaler', request='Rescale', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringsWatchResult) async def Watch(self): ''' Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error'), str] ''' # map input types to rpc msg _params = dict() msg = dict(type='ApplicationScaler', request='Watch', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs]class BackupsFacade(Type): name = 'Backups' version = 1 schema = {'definitions': {'BackupsCreateArgs': {'additionalProperties': False, 'properties': {'notes': {'type': 'string'}}, 'required': ['notes'], 'type': 'object'}, 'BackupsInfoArgs': {'additionalProperties': False, 'properties': {'id': {'type': 'string'}}, 'required': ['id'], 'type': 'object'}, 'BackupsListArgs': {'additionalProperties': False, 'type': 'object'}, 'BackupsListResult': {'additionalProperties': False, 'properties': {'list': {'items': {'$ref': '#/definitions/BackupsMetadataResult'}, 'type': 'array'}}, 'required': ['list'], 'type': 'object'}, 'BackupsMetadataResult': {'additionalProperties': False, 'properties': {'ca-cert': {'type': 'string'}, 'ca-private-key': {'type': 'string'}, 'checksum': {'type': 'string'}, 'checksum-format': {'type': 'string'}, 'finished': {'format': 'date-time', 'type': 'string'}, 'hostname': {'type': 'string'}, 'id': {'type': 'string'}, 'machine': {'type': 'string'}, 'model': {'type': 'string'}, 'notes': {'type': 'string'}, 'series': {'type': 'string'}, 'size': {'type': 'integer'}, 'started': {'format': 'date-time', 'type': 'string'}, 'stored': {'format': 'date-time', 'type': 'string'}, 'version': {'$ref': '#/definitions/Number'}}, 'required': ['id', 'checksum', 'checksum-format', 'size', 'stored', 'started', 'finished', 'notes', 'model', 'machine', 'hostname', 'version', 'series', 'ca-cert', 'ca-private-key'], 'type': 'object'}, 'BackupsRemoveArgs': {'additionalProperties': False, 'properties': {'id': {'type': 'string'}}, 'required': ['id'], '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'}, 'RestoreArgs': {'additionalProperties': False, 'properties': {'backup-id': {'type': 'string'}}, 'required': ['backup-id'], 'type': 'object'}}, 'properties': {'Create': {'properties': {'Params': {'$ref': '#/definitions/BackupsCreateArgs'}, 'Result': {'$ref': '#/definitions/BackupsMetadataResult'}}, 'type': 'object'}, 'FinishRestore': {'type': 'object'}, 'Info': {'properties': {'Params': {'$ref': '#/definitions/BackupsInfoArgs'}, 'Result': {'$ref': '#/definitions/BackupsMetadataResult'}}, 'type': 'object'}, 'List': {'properties': {'Params': {'$ref': '#/definitions/BackupsListArgs'}, 'Result': {'$ref': '#/definitions/BackupsListResult'}}, 'type': 'object'}, 'PrepareRestore': {'type': 'object'}, 'Remove': {'properties': {'Params': {'$ref': '#/definitions/BackupsRemoveArgs'}}, 'type': 'object'}, 'Restore': {'properties': {'Params': {'$ref': '#/definitions/RestoreArgs'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(BackupsMetadataResult) async def Create(self, notes=None): ''' notes : str Returns -> typing.Union[str, int, _ForwardRef('Number')] ''' if notes is not None and not isinstance(notes, (bytes, str)): raise Exception("Expected notes to be a str, received: {}".format(type(notes))) # map input types to rpc msg _params = dict() msg = dict(type='Backups', request='Create', version=1, params=_params) _params['notes'] = notes reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def FinishRestore(self): ''' Returns -> None ''' # map input types to rpc msg _params = dict() msg = dict(type='Backups', request='FinishRestore', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(BackupsMetadataResult) async def Info(self, id_=None): ''' id_ : str Returns -> typing.Union[str, int, _ForwardRef('Number')] ''' if id_ is not None and not isinstance(id_, (bytes, str)): raise Exception("Expected id_ to be a str, received: {}".format(type(id_))) # map input types to rpc msg _params = dict() msg = dict(type='Backups', request='Info', version=1, params=_params) _params['id'] = id_ reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(BackupsListResult) async def List(self): ''' Returns -> typing.Sequence[~BackupsMetadataResult] ''' # map input types to rpc msg _params = dict() msg = dict(type='Backups', request='List', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def PrepareRestore(self): ''' Returns -> None ''' # map input types to rpc msg _params = dict() msg = dict(type='Backups', request='PrepareRestore', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def Remove(self, id_=None): ''' id_ : str Returns -> None ''' if id_ is not None and not isinstance(id_, (bytes, str)): raise Exception("Expected id_ to be a str, received: {}".format(type(id_))) # map input types to rpc msg _params = dict() msg = dict(type='Backups', request='Remove', version=1, params=_params) _params['id'] = id_ reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def Restore(self, backup_id=None): ''' backup_id : str Returns -> None ''' if backup_id is not None and not isinstance(backup_id, (bytes, str)): raise Exception("Expected backup_id to be a str, received: {}".format(type(backup_id))) # map input types to rpc msg _params = dict() msg = dict(type='Backups', request='Restore', version=1, params=_params) _params['backup-id'] = backup_id reply = await self.rpc(msg) return reply
[docs]class BundleFacade(Type): name = 'Bundle' version = 1 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': {'yaml': {'type': 'string'}}, 'required': ['yaml'], 'type': 'object'}, 'BundleChangesResults': {'additionalProperties': False, 'properties': {'changes': {'items': {'$ref': '#/definitions/BundleChange'}, 'type': 'array'}, 'errors': {'items': {'type': 'string'}, 'type': 'array'}}, 'type': 'object'}}, 'properties': {'GetChanges': {'properties': {'Params': {'$ref': '#/definitions/BundleChangesParams'}, 'Result': {'$ref': '#/definitions/BundleChangesResults'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(BundleChangesResults) async def GetChanges(self, yaml=None): ''' yaml : str Returns -> typing.Union[typing.Sequence[~BundleChange], typing.Sequence[str]] ''' 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=1, params=_params) _params['yaml'] = yaml reply = await self.rpc(msg) return reply
[docs]class CAASAgentFacade(Type): name = 'CAASAgent' version = 1 schema = {'definitions': {'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': {'cacertificates': {'items': {'type': 'string'}, 'type': 'array'}, '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'}, 'ControllerAPIInfoResult': {'additionalProperties': False, 'properties': {'addresses': {'items': {'type': 'string'}, 'type': 'array'}, 'cacert': {'type': 'string'}, 'error': {'$ref': '#/definitions/Error'}}, 'required': ['addresses', 'cacert'], 'type': 'object'}, 'ControllerAPIInfoResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/ControllerAPIInfoResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'ControllerConfigResult': {'additionalProperties': False, 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}}, 'required': ['config'], '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'}, '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'}}, 'properties': {'CloudSpec': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/CloudSpecResults'}}, 'type': 'object'}, 'ControllerAPIInfoForModels': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ControllerAPIInfoResults'}}, 'type': 'object'}, 'ControllerConfig': {'properties': {'Result': {'$ref': '#/definitions/ControllerConfigResult'}}, 'type': 'object'}, 'GetCloudSpec': {'properties': {'Params': {'$ref': '#/definitions/ModelTag'}, 'Result': {'$ref': '#/definitions/CloudSpecResult'}}, 'type': 'object'}, 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}}, 'type': 'object'}, 'WatchCloudSpecsChanges': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, 'type': 'object'}, 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, '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='CAASAgent', request='CloudSpec', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ControllerAPIInfoResults) async def ControllerAPIInfoForModels(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ControllerAPIInfoResult] ''' 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='CAASAgent', request='ControllerAPIInfoForModels', version=1, 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='CAASAgent', request='ControllerConfig', version=1, params=_params) 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='CAASAgent', request='GetCloudSpec', version=1, params=_params) 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='CAASAgent', request='ModelConfig', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(NotifyWatchResults) async def WatchCloudSpecsChanges(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='CAASAgent', request='WatchCloudSpecsChanges', version=1, 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='CAASAgent', request='WatchForModelConfigChanges', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs]class CAASFirewallerFacade(Type): name = 'CAASFirewaller' version = 1 schema = {'definitions': {'ApplicationGetConfigResults': {'additionalProperties': False, 'properties': {'Results': {'items': {'$ref': '#/definitions/ConfigResult'}, 'type': 'array'}}, 'required': ['Results'], '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'}, 'ConfigResult': {'additionalProperties': False, 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'error': {'$ref': '#/definitions/Error'}}, 'required': ['config'], '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'}, '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'}, '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'}, 'StringsWatchResult': {'additionalProperties': False, 'properties': {'changes': {'items': {'type': 'string'}, 'type': 'array'}, 'error': {'$ref': '#/definitions/Error'}, 'watcher-id': {'type': 'string'}}, 'required': ['watcher-id'], 'type': 'object'}}, 'properties': {'ApplicationsConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ApplicationGetConfigResults'}}, 'type': 'object'}, 'IsExposed': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/BoolResults'}}, 'type': 'object'}, 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/LifeResults'}}, 'type': 'object'}, 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, 'type': 'object'}, 'WatchApplications': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(ApplicationGetConfigResults) async def ApplicationsConfig(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ConfigResult] ''' 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='CAASFirewaller', request='ApplicationsConfig', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(BoolResults) async def IsExposed(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='CAASFirewaller', request='IsExposed', version=1, 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='CAASFirewaller', request='Life', version=1, params=_params) _params['entities'] = entities 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='CAASFirewaller', request='Watch', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringsWatchResult) async def WatchApplications(self): ''' Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error'), str] ''' # map input types to rpc msg _params = dict() msg = dict(type='CAASFirewaller', request='WatchApplications', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs]class CAASOperatorFacade(Type): name = 'CAASOperator' version = 1 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-id': {'type': 'string'}, 'space-name': {'type': 'string'}, 'type': {'type': 'string'}, 'value': {'type': 'string'}}, 'required': ['value', 'type', 'scope'], 'type': 'object'}, 'ApplicationCharm': {'additionalProperties': False, 'properties': {'charm-modified-version': {'type': 'integer'}, 'force-upgrade': {'type': 'boolean'}, 'sha256': {'type': 'string'}, 'url': {'type': 'string'}}, 'required': ['url', 'sha256', 'charm-modified-version'], 'type': 'object'}, 'ApplicationCharmResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'$ref': '#/definitions/ApplicationCharm'}}, 'type': 'object'}, 'ApplicationCharmResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/ApplicationCharmResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'Binary': {'additionalProperties': False, 'properties': {'Arch': {'type': 'string'}, 'Build': {'type': 'integer'}, 'Major': {'type': 'integer'}, 'Minor': {'type': 'integer'}, 'Number': {'$ref': '#/definitions/Number'}, 'Patch': {'type': 'integer'}, 'Series': {'type': 'string'}, 'Tag': {'type': 'string'}}, 'required': ['Major', 'Minor', 'Tag', 'Patch', 'Build', 'Number', 'Series', 'Arch'], 'type': 'object'}, 'Entities': {'additionalProperties': False, 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'}, 'type': 'array'}}, 'required': ['entities'], 'type': 'object'}, 'EntitiesVersion': {'additionalProperties': False, 'properties': {'agent-tools': {'items': {'$ref': '#/definitions/EntityVersion'}, 'type': 'array'}}, 'required': ['agent-tools'], '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'}, 'EntityString': {'additionalProperties': False, 'properties': {'tag': {'type': 'string'}, 'value': {'type': 'string'}}, 'required': ['tag', 'value'], 'type': 'object'}, 'EntityVersion': {'additionalProperties': False, 'properties': {'tag': {'type': 'string'}, 'tools': {'$ref': '#/definitions/Version'}}, 'required': ['tag', 'tools'], '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'}, 'HostPort': {'additionalProperties': False, 'properties': {'Address': {'$ref': '#/definitions/Address'}, 'port': {'type': 'integer'}, 'scope': {'type': 'string'}, 'space-id': {'type': 'string'}, 'space-name': {'type': 'string'}, 'type': {'type': 'string'}, 'value': {'type': 'string'}}, 'required': ['value', 'type', 'scope', 'Address', 'port'], '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'}, 'ModelResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'name': {'type': 'string'}, 'type': {'type': 'string'}, 'uuid': {'type': 'string'}}, 'required': ['name', 'uuid', 'type'], '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'}, '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'}, 'SetPodSpecParams': {'additionalProperties': False, 'properties': {'specs': {'items': {'$ref': '#/definitions/EntityString'}, 'type': 'array'}}, 'required': ['specs'], 'type': 'object'}, 'SetStatus': {'additionalProperties': False, 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'}, 'type': 'array'}}, 'required': ['entities'], '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'}, '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'}, 'Version': {'additionalProperties': False, 'properties': {'version': {'$ref': '#/definitions/Binary'}}, 'required': ['version'], 'type': 'object'}}, 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}}, 'type': 'object'}, 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}}, 'type': 'object'}, 'Charm': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ApplicationCharmResults'}}, 'type': 'object'}, 'CurrentModel': {'properties': {'Result': {'$ref': '#/definitions/ModelResult'}}, 'type': 'object'}, 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/LifeResults'}}, 'type': 'object'}, 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}}, 'type': 'object'}, 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'SetPodSpec': {'properties': {'Params': {'$ref': '#/definitions/SetPodSpecParams'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'SetTools': {'properties': {'Params': {'$ref': '#/definitions/EntitiesVersion'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, 'type': 'object'}, 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, 'type': 'object'}, 'WatchUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/StringsWatchResults'}}, '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='CAASOperator', request='APIAddresses', version=1, 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='CAASOperator', request='APIHostPorts', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ApplicationCharmResults) async def Charm(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ApplicationCharmResult] ''' 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='CAASOperator', request='Charm', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ModelResult) async def CurrentModel(self): ''' Returns -> typing.Union[_ForwardRef('Error'), str] ''' # map input types to rpc msg _params = dict() msg = dict(type='CAASOperator', request='CurrentModel', version=1, params=_params) 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='CAASOperator', request='Life', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringResult) async def ModelUUID(self): ''' Returns -> typing.Union[_ForwardRef('Error'), str] ''' # map input types to rpc msg _params = dict() msg = dict(type='CAASOperator', request='ModelUUID', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def Remove(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='CAASOperator', request='Remove', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def SetPodSpec(self, specs=None): ''' specs : typing.Sequence[~EntityString] Returns -> typing.Sequence[~ErrorResult] ''' 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='CAASOperator', request='SetPodSpec', version=1, params=_params) _params['specs'] = specs reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def SetStatus(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='CAASOperator', request='SetStatus', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def SetTools(self, agent_tools=None): ''' agent_tools : typing.Sequence[~EntityVersion] Returns -> typing.Sequence[~ErrorResult] ''' if agent_tools is not None and not isinstance(agent_tools, (bytes, str, list)): raise Exception("Expected agent_tools to be a Sequence, received: {}".format(type(agent_tools))) # map input types to rpc msg _params = dict() msg = dict(type='CAASOperator', request='SetTools', version=1, params=_params) _params['agent-tools'] = agent_tools 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='CAASOperator', request='Watch', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(NotifyWatchResult) async def WatchAPIHostPorts(self): ''' Returns -> typing.Union[str, _ForwardRef('Error')] ''' # map input types to rpc msg _params = dict() msg = dict(type='CAASOperator', request='WatchAPIHostPorts', version=1, params=_params) 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='CAASOperator', request='WatchUnits', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs]class CAASOperatorProvisionerFacade(Type): name = 'CAASOperatorProvisioner' version = 1 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-id': {'type': 'string'}, 'space-name': {'type': 'string'}, 'type': {'type': 'string'}, 'value': {'type': 'string'}}, 'required': ['value', 'type', 'scope'], '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'}, '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'}, 'HostPort': {'additionalProperties': False, 'properties': {'Address': {'$ref': '#/definitions/Address'}, 'port': {'type': 'integer'}, 'scope': {'type': 'string'}, 'space-id': {'type': 'string'}, 'space-name': {'type': 'string'}, 'type': {'type': 'string'}, 'value': {'type': 'string'}}, 'required': ['value', 'type', 'scope', 'Address', 'port'], 'type': 'object'}, 'KubernetesFilesystemAttachmentParams': {'additionalProperties': False, 'properties': {'mount-point': {'type': 'string'}, 'provider': {'type': 'string'}, 'read-only': {'type': 'boolean'}}, 'required': ['provider'], 'type': 'object'}, 'KubernetesFilesystemParams': {'additionalProperties': False, 'properties': {'attachment': {'$ref': '#/definitions/KubernetesFilesystemAttachmentParams'}, 'attributes': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'provider': {'type': 'string'}, 'size': {'type': 'integer'}, 'storagename': {'type': 'string'}, 'tags': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}}, 'required': ['storagename', 'size', 'provider'], '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'}, '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'}, 'OperatorProvisioningInfo': {'additionalProperties': False, 'properties': {'api-addresses': {'items': {'type': 'string'}, 'type': 'array'}, 'charm-storage': {'$ref': '#/definitions/KubernetesFilesystemParams'}, 'image-path': {'type': 'string'}, 'tags': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}, 'version': {'$ref': '#/definitions/Number'}}, 'required': ['image-path', 'version', 'api-addresses', 'charm-storage'], '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'}, 'StringsWatchResult': {'additionalProperties': False, 'properties': {'changes': {'items': {'type': 'string'}, 'type': 'array'}, 'error': {'$ref': '#/definitions/Error'}, 'watcher-id': {'type': 'string'}}, 'required': ['watcher-id'], 'type': 'object'}}, 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}}, 'type': 'object'}, 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}}, 'type': 'object'}, 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/LifeResults'}}, 'type': 'object'}, 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}}, 'type': 'object'}, 'OperatorProvisioningInfo': {'properties': {'Result': {'$ref': '#/definitions/OperatorProvisioningInfo'}}, 'type': 'object'}, 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, 'type': 'object'}, 'WatchApplications': {'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='CAASOperatorProvisioner', request='APIAddresses', version=1, 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='CAASOperatorProvisioner', request='APIHostPorts', version=1, params=_params) 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='CAASOperatorProvisioner', request='Life', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringResult) async def ModelUUID(self): ''' Returns -> typing.Union[_ForwardRef('Error'), str] ''' # map input types to rpc msg _params = dict() msg = dict(type='CAASOperatorProvisioner', request='ModelUUID', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(OperatorProvisioningInfo) async def OperatorProvisioningInfo(self): ''' Returns -> typing.Union[typing.Sequence[str], _ForwardRef('KubernetesFilesystemParams'), str, typing.Mapping[str, str], _ForwardRef('Number')] ''' # map input types to rpc msg _params = dict() msg = dict(type='CAASOperatorProvisioner', request='OperatorProvisioningInfo', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def SetPasswords(self, changes=None): ''' changes : typing.Sequence[~EntityPassword] 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='CAASOperatorProvisioner', request='SetPasswords', version=1, params=_params) _params['changes'] = changes reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(NotifyWatchResult) async def WatchAPIHostPorts(self): ''' Returns -> typing.Union[str, _ForwardRef('Error')] ''' # map input types to rpc msg _params = dict() msg = dict(type='CAASOperatorProvisioner', request='WatchAPIHostPorts', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringsWatchResult) async def WatchApplications(self): ''' Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error'), str] ''' # map input types to rpc msg _params = dict() msg = dict(type='CAASOperatorProvisioner', request='WatchApplications', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs]class CAASOperatorUpgraderFacade(Type): name = 'CAASOperatorUpgrader' version = 1 schema = {'definitions': {'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'}, 'KubernetesUpgradeArg': {'additionalProperties': False, 'properties': {'agent-tag': {'type': 'string'}, 'version': {'$ref': '#/definitions/Number'}}, 'required': ['agent-tag', 'version'], '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'}}, 'properties': {'UpgradeOperator': {'properties': {'Params': {'$ref': '#/definitions/KubernetesUpgradeArg'}, 'Result': {'$ref': '#/definitions/ErrorResult'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(ErrorResult) async def UpgradeOperator(self, agent_tag=None, version=None): ''' agent_tag : str version : Number Returns -> Error ''' if agent_tag is not None and not isinstance(agent_tag, (bytes, str)): raise Exception("Expected agent_tag to be a str, received: {}".format(type(agent_tag))) if version is not None and not isinstance(version, (dict, Number)): raise Exception("Expected version to be a Number, received: {}".format(type(version))) # map input types to rpc msg _params = dict() msg = dict(type='CAASOperatorUpgrader', request='UpgradeOperator', version=1, params=_params) _params['agent-tag'] = agent_tag _params['version'] = version reply = await self.rpc(msg) return reply
[docs]class CAASUnitProvisionerFacade(Type): name = 'CAASUnitProvisioner' version = 1 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'}, 'ApplicationGetConfigResults': {'additionalProperties': False, 'properties': {'Results': {'items': {'$ref': '#/definitions/ConfigResult'}, 'type': 'array'}}, 'required': ['Results'], 'type': 'object'}, 'ApplicationUnitParams': {'additionalProperties': False, 'properties': {'address': {'type': 'string'}, 'data': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'filesystem-info': {'items': {'$ref': '#/definitions/KubernetesFilesystemInfo'}, 'type': 'array'}, 'info': {'type': 'string'}, 'ports': {'items': {'type': 'string'}, 'type': 'array'}, 'provider-id': {'type': 'string'}, 'stateful': {'type': 'boolean'}, 'status': {'type': 'string'}, 'unit-tag': {'type': 'string'}}, 'required': ['provider-id', 'unit-tag', 'address', 'ports', 'status', 'info'], 'type': 'object'}, 'ConfigResult': {'additionalProperties': False, 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'error': {'$ref': '#/definitions/Error'}}, 'required': ['config'], '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'}, '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'}, 'IntResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'type': 'integer'}}, 'required': ['result'], 'type': 'object'}, 'IntResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/IntResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'KubernetesDeploymentInfo': {'additionalProperties': False, 'properties': {'deployment-type': {'type': 'string'}, 'service-type': {'type': 'string'}}, 'required': ['deployment-type', 'service-type'], 'type': 'object'}, 'KubernetesDeviceParams': {'additionalProperties': False, 'properties': {'Attributes': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}, 'Count': {'type': 'integer'}, 'Type': {'type': 'string'}}, 'required': ['Type', 'Count', 'Attributes'], 'type': 'object'}, 'KubernetesFilesystemAttachmentParams': {'additionalProperties': False, 'properties': {'mount-point': {'type': 'string'}, 'provider': {'type': 'string'}, 'read-only': {'type': 'boolean'}}, 'required': ['provider'], 'type': 'object'}, 'KubernetesFilesystemInfo': {'additionalProperties': False, 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'filesystem-id': {'type': 'string'}, 'info': {'type': 'string'}, 'mount-point': {'type': 'string'}, 'pool': {'type': 'string'}, 'read-only': {'type': 'boolean'}, 'size': {'type': 'integer'}, 'status': {'type': 'string'}, 'storagename': {'type': 'string'}, 'volume': {'$ref': '#/definitions/KubernetesVolumeInfo'}}, 'required': ['storagename', 'pool', 'size', 'filesystem-id', 'status', 'info', 'volume'], 'type': 'object'}, 'KubernetesFilesystemParams': {'additionalProperties': False, 'properties': {'attachment': {'$ref': '#/definitions/KubernetesFilesystemAttachmentParams'}, 'attributes': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'provider': {'type': 'string'}, 'size': {'type': 'integer'}, 'storagename': {'type': 'string'}, 'tags': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}}, 'required': ['storagename', 'size', 'provider'], 'type': 'object'}, 'KubernetesProvisioningInfo': {'additionalProperties': False, 'properties': {'constraints': {'$ref': '#/definitions/Value'}, 'deployment-info': {'$ref': '#/definitions/KubernetesDeploymentInfo'}, 'devices': {'items': {'$ref': '#/definitions/KubernetesDeviceParams'}, 'type': 'array'}, 'filesystems': {'items': {'$ref': '#/definitions/KubernetesFilesystemParams'}, 'type': 'array'}, 'pod-spec': {'type': 'string'}, 'tags': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}, 'volumes': {'items': {'$ref': '#/definitions/KubernetesVolumeParams'}, 'type': 'array'}}, 'required': ['pod-spec', 'constraints'], 'type': 'object'}, 'KubernetesProvisioningInfoResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'$ref': '#/definitions/KubernetesProvisioningInfo'}}, 'required': ['result'], 'type': 'object'}, 'KubernetesProvisioningInfoResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/KubernetesProvisioningInfoResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'KubernetesVolumeAttachmentParams': {'additionalProperties': False, 'properties': {'provider': {'type': 'string'}, 'read-only': {'type': 'boolean'}}, 'required': ['provider'], 'type': 'object'}, 'KubernetesVolumeInfo': {'additionalProperties': False, 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'info': {'type': 'string'}, 'persistent': {'type': 'boolean'}, 'pool': {'type': 'string'}, 'size': {'type': 'integer'}, 'status': {'type': 'string'}, 'volume-id': {'type': 'string'}}, 'required': ['volume-id', 'size', 'persistent', 'status', 'info'], 'type': 'object'}, 'KubernetesVolumeParams': {'additionalProperties': False, 'properties': {'attachment': {'$ref': '#/definitions/KubernetesVolumeAttachmentParams'}, 'attributes': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'provider': {'type': 'string'}, 'size': {'type': 'integer'}, 'storagename': {'type': 'string'}, 'tags': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}}, 'required': ['storagename', 'size', 'provider'], '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'}, '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'}, 'SetStatus': {'additionalProperties': False, 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'}, 'type': 'array'}}, 'required': ['entities'], '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'}, 'UpdateApplicationServiceArg': {'additionalProperties': False, 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'}, 'type': 'array'}, 'application-tag': {'type': 'string'}, 'generation': {'type': 'integer'}, 'provider-id': {'type': 'string'}, 'scale': {'type': 'integer'}}, 'required': ['application-tag', 'provider-id', 'addresses'], 'type': 'object'}, 'UpdateApplicationServiceArgs': {'additionalProperties': False, 'properties': {'args': {'items': {'$ref': '#/definitions/UpdateApplicationServiceArg'}, 'type': 'array'}}, 'required': ['args'], 'type': 'object'}, 'UpdateApplicationUnitArgs': {'additionalProperties': False, 'properties': {'args': {'items': {'$ref': '#/definitions/UpdateApplicationUnits'}, 'type': 'array'}}, 'required': ['args'], 'type': 'object'}, 'UpdateApplicationUnits': {'additionalProperties': False, 'properties': {'application-tag': {'type': 'string'}, 'generation': {'type': 'integer'}, 'scale': {'type': 'integer'}, 'status': {'$ref': '#/definitions/EntityStatus'}, 'units': {'items': {'$ref': '#/definitions/ApplicationUnitParams'}, 'type': 'array'}}, 'required': ['application-tag', 'units'], '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'}, 'root-disk-source': {'type': 'string'}, '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': {'ApplicationsConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ApplicationGetConfigResults'}}, 'type': 'object'}, 'ApplicationsScale': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/IntResults'}}, 'type': 'object'}, 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/LifeResults'}}, 'type': 'object'}, 'ProvisioningInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/KubernetesProvisioningInfoResults'}}, 'type': 'object'}, 'SetOperatorStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'UpdateApplicationsService': {'properties': {'Params': {'$ref': '#/definitions/UpdateApplicationServiceArgs'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'UpdateApplicationsUnits': {'properties': {'Params': {'$ref': '#/definitions/UpdateApplicationUnitArgs'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'WatchApplications': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}}, 'type': 'object'}, 'WatchApplicationsScale': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, 'type': 'object'}, 'WatchPodSpec': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(ApplicationGetConfigResults) async def ApplicationsConfig(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ConfigResult] ''' 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='CAASUnitProvisioner', request='ApplicationsConfig', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(IntResults) async def ApplicationsScale(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~IntResult] ''' 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='CAASUnitProvisioner', request='ApplicationsScale', version=1, 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='CAASUnitProvisioner', request='Life', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(KubernetesProvisioningInfoResults) async def ProvisioningInfo(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~KubernetesProvisioningInfoResult] ''' 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='CAASUnitProvisioner', request='ProvisioningInfo', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def SetOperatorStatus(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='CAASUnitProvisioner', request='SetOperatorStatus', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def UpdateApplicationsService(self, args=None): ''' args : typing.Sequence[~UpdateApplicationServiceArg] Returns -> typing.Sequence[~ErrorResult] ''' if args is not None and not isinstance(args, (bytes, str, list)): raise Exception("Expected args to be a Sequence, received: {}".format(type(args))) # map input types to rpc msg _params = dict() msg = dict(type='CAASUnitProvisioner', request='UpdateApplicationsService', version=1, params=_params) _params['args'] = args reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def UpdateApplicationsUnits(self, args=None): ''' args : typing.Sequence[~UpdateApplicationUnits] Returns -> typing.Sequence[~ErrorResult] ''' if args is not None and not isinstance(args, (bytes, str, list)): raise Exception("Expected args to be a Sequence, received: {}".format(type(args))) # map input types to rpc msg _params = dict() msg = dict(type='CAASUnitProvisioner', request='UpdateApplicationsUnits', version=1, params=_params) _params['args'] = args reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringsWatchResult) async def WatchApplications(self): ''' Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error'), str] ''' # map input types to rpc msg _params = dict() msg = dict(type='CAASUnitProvisioner', request='WatchApplications', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(NotifyWatchResults) async def WatchApplicationsScale(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='CAASUnitProvisioner', request='WatchApplicationsScale', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(NotifyWatchResults) async def WatchPodSpec(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='CAASUnitProvisioner', request='WatchPodSpec', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs]class ClientFacade(Type): name = 'Client' version = 1 schema = {'definitions': {'APIHostPortsResult': {'additionalProperties': False, 'properties': {'servers': {'items': {'items': {'$ref': '#/definitions/HostPort'}, 'type': 'array'}, 'type': 'array'}}, 'required': ['servers'], 'type': 'object'}, 'AddCharm': {'additionalProperties': False, 'properties': {'channel': {'type': 'string'}, 'url': {'type': 'string'}}, 'required': ['url', 'channel'], 'type': 'object'}, 'AddCharmWithAuthorization': {'additionalProperties': False, 'properties': {'channel': {'type': 'string'}, 'macaroon': {'$ref': '#/definitions/Macaroon'}, 'url': {'type': 'string'}}, 'required': ['url', 'channel', 'macaroon'], 'type': 'object'}, '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'}, 'AgentVersionResult': {'additionalProperties': False, 'properties': {'version': {'$ref': '#/definitions/Number'}}, 'required': ['version'], 'type': 'object'}, 'AllWatcherId': {'additionalProperties': False, 'properties': {'watcher-id': {'type': 'string'}}, 'required': ['watcher-id'], 'type': 'object'}, 'ApplicationStatus': {'additionalProperties': False, 'properties': {'can-upgrade-to': {'type': 'string'}, 'charm': {'type': 'string'}, 'err': {'additionalProperties': True, 'type': 'object'}, 'exposed': {'type': 'boolean'}, 'life': {'type': 'string'}, 'meter-statuses': {'patternProperties': {'.*': {'$ref': '#/definitions/MeterStatus'}}, 'type': 'object'}, 'relations': {'patternProperties': {'.*': {'items': {'type': 'string'}, 'type': 'array'}}, 'type': 'object'}, 'series': {'type': 'string'}, 'status': {'$ref': '#/definitions/DetailedStatus'}, 'subordinate-to': {'items': {'type': 'string'}, 'type': 'array'}, 'units': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitStatus'}}, 'type': 'object'}, 'workload-version': {'type': 'string'}}, 'required': ['charm', 'series', 'exposed', 'life', 'relations', 'can-upgrade-to', 'subordinate-to', 'units', 'meter-statuses', 'status', 'workload-version'], 'type': 'object'}, 'Binary': {'additionalProperties': False, 'properties': {'Arch': {'type': 'string'}, 'Number': {'$ref': '#/definitions/Number'}, 'Series': {'type': 'string'}}, 'required': ['Number', 'Series', 'Arch'], 'type': 'object'}, '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': {'yaml': {'type': 'string'}}, 'required': ['yaml'], 'type': 'object'}, 'BundleChangesResults': {'additionalProperties': False, 'properties': {'changes': {'items': {'$ref': '#/definitions/BundleChange'}, 'type': 'array'}, 'errors': {'items': {'type': 'string'}, 'type': 'array'}}, 'type': 'object'}, 'BytesResult': {'additionalProperties': False, 'properties': {'result': {'items': {'type': 'integer'}, 'type': 'array'}}, 'required': ['result'], 'type': 'object'}, 'ConfigValue': {'additionalProperties': False, 'properties': {'source': {'type': 'string'}, 'value': {'additionalProperties': True, 'type': 'object'}}, 'required': ['value', 'source'], 'type': 'object'}, 'Constraints': {'additionalProperties': False, 'properties': {'Count': {'type': 'integer'}, 'Pool': {'type': 'string'}, 'Size': {'type': 'integer'}}, 'required': ['Pool', 'Size', 'Count'], 'type': 'object'}, 'DestroyMachines': {'additionalProperties': False, 'properties': {'force': {'type': 'boolean'}, 'machine-names': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['machine-names', 'force'], 'type': 'object'}, 'DetailedStatus': {'additionalProperties': False, 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'err': {'additionalProperties': True, 'type': 'object'}, 'info': {'type': 'string'}, 'kind': {'type': 'string'}, 'life': {'type': 'string'}, 'since': {'format': 'date-time', 'type': 'string'}, 'status': {'type': 'string'}, 'version': {'type': 'string'}}, 'required': ['status', 'info', 'data', 'since', 'kind', 'version', 'life'], 'type': 'object'}, 'EndpointStatus': {'additionalProperties': False, 'properties': {'application': {'type': 'string'}, 'name': {'type': 'string'}, 'role': {'type': 'string'}, 'subordinate': {'type': 'boolean'}}, 'required': ['application', 'name', 'role', 'subordinate'], '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'}, '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'}, 'FullStatus': {'additionalProperties': False, 'properties': {'applications': {'patternProperties': {'.*': {'$ref': '#/definitions/ApplicationStatus'}}, 'type': 'object'}, 'machines': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}}, 'type': 'object'}, 'model': {'$ref': '#/definitions/ModelStatusInfo'}, 'relations': {'items': {'$ref': '#/definitions/RelationStatus'}, 'type': 'array'}, 'remote-applications': {'patternProperties': {'.*': {'$ref': '#/definitions/RemoteApplicationStatus'}}, 'type': 'object'}}, 'required': ['model', 'machines', 'applications', 'remote-applications', 'relations'], 'type': 'object'}, 'GetConstraintsResults': {'additionalProperties': False, 'properties': {'constraints': {'$ref': '#/definitions/Value'}}, 'required': ['constraints'], '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'}, 'History': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'statuses': {'items': {'$ref': '#/definitions/DetailedStatus'}, 'type': 'array'}}, 'required': ['statuses'], 'type': 'object'}, 'HostPort': {'additionalProperties': False, 'properties': {'Address': {'$ref': '#/definitions/Address'}, 'port': {'type': 'integer'}}, 'required': ['Address', 'port'], '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'}, 'MachineStatus': {'additionalProperties': False, 'properties': {'agent-status': {'$ref': '#/definitions/DetailedStatus'}, 'constraints': {'type': 'string'}, 'containers': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}}, 'type': 'object'}, 'dns-name': {'type': 'string'}, 'hardware': {'type': 'string'}, 'has-vote': {'type': 'boolean'}, 'id': {'type': 'string'}, 'instance-id': {'type': 'string'}, 'instance-status': {'$ref': '#/definitions/DetailedStatus'}, 'ip-addresses': {'items': {'type': 'string'}, 'type': 'array'}, 'jobs': {'items': {'type': 'string'}, 'type': 'array'}, 'network-interfaces': {'patternProperties': {'.*': {'$ref': '#/definitions/NetworkInterface'}}, 'type': 'object'}, 'series': {'type': 'string'}, 'wants-vote': {'type': 'boolean'}}, 'required': ['agent-status', 'instance-status', 'dns-name', 'instance-id', 'series', 'id', 'containers', 'constraints', 'hardware', 'jobs', 'has-vote', 'wants-vote'], 'type': 'object'}, 'MeterStatus': {'additionalProperties': False, 'properties': {'color': {'type': 'string'}, 'message': {'type': 'string'}}, 'required': ['color', 'message'], 'type': 'object'}, 'ModelConfigResults': {'additionalProperties': False, 'properties': {'config': {'patternProperties': {'.*': {'$ref': '#/definitions/ConfigValue'}}, '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'}, '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'}, 'ModelSLA': {'additionalProperties': False, 'properties': {'ModelSLAInfo': {'$ref': '#/definitions/ModelSLAInfo'}, 'creds': {'items': {'type': 'integer'}, 'type': 'array'}}, 'required': ['ModelSLAInfo', 'creds'], 'type': 'object'}, 'ModelSLAInfo': {'additionalProperties': False, 'properties': {'level': {'type': 'string'}, 'owner': {'type': 'string'}}, 'required': ['level', 'owner'], 'type': 'object'}, 'ModelSet': {'additionalProperties': False, 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}}, 'required': ['config'], 'type': 'object'}, 'ModelStatusInfo': {'additionalProperties': False, 'properties': {'available-version': {'type': 'string'}, 'cloud-tag': {'type': 'string'}, 'meter-status': {'$ref': '#/definitions/MeterStatus'}, 'model-status': {'$ref': '#/definitions/DetailedStatus'}, 'name': {'type': 'string'}, 'region': {'type': 'string'}, 'sla': {'type': 'string'}, 'version': {'type': 'string'}}, 'required': ['name', 'cloud-tag', 'version', 'available-version', 'model-status', 'meter-status', 'sla'], 'type': 'object'}, 'ModelUnset': {'additionalProperties': False, 'properties': {'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'}, 'ModelUserInfoResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'$ref': '#/definitions/ModelUserInfo'}}, 'type': 'object'}, 'ModelUserInfoResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/ModelUserInfoResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'NetworkInterface': {'additionalProperties': False, 'properties': {'dns-nameservers': {'items': {'type': 'string'}, 'type': 'array'}, 'gateway': {'type': 'string'}, 'ip-addresses': {'items': {'type': 'string'}, 'type': 'array'}, 'is-up': {'type': 'boolean'}, 'mac-address': {'type': 'string'}, 'space': {'type': 'string'}}, 'required': ['ip-addresses', 'mac-address', 'is-up'], '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'}, 'Placement': {'additionalProperties': False, 'properties': {'directive': {'type': 'string'}, 'scope': {'type': 'string'}}, 'required': ['scope', 'directive'], 'type': 'object'}, 'PrivateAddress': {'additionalProperties': False, 'properties': {'target': {'type': 'string'}}, 'required': ['target'], 'type': 'object'}, 'PrivateAddressResults': {'additionalProperties': False, 'properties': {'private-address': {'type': 'string'}}, 'required': ['private-address'], 'type': 'object'}, 'ProvisioningScriptParams': {'additionalProperties': False, 'properties': {'data-dir': {'type': 'string'}, 'disable-package-commands': {'type': 'boolean'}, 'machine-id': {'type': 'string'}, 'nonce': {'type': 'string'}}, 'required': ['machine-id', 'nonce', 'data-dir', 'disable-package-commands'], 'type': 'object'}, 'ProvisioningScriptResult': {'additionalProperties': False, 'properties': {'script': {'type': 'string'}}, 'required': ['script'], 'type': 'object'}, 'PublicAddress': {'additionalProperties': False, 'properties': {'target': {'type': 'string'}}, 'required': ['target'], 'type': 'object'}, 'PublicAddressResults': {'additionalProperties': False, 'properties': {'public-address': {'type': 'string'}}, 'required': ['public-address'], 'type': 'object'}, 'RelationStatus': {'additionalProperties': False, 'properties': {'endpoints': {'items': {'$ref': '#/definitions/EndpointStatus'}, 'type': 'array'}, 'id': {'type': 'integer'}, 'interface': {'type': 'string'}, 'key': {'type': 'string'}, 'scope': {'type': 'string'}}, 'required': ['id', 'key', 'interface', 'scope', 'endpoints'], 'type': 'object'}, 'RemoteApplicationStatus': {'additionalProperties': False, 'properties': {'application-name': {'type': 'string'}, 'application-url': {'type': 'string'}, 'endpoints': {'items': {'$ref': '#/definitions/RemoteEndpoint'}, 'type': 'array'}, 'err': {'additionalProperties': True, 'type': 'object'}, 'life': {'type': 'string'}, 'relations': {'patternProperties': {'.*': {'items': {'type': 'string'}, 'type': 'array'}}, 'type': 'object'}, 'status': {'$ref': '#/definitions/DetailedStatus'}}, 'required': ['application-url', 'application-name', 'endpoints', 'life', 'relations', 'status'], 'type': 'object'}, 'RemoteEndpoint': {'additionalProperties': False, 'properties': {'interface': {'type': 'string'}, 'limit': {'type': 'integer'}, 'name': {'type': 'string'}, 'role': {'type': 'string'}, 'scope': {'type': 'string'}}, 'required': ['name', 'role', 'interface', 'limit', 'scope'], 'type': 'object'}, 'ResolveCharmResult': {'additionalProperties': False, 'properties': {'error': {'type': 'string'}, 'url': {'type': 'string'}}, 'type': 'object'}, 'ResolveCharmResults': {'additionalProperties': False, 'properties': {'urls': {'items': {'$ref': '#/definitions/ResolveCharmResult'}, 'type': 'array'}}, 'required': ['urls'], 'type': 'object'}, 'ResolveCharms': {'additionalProperties': False, 'properties': {'references': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['references'], 'type': 'object'}, 'Resolved': {'additionalProperties': False, 'properties': {'retry': {'type': 'boolean'}, 'unit-name': {'type': 'string'}}, 'required': ['unit-name', 'retry'], 'type': 'object'}, 'SetConstraints': {'additionalProperties': False, 'properties': {'application': {'type': 'string'}, 'constraints': {'$ref': '#/definitions/Value'}}, 'required': ['application', 'constraints'], 'type': 'object'}, 'SetModelAgentVersion': {'additionalProperties': False, 'properties': {'version': {'$ref': '#/definitions/Number'}}, 'required': ['version'], 'type': 'object'}, 'StatusHistoryFilter': {'additionalProperties': False, 'properties': {'date': {'format': 'date-time', 'type': 'string'}, 'delta': {'type': 'integer'}, 'exclude': {'items': {'type': 'string'}, 'type': 'array'}, 'size': {'type': 'integer'}}, 'required': ['size', 'date', 'delta', 'exclude'], 'type': 'object'}, 'StatusHistoryRequest': {'additionalProperties': False, 'properties': {'filter': {'$ref': '#/definitions/StatusHistoryFilter'}, 'historyKind': {'type': 'string'}, 'size': {'type': 'integer'}, 'tag': {'type': 'string'}}, 'required': ['historyKind', 'size', 'filter', 'tag'], 'type': 'object'}, 'StatusHistoryRequests': {'additionalProperties': False, 'properties': {'requests': {'items': {'$ref': '#/definitions/StatusHistoryRequest'}, 'type': 'array'}}, 'required': ['requests'], 'type': 'object'}, 'StatusHistoryResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'history': {'$ref': '#/definitions/History'}}, 'required': ['history'], 'type': 'object'}, 'StatusHistoryResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/StatusHistoryResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'StatusParams': {'additionalProperties': False, 'properties': {'patterns': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['patterns'], 'type': 'object'}, 'StringResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'type': 'string'}}, 'required': ['result'], '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'}, 'UnitStatus': {'additionalProperties': False, 'properties': {'agent-status': {'$ref': '#/definitions/DetailedStatus'}, 'charm': {'type': 'string'}, 'leader': {'type': 'boolean'}, 'machine': {'type': 'string'}, 'opened-ports': {'items': {'type': 'string'}, 'type': 'array'}, 'public-address': {'type': 'string'}, 'subordinates': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitStatus'}}, 'type': 'object'}, 'workload-status': {'$ref': '#/definitions/DetailedStatus'}, 'workload-version': {'type': 'string'}}, 'required': ['agent-status', 'workload-status', 'workload-version', 'machine', 'opened-ports', 'public-address', 'charm', 'subordinates'], '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': {'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}}, 'type': 'object'}, 'AbortCurrentUpgrade': {'type': 'object'}, 'AddCharm': {'properties': {'Params': {'$ref': '#/definitions/AddCharm'}}, 'type': 'object'}, 'AddCharmWithAuthorization': {'properties': {'Params': {'$ref': '#/definitions/AddCharmWithAuthorization'}}, 'type': 'object'}, 'AddMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'}, 'Result': {'$ref': '#/definitions/AddMachinesResults'}}, 'type': 'object'}, 'AddMachinesV2': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'}, 'Result': {'$ref': '#/definitions/AddMachinesResults'}}, 'type': 'object'}, 'AgentVersion': {'properties': {'Result': {'$ref': '#/definitions/AgentVersionResult'}}, 'type': 'object'}, 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}}, 'type': 'object'}, 'DestroyMachines': {'properties': {'Params': {'$ref': '#/definitions/DestroyMachines'}}, 'type': 'object'}, 'FindTools': {'properties': {'Params': {'$ref': '#/definitions/FindToolsParams'}, 'Result': {'$ref': '#/definitions/FindToolsResult'}}, 'type': 'object'}, 'FullStatus': {'properties': {'Params': {'$ref': '#/definitions/StatusParams'}, 'Result': {'$ref': '#/definitions/FullStatus'}}, 'type': 'object'}, 'GetBundleChanges': {'properties': {'Params': {'$ref': '#/definitions/BundleChangesParams'}, 'Result': {'$ref': '#/definitions/BundleChangesResults'}}, 'type': 'object'}, 'GetModelConstraints': {'properties': {'Result': {'$ref': '#/definitions/GetConstraintsResults'}}, 'type': 'object'}, 'InjectMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'}, 'Result': {'$ref': '#/definitions/AddMachinesResults'}}, 'type': 'object'}, 'ModelGet': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResults'}}, 'type': 'object'}, 'ModelInfo': {'properties': {'Result': {'$ref': '#/definitions/ModelInfo'}}, 'type': 'object'}, 'ModelSet': {'properties': {'Params': {'$ref': '#/definitions/ModelSet'}}, 'type': 'object'}, 'ModelUnset': {'properties': {'Params': {'$ref': '#/definitions/ModelUnset'}}, 'type': 'object'}, 'ModelUserInfo': {'properties': {'Result': {'$ref': '#/definitions/ModelUserInfoResults'}}, 'type': 'object'}, 'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/PrivateAddress'}, 'Result': {'$ref': '#/definitions/PrivateAddressResults'}}, 'type': 'object'}, 'ProvisioningScript': {'properties': {'Params': {'$ref': '#/definitions/ProvisioningScriptParams'}, 'Result': {'$ref': '#/definitions/ProvisioningScriptResult'}}, 'type': 'object'}, 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/PublicAddress'}, 'Result': {'$ref': '#/definitions/PublicAddressResults'}}, 'type': 'object'}, 'ResolveCharms': {'properties': {'Params': {'$ref': '#/definitions/ResolveCharms'}, 'Result': {'$ref': '#/definitions/ResolveCharmResults'}}, 'type': 'object'}, 'Resolved': {'properties': {'Params': {'$ref': '#/definitions/Resolved'}}, 'type': 'object'}, 'RetryProvisioning': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'SLALevel': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}}, 'type': 'object'}, 'SetModelAgentVersion': {'properties': {'Params': {'$ref': '#/definitions/SetModelAgentVersion'}}, 'type': 'object'}, 'SetModelConstraints': {'properties': {'Params': {'$ref': '#/definitions/SetConstraints'}}, 'type': 'object'}, 'SetSLALevel': {'properties': {'Params': {'$ref': '#/definitions/ModelSLA'}}, 'type': 'object'}, 'StatusHistory': {'properties': {'Params': {'$ref': '#/definitions/StatusHistoryRequests'}, 'Result': {'$ref': '#/definitions/StatusHistoryResults'}}, 'type': 'object'}, 'WatchAll': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherId'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(APIHostPortsResult) async def APIHostPorts(self): ''' Returns -> typing.Sequence[~HostPort] ''' # map input types to rpc msg _params = dict() msg = dict(type='Client', request='APIHostPorts', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def AbortCurrentUpgrade(self): ''' Returns -> None ''' # map input types to rpc msg _params = dict() msg = dict(type='Client', request='AbortCurrentUpgrade', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def AddCharm(self, channel=None, url=None): ''' channel : str url : str Returns -> None ''' if channel is not None and not isinstance(channel, (bytes, str)): raise Exception("Expected channel to be a str, received: {}".format(type(channel))) if url is not None and not isinstance(url, (bytes, str)): raise Exception("Expected url to be a str, received: {}".format(type(url))) # map input types to rpc msg _params = dict() msg = dict(type='Client', request='AddCharm', version=1, params=_params) _params['channel'] = channel _params['url'] = url reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def AddCharmWithAuthorization(self, channel=None, macaroon=None, url=None): ''' channel : str macaroon : Macaroon url : str Returns -> None ''' if channel is not None and not isinstance(channel, (bytes, str)): raise Exception("Expected channel to be a str, received: {}".format(type(channel))) if macaroon is not None and not isinstance(macaroon, (dict, Macaroon)): raise Exception("Expected macaroon to be a Macaroon, received: {}".format(type(macaroon))) if url is not None and not isinstance(url, (bytes, str)): raise Exception("Expected url to be a str, received: {}".format(type(url))) # map input types to rpc msg _params = dict() msg = dict(type='Client', request='AddCharmWithAuthorization', version=1, params=_params) _params['channel'] = channel _params['macaroon'] = macaroon _params['url'] = url reply = await self.rpc(msg) return reply
[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='Client', request='AddMachines', version=1, params=_params) _params['params'] = params reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(AddMachinesResults) async def AddMachinesV2(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='Client', request='AddMachinesV2', version=1, params=_params) _params['params'] = params reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(AgentVersionResult) async def AgentVersion(self): ''' Returns -> Number ''' # map input types to rpc msg _params = dict() msg = dict(type='Client', request='AgentVersion', version=1, 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='Client', request='CACert', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def DestroyMachines(self, force=None, machine_names=None): ''' force : bool machine_names : typing.Sequence[str] Returns -> None ''' if force is not None and not isinstance(force, bool): raise Exception("Expected force to be a bool, received: {}".format(type(force))) if machine_names is not None and not isinstance(machine_names, (bytes, str, list)): raise Exception("Expected machine_names to be a Sequence, received: {}".format(type(machine_names))) # map input types to rpc msg _params = dict() msg = dict(type='Client', request='DestroyMachines', version=1, params=_params) _params['force'] = force _params['machine-names'] = machine_names 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 major : int minor : int number : Number series : str Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[~Tools]] ''' if arch is not None and not isinstance(arch, (bytes, str)): raise Exception("Expected arch to be a str, received: {}".format(type(arch))) if major is not None and not isinstance(major, int): raise Exception("Expected major to be a int, received: {}".format(type(major))) if minor is not None and not isinstance(minor, int): raise Exception("Expected minor to be a int, received: {}".format(type(minor))) if number is not None and not isinstance(number, (dict, Number)): raise Exception("Expected number to be a Number, received: {}".format(type(number))) if series is not None and not isinstance(series, (bytes, str)): raise Exception("Expected series to be a str, received: {}".format(type(series))) # map input types to rpc msg _params = dict() msg = dict(type='Client', request='FindTools', version=1, params=_params) _params['arch'] = arch _params['major'] = major _params['minor'] = minor _params['number'] = number _params['series'] = series reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(FullStatus) async def FullStatus(self, patterns=None): ''' patterns : typing.Sequence[str] Returns -> typing.Union[typing.Mapping[str, ~ApplicationStatus], typing.Mapping[str, ~MachineStatus], _ForwardRef('ModelStatusInfo'), typing.Sequence[~RelationStatus], typing.Mapping[str, ~RemoteApplicationStatus]] ''' if patterns is not None and not isinstance(patterns, (bytes, str, list)): raise Exception("Expected patterns to be a Sequence, received: {}".format(type(patterns))) # map input types to rpc msg _params = dict() msg = dict(type='Client', request='FullStatus', version=1, params=_params) _params['patterns'] = patterns reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(BundleChangesResults) async def GetBundleChanges(self, yaml=None): ''' yaml : str Returns -> typing.Union[typing.Sequence[~BundleChange], typing.Sequence[str]] ''' 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='Client', request='GetBundleChanges', version=1, params=_params) _params['yaml'] = yaml reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(GetConstraintsResults) async def GetModelConstraints(self): ''' Returns -> Value ''' # map input types to rpc msg _params = dict() msg = dict(type='Client', request='GetModelConstraints', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(AddMachinesResults) async def InjectMachines(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='Client', request='InjectMachines', version=1, params=_params) _params['params'] = params reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ModelConfigResults) async def ModelGet(self): ''' Returns -> typing.Mapping[str, ~ConfigValue] ''' # map input types to rpc msg _params = dict() msg = dict(type='Client', request='ModelGet', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ModelInfo) async def ModelInfo(self): ''' Returns -> typing.Union[_ForwardRef('Number'), str, typing.Sequence[~ModelMachineInfo], _ForwardRef('ModelMigrationStatus'), _ForwardRef('ModelSLAInfo'), _ForwardRef('EntityStatus'), typing.Sequence[~ModelUserInfo]] ''' # map input types to rpc msg _params = dict() msg = dict(type='Client', request='ModelInfo', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def ModelSet(self, config=None): ''' config : typing.Mapping[str, typing.Any] Returns -> None ''' if config is not None and not isinstance(config, dict): raise Exception("Expected config to be a Mapping, received: {}".format(type(config))) # map input types to rpc msg _params = dict() msg = dict(type='Client', request='ModelSet', version=1, params=_params) _params['config'] = config reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def ModelUnset(self, keys=None): ''' keys : typing.Sequence[str] Returns -> None ''' 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='Client', request='ModelUnset', version=1, params=_params) _params['keys'] = keys reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ModelUserInfoResults) async def ModelUserInfo(self): ''' Returns -> typing.Sequence[~ModelUserInfoResult] ''' # map input types to rpc msg _params = dict() msg = dict(type='Client', request='ModelUserInfo', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(PrivateAddressResults) async def PrivateAddress(self, target=None): ''' target : str Returns -> str ''' if target is not None and not isinstance(target, (bytes, str)): raise Exception("Expected target to be a str, received: {}".format(type(target))) # map input types to rpc msg _params = dict() msg = dict(type='Client', request='PrivateAddress', version=1, params=_params) _params['target'] = target reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ProvisioningScriptResult) async def ProvisioningScript(self, data_dir=None, disable_package_commands=None, machine_id=None, nonce=None): ''' data_dir : str disable_package_commands : bool machine_id : str nonce : str Returns -> str ''' if data_dir is not None and not isinstance(data_dir, (bytes, str)): raise Exception("Expected data_dir to be a str, received: {}".format(type(data_dir))) if disable_package_commands is not None and not isinstance(disable_package_commands, bool): raise Exception("Expected disable_package_commands to be a bool, received: {}".format(type(disable_package_commands))) if machine_id is not None and not isinstance(machine_id, (bytes, str)): raise Exception("Expected machine_id to be a str, received: {}".format(type(machine_id))) if nonce is not None and not isinstance(nonce, (bytes, str)): raise Exception("Expected nonce to be a str, received: {}".format(type(nonce))) # map input types to rpc msg _params = dict() msg = dict(type='Client', request='ProvisioningScript', version=1, params=_params) _params['data-dir'] = data_dir _params['disable-package-commands'] = disable_package_commands _params['machine-id'] = machine_id _params['nonce'] = nonce reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(PublicAddressResults) async def PublicAddress(self, target=None): ''' target : str Returns -> str ''' if target is not None and not isinstance(target, (bytes, str)): raise Exception("Expected target to be a str, received: {}".format(type(target))) # map input types to rpc msg _params = dict() msg = dict(type='Client', request='PublicAddress', version=1, params=_params) _params['target'] = target reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ResolveCharmResults) async def ResolveCharms(self, references=None): ''' references : typing.Sequence[str] Returns -> typing.Sequence[~ResolveCharmResult] ''' if references is not None and not isinstance(references, (bytes, str, list)): raise Exception("Expected references to be a Sequence, received: {}".format(type(references))) # map input types to rpc msg _params = dict() msg = dict(type='Client', request='ResolveCharms', version=1, params=_params) _params['references'] = references reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def Resolved(self, retry=None, unit_name=None): ''' retry : bool unit_name : str Returns -> None ''' if retry is not None and not isinstance(retry, bool): raise Exception("Expected retry to be a bool, received: {}".format(type(retry))) if unit_name is not None and not isinstance(unit_name, (bytes, str)): raise Exception("Expected unit_name to be a str, received: {}".format(type(unit_name))) # map input types to rpc msg _params = dict() msg = dict(type='Client', request='Resolved', version=1, params=_params) _params['retry'] = retry _params['unit-name'] = unit_name reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def RetryProvisioning(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='Client', request='RetryProvisioning', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringResult) async def SLALevel(self): ''' Returns -> typing.Union[_ForwardRef('Error'), str] ''' # map input types to rpc msg _params = dict() msg = dict(type='Client', request='SLALevel', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def SetModelAgentVersion(self, version=None): ''' version : Number Returns -> None ''' if version is not None and not isinstance(version, (dict, Number)): raise Exception("Expected version to be a Number, received: {}".format(type(version))) # map input types to rpc msg _params = dict() msg = dict(type='Client', request='SetModelAgentVersion', version=1, params=_params) _params['version'] = version reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def SetModelConstraints(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='Client', request='SetModelConstraints', version=1, params=_params) _params['application'] = application _params['constraints'] = constraints reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(None) async def SetSLALevel(self, modelslainfo=None, creds=None): ''' modelslainfo : ModelSLAInfo creds : typing.Sequence[int] Returns -> None ''' if modelslainfo is not None and not isinstance(modelslainfo, (dict, ModelSLAInfo)): raise Exception("Expected modelslainfo to be a ModelSLAInfo, received: {}".format(type(modelslainfo))) 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='Client', request='SetSLALevel', version=1, params=_params) _params['ModelSLAInfo'] = modelslainfo _params['creds'] = creds reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StatusHistoryResults) async def StatusHistory(self, requests=None): ''' requests : typing.Sequence[~StatusHistoryRequest] Returns -> typing.Sequence[~StatusHistoryResult] ''' if requests is not None and not isinstance(requests, (bytes, str, list)): raise Exception("Expected requests to be a Sequence, received: {}".format(type(requests))) # map input types to rpc msg _params = dict() msg = dict(type='Client', request='StatusHistory', version=1, params=_params) _params['requests'] = requests reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(AllWatcherId) async def WatchAll(self): ''' Returns -> str ''' # map input types to rpc msg _params = dict() msg = dict(type='Client', request='WatchAll', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs]class CloudFacade(Type): name = 'Cloud' version = 1 schema = {'definitions': {'Cloud': {'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'}, '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'}, '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'}, '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'}, 'CloudsResult': {'additionalProperties': False, 'properties': {'clouds': {'patternProperties': {'.*': {'$ref': '#/definitions/Cloud'}}, 'type': 'object'}}, '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'}, 'Macaroon': {'additionalProperties': False, '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'}, 'UpdateCloudCredential': {'additionalProperties': False, 'properties': {'credential': {'$ref': '#/definitions/CloudCredential'}, 'tag': {'type': 'string'}}, 'required': ['tag', 'credential'], 'type': 'object'}, 'UpdateCloudCredentials': {'additionalProperties': False, 'properties': {'credentials': {'items': {'$ref': '#/definitions/UpdateCloudCredential'}, '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'}}, 'type': 'object'}}, 'properties': {'Cloud': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/CloudResults'}}, 'type': 'object'}, 'Clouds': {'properties': {'Result': {'$ref': '#/definitions/CloudsResult'}}, 'type': 'object'}, 'Credential': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/CloudCredentialResults'}}, 'type': 'object'}, 'DefaultCloud': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}}, 'type': 'object'}, 'InstanceTypes': {'properties': {'Params': {'$ref': '#/definitions/CloudInstanceTypesConstraints'}, 'Result': {'$ref': '#/definitions/InstanceTypesResults'}}, 'type': 'object'}, 'RevokeCredentials': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'UpdateCredentials': {'properties': {'Params': {'$ref': '#/definitions/UpdateCloudCredentials'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'UserCredentials': {'properties': {'Params': {'$ref': '#/definitions/UserClouds'}, 'Result': {'$ref': '#/definitions/StringsResults'}}, 'type': 'object'}}, 'type': 'object'}
[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=1, 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=1, 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=1, params=_params) _params['entities'] = entities 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=1, 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=1, params=_params) _params['constraints'] = constraints reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def RevokeCredentials(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='RevokeCredentials', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def UpdateCredentials(self, credentials=None): ''' credentials : typing.Sequence[~UpdateCloudCredential] 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='UpdateCredentials', version=1, params=_params) _params['credentials'] = credentials 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=1, params=_params) _params['user-clouds'] = user_clouds reply = await self.rpc(msg) return reply
[docs]class CredentialManagerFacade(Type): name = 'CredentialManager' version = 1 schema = {'definitions': {'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'}, 'InvalidateCredentialArg': {'additionalProperties': False, 'properties': {'reason': {'type': 'string'}}, 'type': 'object'}}, 'properties': {'InvalidateModelCredential': {'properties': {'Params': {'$ref': '#/definitions/InvalidateCredentialArg'}, 'Result': {'$ref': '#/definitions/ErrorResult'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(ErrorResult) async def InvalidateModelCredential(self, reason=None): ''' reason : str Returns -> Error ''' if reason is not None and not isinstance(reason, (bytes, str)): raise Exception("Expected reason to be a str, received: {}".format(type(reason))) # map input types to rpc msg _params = dict() msg = dict(type='CredentialManager', request='InvalidateModelCredential', version=1, params=_params) _params['reason'] = reason reply = await self.rpc(msg) return reply
[docs]class CrossControllerFacade(Type): name = 'CrossController' version = 1 schema = {'definitions': {'ControllerAPIInfoResult': {'additionalProperties': False, 'properties': {'addresses': {'items': {'type': 'string'}, 'type': 'array'}, 'cacert': {'type': 'string'}, 'error': {'$ref': '#/definitions/Error'}}, 'required': ['addresses', 'cacert'], 'type': 'object'}, 'ControllerAPIInfoResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/ControllerAPIInfoResult'}, 'type': 'array'}}, 'required': ['results'], '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'}, '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'}}, 'properties': {'ControllerInfo': {'properties': {'Result': {'$ref': '#/definitions/ControllerAPIInfoResults'}}, 'type': 'object'}, 'WatchControllerInfo': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(ControllerAPIInfoResults) async def ControllerInfo(self): ''' Returns -> typing.Sequence[~ControllerAPIInfoResult] ''' # map input types to rpc msg _params = dict() msg = dict(type='CrossController', request='ControllerInfo', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(NotifyWatchResults) async def WatchControllerInfo(self): ''' Returns -> typing.Sequence[~NotifyWatchResult] ''' # map input types to rpc msg _params = dict() msg = dict(type='CrossController', request='WatchControllerInfo', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs]class CrossModelRelationsFacade(Type): name = 'CrossModelRelations' version = 1 schema = {'definitions': {'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': {'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'}, 'IngressNetworksChangeEvent': {'additionalProperties': False, 'properties': {'application-token': {'type': 'string'}, 'ingress-required': {'type': 'boolean'}, 'macaroons': {'items': {'$ref': '#/definitions/Macaroon'}, 'type': 'array'}, 'networks': {'items': {'type': 'string'}, 'type': 'array'}, 'relation-token': {'type': 'string'}}, 'required': ['relation-token', 'application-token', 'ingress-required'], 'type': 'object'}, 'IngressNetworksChanges': {'additionalProperties': False, 'properties': {'changes': {'items': {'$ref': '#/definitions/IngressNetworksChangeEvent'}, 'type': 'array'}}, 'type': 'object'}, 'Macaroon': {'additionalProperties': False, 'type': 'object'}, 'OfferArg': {'additionalProperties': False, 'properties': {'macaroons': {'items': {'$ref': '#/definitions/Macaroon'}, 'type': 'array'}, 'offer-uuid': {'type': 'string'}}, 'required': ['offer-uuid'], 'type': 'object'}, 'OfferArgs': {'additionalProperties': False, 'properties': {'args': {'items': {'$ref': '#/definitions/OfferArg'}, 'type': 'array'}}, 'required': ['args'], 'type': 'object'}, 'OfferStatusChange': {'additionalProperties': False, 'properties': {'offer-name': {'type': 'string'}, 'status': {'$ref': '#/definitions/EntityStatus'}}, 'required': ['offer-name', 'status'], 'type': 'object'}, 'OfferStatusWatchResult': {'additionalProperties': False, 'properties': {'changes': {'items': {'$ref': '#/definitions/OfferStatusChange'}, 'type': 'array'}, 'error': {'$ref': '#/definitions/Error'}, 'watcher-id': {'type': 'string'}}, 'required': ['watcher-id', 'changes'], 'type': 'object'}, 'OfferStatusWatchResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/OfferStatusWatchResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'RegisterRemoteRelationArg': {'additionalProperties': False, 'properties': {'application-token': {'type': 'string'}, 'local-endpoint-name': {'type': 'string'}, 'macaroons': {'items': {'$ref': '#/definitions/Macaroon'}, 'type': 'array'}, 'offer-uuid': {'type': 'string'}, 'relation-token': {'type': 'string'}, 'remote-endpoint': {'$ref': '#/definitions/RemoteEndpoint'}, 'remote-space': {'$ref': '#/definitions/RemoteSpace'}, 'source-model-tag': {'type': 'string'}}, 'required': ['application-token', 'source-model-tag', 'relation-token', 'remote-endpoint', 'remote-space', 'offer-uuid', 'local-endpoint-name'], 'type': 'object'}, 'RegisterRemoteRelationArgs': {'additionalProperties': False, 'properties': {'relations': {'items': {'$ref': '#/definitions/RegisterRemoteRelationArg'}, 'type': 'array'}}, 'required': ['relations'], 'type': 'object'}, 'RegisterRemoteRelationResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'$ref': '#/definitions/RemoteRelationDetails'}}, 'type': 'object'}, 'RegisterRemoteRelationResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/RegisterRemoteRelationResult'}, 'type': 'array'}}, 'type': 'object'}, 'RelationLifeSuspendedStatusChange': {'additionalProperties': False, 'properties': {'key': {'type': 'string'}, 'life': {'type': 'string'}, 'suspended': {'type': 'boolean'}, 'suspended-reason': {'type': 'string'}}, 'required': ['key', 'life', 'suspended', 'suspended-reason'], 'type': 'object'}, 'RelationLifeSuspendedStatusWatchResult': {'additionalProperties': False, 'properties': {'changes': {'items': {'$ref': '#/definitions/RelationLifeSuspendedStatusChange'}, 'type': 'array'}, 'error': {'$ref': '#/definitions/Error'}, 'watcher-id': {'type': 'string'}}, 'required': ['watcher-id', 'changes'], 'type': 'object'}, 'RelationStatusWatchResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/RelationLifeSuspendedStatusWatchResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'RelationUnitsChange': {'additionalProperties': False, 'properties': {'changed': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitSettings'}}, 'type': 'object'}, 'departed': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['changed'], 'type': 'object'}, 'RelationUnitsWatchResult': {'additionalProperties': False, 'properties': {'changes': {'$ref': '#/definitions/RelationUnitsChange'}, 'error': {'$ref': '#/definitions/Error'}, 'watcher-id': {'type': 'string'}}, 'required': ['watcher-id', 'changes'], 'type': 'object'}, 'RelationUnitsWatchResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/RelationUnitsWatchResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'RemoteEndpoint': {'additionalProperties': False, 'properties': {'interface': {'type': 'string'}, 'limit': {'type': 'integer'}, 'name': {'type': 'string'}, 'role': {'type': 'string'}}, 'required': ['name', 'role', 'interface', 'limit'], 'type': 'object'}, 'RemoteEntityArg': {'additionalProperties': False, 'properties': {'macaroons': {'items': {'$ref': '#/definitions/Macaroon'}, 'type': 'array'}, 'relation-token': {'type': 'string'}}, 'required': ['relation-token'], 'type': 'object'}, 'RemoteEntityArgs': {'additionalProperties': False, 'properties': {'args': {'items': {'$ref': '#/definitions/RemoteEntityArg'}, 'type': 'array'}}, 'required': ['args'], 'type': 'object'}, 'RemoteRelationChangeEvent': {'additionalProperties': False, 'properties': {'application-token': {'type': 'string'}, 'changed-units': {'items': {'$ref': '#/definitions/RemoteRelationUnitChange'}, 'type': 'array'}, 'departed-units': {'items': {'type': 'integer'}, 'type': 'array'}, 'force-cleanup': {'type': 'boolean'}, 'life': {'type': 'string'}, 'macaroons': {'items': {'$ref': '#/definitions/Macaroon'}, 'type': 'array'}, 'relation-token': {'type': 'string'}, 'suspended': {'type': 'boolean'}, 'suspended-reason': {'type': 'string'}}, 'required': ['relation-token', 'application-token', 'life'], 'type': 'object'}, 'RemoteRelationDetails': {'additionalProperties': False, 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'}, 'relation-token': {'type': 'string'}}, 'required': ['relation-token'], 'type': 'object'}, 'RemoteRelationUnit': {'additionalProperties': False, 'properties': {'macaroons': {'items': {'$ref': '#/definitions/Macaroon'}, 'type': 'array'}, 'relation-token': {'type': 'string'}, 'unit': {'type': 'string'}}, 'required': ['relation-token', 'unit'], 'type': 'object'}, 'RemoteRelationUnitChange': {'additionalProperties': False, 'properties': {'settings': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'unit-id': {'type': 'integer'}}, 'required': ['unit-id'], 'type': 'object'}, 'RemoteRelationUnits': {'additionalProperties': False, 'properties': {'relation-units': {'items': {'$ref': '#/definitions/RemoteRelationUnit'}, 'type': 'array'}}, 'required': ['relation-units'], 'type': 'object'}, 'RemoteRelationsChanges': {'additionalProperties': False, 'properties': {'changes': {'items': {'$ref': '#/definitions/RemoteRelationChangeEvent'}, 'type': 'array'}}, 'type': 'object'}, 'RemoteSpace': {'additionalProperties': False, 'properties': {'cloud-type': {'type': 'string'}, 'name': {'type': 'string'}, 'provider-attributes': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type': 'object'}, 'provider-id': {'type': 'string'}, 'subnets': {'items': {'$ref': '#/definitions/Subnet'}, 'type': 'array'}}, 'required': ['cloud-type', 'name', 'provider-id', 'provider-attributes', 'subnets'], 'type': 'object'}, 'SettingsResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'settings': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}}, 'required': ['settings'], 'type': 'object'}, 'SettingsResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/SettingsResult'}, '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'}, 'Subnet': {'additionalProperties': False, 'properties': {'cidr': {'type': 'string'}, 'life': {'type': 'string'}, 'provider-id': {'type': 'string'}, 'provider-network-id': {'type': 'string'}, 'provider-space-id': {'type': 'string'}, 'space-tag': {'type': 'string'}, 'status': {'type': 'string'}, 'vlan-tag': {'type': 'integer'}, 'zones': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['cidr', 'vlan-tag', 'life', 'space-tag', 'zones'], 'type': 'object'}, 'UnitSettings': {'additionalProperties': False, 'properties': {'version': {'type': 'integer'}}, 'required': ['version'], 'type': 'object'}}, 'properties': {'PublishIngressNetworkChanges': {'properties': {'Params': {'$ref': '#/definitions/IngressNetworksChanges'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'PublishRelationChanges': {'properties': {'Params': {'$ref': '#/definitions/RemoteRelationsChanges'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'RegisterRemoteRelations': {'properties': {'Params': {'$ref': '#/definitions/RegisterRemoteRelationArgs'}, 'Result': {'$ref': '#/definitions/RegisterRemoteRelationResults'}}, 'type': 'object'}, 'RelationUnitSettings': {'properties': {'Params': {'$ref': '#/definitions/RemoteRelationUnits'}, 'Result': {'$ref': '#/definitions/SettingsResults'}}, 'type': 'object'}, 'WatchEgressAddressesForRelations': {'properties': {'Params': {'$ref': '#/definitions/RemoteEntityArgs'}, 'Result': {'$ref': '#/definitions/StringsWatchResults'}}, 'type': 'object'}, 'WatchOfferStatus': {'properties': {'Params': {'$ref': '#/definitions/OfferArgs'}, 'Result': {'$ref': '#/definitions/OfferStatusWatchResults'}}, 'type': 'object'}, 'WatchRelationUnits': {'properties': {'Params': {'$ref': '#/definitions/RemoteEntityArgs'}, 'Result': {'$ref': '#/definitions/RelationUnitsWatchResults'}}, 'type': 'object'}, 'WatchRelationsSuspendedStatus': {'properties': {'Params': {'$ref': '#/definitions/RemoteEntityArgs'}, 'Result': {'$ref': '#/definitions/RelationStatusWatchResults'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(ErrorResults) async def PublishIngressNetworkChanges(self, changes=None): ''' changes : typing.Sequence[~IngressNetworksChangeEvent] 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='CrossModelRelations', request='PublishIngressNetworkChanges', version=1, params=_params) _params['changes'] = changes reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def PublishRelationChanges(self, changes=None): ''' changes : typing.Sequence[~RemoteRelationChangeEvent] 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='CrossModelRelations', request='PublishRelationChanges', version=1, params=_params) _params['changes'] = changes reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(RegisterRemoteRelationResults) async def RegisterRemoteRelations(self, relations=None): ''' relations : typing.Sequence[~RegisterRemoteRelationArg] Returns -> typing.Sequence[~RegisterRemoteRelationResult] ''' if relations is not None and not isinstance(relations, (bytes, str, list)): raise Exception("Expected relations to be a Sequence, received: {}".format(type(relations))) # map input types to rpc msg _params = dict() msg = dict(type='CrossModelRelations', request='RegisterRemoteRelations', version=1, params=_params) _params['relations'] = relations reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(SettingsResults) async def RelationUnitSettings(self, relation_units=None): ''' relation_units : typing.Sequence[~RemoteRelationUnit] Returns -> typing.Sequence[~SettingsResult] ''' if relation_units is not None and not isinstance(relation_units, (bytes, str, list)): raise Exception("Expected relation_units to be a Sequence, received: {}".format(type(relation_units))) # map input types to rpc msg _params = dict() msg = dict(type='CrossModelRelations', request='RelationUnitSettings', version=1, params=_params) _params['relation-units'] = relation_units reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringsWatchResults) async def WatchEgressAddressesForRelations(self, args=None): ''' args : typing.Sequence[~RemoteEntityArg] Returns -> typing.Sequence[~StringsWatchResult] ''' if args is not None and not isinstance(args, (bytes, str, list)): raise Exception("Expected args to be a Sequence, received: {}".format(type(args))) # map input types to rpc msg _params = dict() msg = dict(type='CrossModelRelations', request='WatchEgressAddressesForRelations', version=1, params=_params) _params['args'] = args reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(OfferStatusWatchResults) async def WatchOfferStatus(self, args=None): ''' args : typing.Sequence[~OfferArg] Returns -> typing.Sequence[~OfferStatusWatchResult] ''' if args is not None and not isinstance(args, (bytes, str, list)): raise Exception("Expected args to be a Sequence, received: {}".format(type(args))) # map input types to rpc msg _params = dict() msg = dict(type='CrossModelRelations', request='WatchOfferStatus', version=1, params=_params) _params['args'] = args reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(RelationUnitsWatchResults) async def WatchRelationUnits(self, args=None): ''' args : typing.Sequence[~RemoteEntityArg] Returns -> typing.Sequence[~RelationUnitsWatchResult] ''' if args is not None and not isinstance(args, (bytes, str, list)): raise Exception("Expected args to be a Sequence, received: {}".format(type(args))) # map input types to rpc msg _params = dict() msg = dict(type='CrossModelRelations', request='WatchRelationUnits', version=1, params=_params) _params['args'] = args reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(RelationStatusWatchResults) async def WatchRelationsSuspendedStatus(self, args=None): ''' args : typing.Sequence[~RemoteEntityArg] Returns -> typing.Sequence[~RelationLifeSuspendedStatusWatchResult] ''' if args is not None and not isinstance(args, (bytes, str, list)): raise Exception("Expected args to be a Sequence, received: {}".format(type(args))) # map input types to rpc msg _params = dict() msg = dict(type='CrossModelRelations', request='WatchRelationsSuspendedStatus', version=1, params=_params) _params['args'] = args reply = await self.rpc(msg) return reply
[docs]class DeployerFacade(Type): name = 'Deployer' version = 1 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-id': {'type': 'string'}, 'space-name': {'type': 'string'}, 'type': {'type': 'string'}, 'value': {'type': 'string'}}, 'required': ['value', 'type', 'scope'], 'type': 'object'}, 'DeployerConnectionValues': {'additionalProperties': False, 'properties': {'api-addresses': {'items': {'type': 'string'}, 'type': 'array'}}, 'required': ['api-addresses'], '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': {'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'}, 'HostPort': {'additionalProperties': False, 'properties': {'Address': {'$ref': '#/definitions/Address'}, 'port': {'type': 'integer'}, 'scope': {'type': 'string'}, 'space-id': {'type': 'string'}, 'space-name': {'type': 'string'}, 'type': {'type': 'string'}, 'value': {'type': 'string'}}, 'required': ['value', 'type', 'scope', 'Address', 'port'], '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'}, 'NotifyWatchResult': {'additionalProperties': False, 'properties': {'NotifyWatcherId': {'type': 'string'}, 'error': {'$ref': '#/definitions/Error'}}, 'required': ['NotifyWatcherId'], 'type': 'object'}, 'SetStatus': {'additionalProperties': False, 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'}, 'type': 'array'}}, 'required': ['entities'], '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'}, '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': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}}, 'type': 'object'}, 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}}, 'type': 'object'}, 'ConnectionInfo': {'properties': {'Result': {'$ref': '#/definitions/DeployerConnectionValues'}}, 'type': 'object'}, 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/LifeResults'}}, 'type': 'object'}, 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}}, 'type': 'object'}, 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, 'type': 'object'}, 'WatchUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/StringsWatchResults'}}, '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='Deployer', request='APIAddresses', version=1, 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='Deployer', request='APIHostPorts', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(DeployerConnectionValues) async def ConnectionInfo(self): ''' Returns -> typing.Sequence[str] ''' # map input types to rpc msg _params = dict() msg = dict(type='Deployer', request='ConnectionInfo', version=1, params=_params) 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='Deployer', request='Life', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringResult) async def ModelUUID(self): ''' Returns -> typing.Union[_ForwardRef('Error'), str] ''' # map input types to rpc msg _params = dict() msg = dict(type='Deployer', request='ModelUUID', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def Remove(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='Deployer', request='Remove', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def SetPasswords(self, changes=None): ''' changes : typing.Sequence[~EntityPassword] 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='Deployer', request='SetPasswords', version=1, params=_params) _params['changes'] = changes reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def SetStatus(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='Deployer', request='SetStatus', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def UpdateStatus(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='Deployer', request='UpdateStatus', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(NotifyWatchResult) async def WatchAPIHostPorts(self): ''' Returns -> typing.Union[str, _ForwardRef('Error')] ''' # map input types to rpc msg _params = dict() msg = dict(type='Deployer', request='WatchAPIHostPorts', version=1, params=_params) 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='Deployer', request='WatchUnits', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs]class ExternalControllerUpdaterFacade(Type): name = 'ExternalControllerUpdater' version = 1 schema = {'definitions': {'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'}, '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'}, 'ExternalControllerInfo': {'additionalProperties': False, 'properties': {'addrs': {'items': {'type': 'string'}, 'type': 'array'}, 'ca-cert': {'type': 'string'}, 'controller-alias': {'type': 'string'}, 'controller-tag': {'type': 'string'}}, 'required': ['controller-tag', 'controller-alias', 'addrs', 'ca-cert'], 'type': 'object'}, 'ExternalControllerInfoResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}, 'result': {'$ref': '#/definitions/ExternalControllerInfo'}}, 'required': ['result', 'error'], 'type': 'object'}, 'ExternalControllerInfoResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/ExternalControllerInfoResult'}, 'type': 'array'}}, 'required': ['results'], 'type': 'object'}, 'SetExternalControllerInfoParams': {'additionalProperties': False, 'properties': {'info': {'$ref': '#/definitions/ExternalControllerInfo'}}, 'required': ['info'], 'type': 'object'}, 'SetExternalControllersInfoParams': {'additionalProperties': False, 'properties': {'controllers': {'items': {'$ref': '#/definitions/SetExternalControllerInfoParams'}, 'type': 'array'}}, 'required': ['controllers'], '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': {'ExternalControllerInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, 'Result': {'$ref': '#/definitions/ExternalControllerInfoResults'}}, 'type': 'object'}, 'SetExternalControllerInfo': {'properties': {'Params': {'$ref': '#/definitions/SetExternalControllersInfoParams'}, 'Result': {'$ref': '#/definitions/ErrorResults'}}, 'type': 'object'}, 'WatchExternalControllers': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResults'}}, 'type': 'object'}}, 'type': 'object'}
[docs] @ReturnMapping(ExternalControllerInfoResults) async def ExternalControllerInfo(self, entities=None): ''' entities : typing.Sequence[~Entity] Returns -> typing.Sequence[~ExternalControllerInfoResult] ''' 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='ExternalControllerUpdater', request='ExternalControllerInfo', version=1, params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(ErrorResults) async def SetExternalControllerInfo(self, controllers=None): ''' controllers : typing.Sequence[~SetExternalControllerInfoParams] Returns -> typing.Sequence[~ErrorResult] ''' if controllers is not None and not isinstance(controllers, (bytes, str, list)): raise Exception("Expected controllers to be a Sequence, received: {}".format(type(controllers))) # map input types to rpc msg _params = dict() msg = dict(type='ExternalControllerUpdater', request='SetExternalControllerInfo', version=1, params=_params) _params['controllers'] = controllers reply = await self.rpc(msg) return reply
[docs] @ReturnMapping(StringsWatchResults) async def WatchExternalControllers(self): ''' Returns -> typing.Sequence[~StringsWatchResult] ''' # map input types to rpc msg _params = dict() msg = dict(type='ExternalControllerUpdater', request='WatchExternalControllers', version=1, params=_params) reply = await self.rpc(msg) return reply
[docs]class FanConfigurerFacade(Type): name = 'FanConfigurer' version = 1 schema = {'definitions': {'Error': {'additionalProperties': False, 'properties': {'code': {'type': 'string'}, 'info': {'patternProperties': {'.*': {'additionalProperties': True, 'type': 'object'}}, 'type':