X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=juju%2Fclient%2F_client2.py;h=4b5b518548fdf9038c8666b8408402ab2eeb6efc;hp=283e8036655c996f0b4013616ecdbb3c17d6fddd;hb=b8a8281b1785358bd5632a119c016f21811172c6;hpb=dcdf82bbc1ef310379f746518b2dd3b006353cb3 diff --git a/juju/client/_client2.py b/juju/client/_client2.py index 283e803..4b5b518 100644 --- a/juju/client/_client2.py +++ b/juju/client/_client2.py @@ -165,12 +165,15 @@ class ActionFacade(Type): @ReturnMapping(ActionResults) async def Actions(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ActionResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Action', request='Actions', version=2, params=_params) + msg = dict(type='Action', + request='Actions', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -180,12 +183,15 @@ class ActionFacade(Type): @ReturnMapping(ApplicationsCharmActionsResults) async def ApplicationsCharmsActions(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~ApplicationCharmActionsResult]<~ApplicationCharmActionsResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ApplicationCharmActionsResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Action', request='ApplicationsCharmsActions', version=2, params=_params) + msg = dict(type='Action', + request='ApplicationsCharmsActions', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -195,12 +201,15 @@ class ActionFacade(Type): @ReturnMapping(ActionResults) async def Cancel(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ActionResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Action', request='Cancel', version=2, params=_params) + msg = dict(type='Action', + request='Cancel', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -210,12 +219,15 @@ class ActionFacade(Type): @ReturnMapping(ActionResults) async def Enqueue(self, actions): ''' - actions : typing.Sequence<+T_co>[~Action]<~Action> - Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult> + actions : typing.Sequence[~Action] + Returns -> typing.Sequence[~ActionResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Action', request='Enqueue', version=2, params=_params) + msg = dict(type='Action', + request='Enqueue', + version=2, + params=_params) _params['actions'] = actions reply = await self.rpc(msg) return reply @@ -225,12 +237,15 @@ class ActionFacade(Type): @ReturnMapping(FindTagsResults) async def FindActionTagsByPrefix(self, prefixes): ''' - prefixes : typing.Sequence<+T_co>[str] - Returns -> typing.Sequence<+T_co>[~Entity]<~Entity> + prefixes : typing.Sequence[str] + Returns -> typing.Sequence[~Entity] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Action', request='FindActionTagsByPrefix', version=2, params=_params) + msg = dict(type='Action', + request='FindActionTagsByPrefix', + version=2, + params=_params) _params['prefixes'] = prefixes reply = await self.rpc(msg) return reply @@ -240,12 +255,15 @@ class ActionFacade(Type): @ReturnMapping(ActionsByNames) async def FindActionsByNames(self, names): ''' - names : typing.Sequence<+T_co>[str] - Returns -> typing.Sequence<+T_co>[~ActionsByName]<~ActionsByName> + names : typing.Sequence[str] + Returns -> typing.Sequence[~ActionsByName] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Action', request='FindActionsByNames', version=2, params=_params) + msg = dict(type='Action', + request='FindActionsByNames', + version=2, + params=_params) _params['names'] = names reply = await self.rpc(msg) return reply @@ -255,12 +273,15 @@ class ActionFacade(Type): @ReturnMapping(ActionsByReceivers) async def ListAll(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~ActionsByReceiver]<~ActionsByReceiver> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ActionsByReceiver] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Action', request='ListAll', version=2, params=_params) + msg = dict(type='Action', + request='ListAll', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -270,12 +291,15 @@ class ActionFacade(Type): @ReturnMapping(ActionsByReceivers) async def ListCompleted(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~ActionsByReceiver]<~ActionsByReceiver> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ActionsByReceiver] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Action', request='ListCompleted', version=2, params=_params) + msg = dict(type='Action', + request='ListCompleted', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -285,12 +309,15 @@ class ActionFacade(Type): @ReturnMapping(ActionsByReceivers) async def ListPending(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~ActionsByReceiver]<~ActionsByReceiver> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ActionsByReceiver] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Action', request='ListPending', version=2, params=_params) + msg = dict(type='Action', + request='ListPending', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -300,12 +327,15 @@ class ActionFacade(Type): @ReturnMapping(ActionsByReceivers) async def ListRunning(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~ActionsByReceiver]<~ActionsByReceiver> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ActionsByReceiver] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Action', request='ListRunning', version=2, params=_params) + msg = dict(type='Action', + request='ListRunning', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -315,16 +345,19 @@ class ActionFacade(Type): @ReturnMapping(ActionResults) async def Run(self, applications, commands, machines, timeout, units): ''' - applications : typing.Sequence<+T_co>[str] + applications : typing.Sequence[str] commands : str - machines : typing.Sequence<+T_co>[str] + machines : typing.Sequence[str] timeout : int - units : typing.Sequence<+T_co>[str] - Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult> + units : typing.Sequence[str] + Returns -> typing.Sequence[~ActionResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Action', request='Run', version=2, params=_params) + msg = dict(type='Action', + request='Run', + version=2, + params=_params) _params['applications'] = applications _params['commands'] = commands _params['machines'] = machines @@ -338,16 +371,19 @@ class ActionFacade(Type): @ReturnMapping(ActionResults) async def RunOnAllMachines(self, applications, commands, machines, timeout, units): ''' - applications : typing.Sequence<+T_co>[str] + applications : typing.Sequence[str] commands : str - machines : typing.Sequence<+T_co>[str] + machines : typing.Sequence[str] timeout : int - units : typing.Sequence<+T_co>[str] - Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult> + units : typing.Sequence[str] + Returns -> typing.Sequence[~ActionResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Action', request='RunOnAllMachines', version=2, params=_params) + msg = dict(type='Action', + request='RunOnAllMachines', + version=2, + params=_params) _params['applications'] = applications _params['commands'] = commands _params['machines'] = machines @@ -385,7 +421,9 @@ class AgentFacade(Type): 'required': ['auth-type'], 'type': 'object'}, 'CloudSpec': {'additionalProperties': False, - 'properties': {'credential': {'$ref': '#/definitions/CloudCredential'}, + 'properties': {'cacertificates': {'items': {'type': 'string'}, + 'type': 'array'}, + 'credential': {'$ref': '#/definitions/CloudCredential'}, 'endpoint': {'type': 'string'}, 'identity-endpoint': {'type': 'string'}, 'name': {'type': 'string'}, @@ -402,6 +440,19 @@ class AgentFacade(Type): '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'}}, @@ -471,6 +522,7 @@ class AgentFacade(Type): 'properties': {'api-port': {'type': 'integer'}, 'ca-private-key': {'type': 'string'}, 'cert': {'type': 'string'}, + 'controller-api-port': {'type': 'integer'}, 'private-key': {'type': 'string'}, 'shared-secret': {'type': 'string'}, 'state-port': {'type': 'integer'}, @@ -489,6 +541,9 @@ class AgentFacade(Type): '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'}, @@ -517,12 +572,15 @@ class AgentFacade(Type): @ReturnMapping(ErrorResults) async def ClearReboot(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Agent', request='ClearReboot', version=2, params=_params) + msg = dict(type='Agent', + request='ClearReboot', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -532,12 +590,33 @@ class AgentFacade(Type): @ReturnMapping(CloudSpecResults) async def CloudSpec(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~CloudSpecResult]<~CloudSpecResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~CloudSpecResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Agent', + request='CloudSpec', + version=2, + params=_params) + _params['entities'] = entities + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(ControllerAPIInfoResults) + async def ControllerAPIInfoForModels(self, entities): + ''' + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ControllerAPIInfoResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Agent', request='CloudSpec', version=2, params=_params) + msg = dict(type='Agent', + request='ControllerAPIInfoForModels', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -548,11 +627,14 @@ class AgentFacade(Type): async def ControllerConfig(self): ''' - Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any] + Returns -> typing.Mapping[str, typing.Any] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Agent', request='ControllerConfig', version=2, params=_params) + msg = dict(type='Agent', + request='ControllerConfig', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -567,7 +649,10 @@ class AgentFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='Agent', request='GetCloudSpec', version=2, params=_params) + msg = dict(type='Agent', + request='GetCloudSpec', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -577,12 +662,15 @@ class AgentFacade(Type): @ReturnMapping(AgentGetEntitiesResults) async def GetEntities(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~AgentGetEntitiesResult]<~AgentGetEntitiesResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~AgentGetEntitiesResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Agent', request='GetEntities', version=2, params=_params) + msg = dict(type='Agent', + request='GetEntities', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -597,7 +685,10 @@ class AgentFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='Agent', request='IsMaster', version=2, params=_params) + msg = dict(type='Agent', + request='IsMaster', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -608,11 +699,14 @@ class AgentFacade(Type): async def ModelConfig(self): ''' - Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any] + Returns -> typing.Mapping[str, typing.Any] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Agent', request='ModelConfig', version=2, params=_params) + msg = dict(type='Agent', + request='ModelConfig', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -622,12 +716,15 @@ class AgentFacade(Type): @ReturnMapping(ErrorResults) async def SetPasswords(self, changes): ''' - changes : typing.Sequence<+T_co>[~EntityPassword]<~EntityPassword> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + changes : typing.Sequence[~EntityPassword] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Agent', request='SetPasswords', version=2, params=_params) + msg = dict(type='Agent', + request='SetPasswords', + version=2, + params=_params) _params['changes'] = changes reply = await self.rpc(msg) return reply @@ -642,7 +739,10 @@ class AgentFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='Agent', request='StateServingInfo', version=2, params=_params) + msg = dict(type='Agent', + request='StateServingInfo', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -652,12 +752,15 @@ class AgentFacade(Type): @ReturnMapping(NotifyWatchResults) async def WatchCredentials(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~NotifyWatchResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Agent', request='WatchCredentials', version=2, params=_params) + msg = dict(type='Agent', + request='WatchCredentials', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -672,7 +775,10 @@ class AgentFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='Agent', request='WatchForModelConfigChanges', version=2, params=_params) + msg = dict(type='Agent', + request='WatchForModelConfigChanges', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -703,11 +809,14 @@ class AllModelWatcherFacade(Type): async def Next(self): ''' - Returns -> typing.Sequence<+T_co>[~Delta]<~Delta> + Returns -> typing.Sequence[~Delta] ''' # map input types to rpc msg _params = dict() - msg = dict(type='AllModelWatcher', request='Next', version=2, params=_params) + msg = dict(type='AllModelWatcher', + request='Next', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -722,7 +831,10 @@ class AllModelWatcherFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='AllModelWatcher', request='Stop', version=2, params=_params) + msg = dict(type='AllModelWatcher', + request='Stop', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -795,12 +907,15 @@ class AnnotationsFacade(Type): @ReturnMapping(AnnotationsGetResults) async def Get(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~AnnotationsGetResult]<~AnnotationsGetResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~AnnotationsGetResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Annotations', request='Get', version=2, params=_params) + msg = dict(type='Annotations', + request='Get', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -810,12 +925,15 @@ class AnnotationsFacade(Type): @ReturnMapping(ErrorResults) async def Set(self, annotations): ''' - annotations : typing.Sequence<+T_co>[~EntityAnnotations]<~EntityAnnotations> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + annotations : typing.Sequence[~EntityAnnotations] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Annotations', request='Set', version=2, params=_params) + msg = dict(type='Annotations', + request='Set', + version=2, + params=_params) _params['annotations'] = annotations reply = await self.rpc(msg) return reply @@ -1119,12 +1237,15 @@ class ApplicationFacade(Type): @ReturnMapping(AddRelationResults) async def AddRelation(self, endpoints): ''' - endpoints : typing.Sequence<+T_co>[str] - Returns -> typing.Mapping<~KT, +VT_co>[str, ~CharmRelation]<~CharmRelation> + endpoints : typing.Sequence[str] + Returns -> typing.Mapping[str, ~CharmRelation] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Application', request='AddRelation', version=2, params=_params) + msg = dict(type='Application', + request='AddRelation', + version=2, + params=_params) _params['endpoints'] = endpoints reply = await self.rpc(msg) return reply @@ -1136,12 +1257,15 @@ class ApplicationFacade(Type): ''' application : str num_units : int - placement : typing.Sequence<+T_co>[~Placement]<~Placement> - Returns -> typing.Sequence<+T_co>[str] + placement : typing.Sequence[~Placement] + Returns -> typing.Sequence[str] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Application', request='AddUnits', version=2, params=_params) + msg = dict(type='Application', + request='AddUnits', + version=2, + params=_params) _params['application'] = application _params['num-units'] = num_units _params['placement'] = placement @@ -1154,11 +1278,14 @@ class ApplicationFacade(Type): async def CharmRelations(self, application): ''' application : str - Returns -> typing.Sequence<+T_co>[str] + Returns -> typing.Sequence[str] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Application', request='CharmRelations', version=2, params=_params) + msg = dict(type='Application', + request='CharmRelations', + version=2, + params=_params) _params['application'] = application reply = await self.rpc(msg) return reply @@ -1168,12 +1295,15 @@ class ApplicationFacade(Type): @ReturnMapping(ErrorResults) async def Deploy(self, applications): ''' - applications : typing.Sequence<+T_co>[~ApplicationDeploy]<~ApplicationDeploy> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + applications : typing.Sequence[~ApplicationDeploy] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Application', request='Deploy', version=2, params=_params) + msg = dict(type='Application', + request='Deploy', + version=2, + params=_params) _params['applications'] = applications reply = await self.rpc(msg) return reply @@ -1188,7 +1318,10 @@ class ApplicationFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='Application', request='Destroy', version=2, params=_params) + msg = dict(type='Application', + request='Destroy', + version=2, + params=_params) _params['application'] = application reply = await self.rpc(msg) return reply @@ -1198,12 +1331,15 @@ class ApplicationFacade(Type): @ReturnMapping(None) async def DestroyRelation(self, endpoints): ''' - endpoints : typing.Sequence<+T_co>[str] + endpoints : typing.Sequence[str] Returns -> None ''' # map input types to rpc msg _params = dict() - msg = dict(type='Application', request='DestroyRelation', version=2, params=_params) + msg = dict(type='Application', + request='DestroyRelation', + version=2, + params=_params) _params['endpoints'] = endpoints reply = await self.rpc(msg) return reply @@ -1213,12 +1349,15 @@ class ApplicationFacade(Type): @ReturnMapping(None) async def DestroyUnits(self, unit_names): ''' - unit_names : typing.Sequence<+T_co>[str] + unit_names : typing.Sequence[str] Returns -> None ''' # map input types to rpc msg _params = dict() - msg = dict(type='Application', request='DestroyUnits', version=2, params=_params) + msg = dict(type='Application', + request='DestroyUnits', + version=2, + params=_params) _params['unit-names'] = unit_names reply = await self.rpc(msg) return reply @@ -1233,7 +1372,10 @@ class ApplicationFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='Application', request='Expose', version=2, params=_params) + msg = dict(type='Application', + request='Expose', + version=2, + params=_params) _params['application'] = application reply = await self.rpc(msg) return reply @@ -1244,11 +1386,14 @@ class ApplicationFacade(Type): async def Get(self, application): ''' application : str - Returns -> typing.Union[str, typing.Mapping<~KT, +VT_co>[str, typing.Any], _ForwardRef('Value')] + Returns -> typing.Union[str, typing.Mapping[str, typing.Any], _ForwardRef('Value')] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Application', request='Get', version=2, params=_params) + msg = dict(type='Application', + request='Get', + version=2, + params=_params) _params['application'] = application reply = await self.rpc(msg) return reply @@ -1263,7 +1408,10 @@ class ApplicationFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='Application', request='GetCharmURL', version=2, params=_params) + msg = dict(type='Application', + request='GetCharmURL', + version=2, + params=_params) _params['application'] = application reply = await self.rpc(msg) return reply @@ -1278,7 +1426,10 @@ class ApplicationFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='Application', request='GetConstraints', version=2, params=_params) + msg = dict(type='Application', + request='GetConstraints', + version=2, + params=_params) _params['application'] = application reply = await self.rpc(msg) return reply @@ -1289,12 +1440,15 @@ class ApplicationFacade(Type): async def Set(self, application, options): ''' application : str - options : typing.Mapping<~KT, +VT_co>[str, str] + options : typing.Mapping[str, str] Returns -> None ''' # map input types to rpc msg _params = dict() - msg = dict(type='Application', request='Set', version=2, params=_params) + msg = dict(type='Application', + request='Set', + version=2, + params=_params) _params['application'] = application _params['options'] = options reply = await self.rpc(msg) @@ -1308,17 +1462,20 @@ class ApplicationFacade(Type): application : str channel : str charm_url : str - config_settings : typing.Mapping<~KT, +VT_co>[str, str] + config_settings : typing.Mapping[str, str] config_settings_yaml : str force_series : bool force_units : bool - resource_ids : typing.Mapping<~KT, +VT_co>[str, str] - storage_constraints : typing.Mapping<~KT, +VT_co>[str, ~StorageConstraints]<~StorageConstraints> + resource_ids : typing.Mapping[str, str] + storage_constraints : typing.Mapping[str, ~StorageConstraints] Returns -> None ''' # map input types to rpc msg _params = dict() - msg = dict(type='Application', request='SetCharm', version=2, params=_params) + msg = dict(type='Application', + request='SetCharm', + version=2, + params=_params) _params['application'] = application _params['channel'] = channel _params['charm-url'] = charm_url @@ -1342,7 +1499,10 @@ class ApplicationFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='Application', request='SetConstraints', version=2, params=_params) + msg = dict(type='Application', + request='SetConstraints', + version=2, + params=_params) _params['application'] = application _params['constraints'] = constraints reply = await self.rpc(msg) @@ -1353,12 +1513,15 @@ class ApplicationFacade(Type): @ReturnMapping(ErrorResults) async def SetMetricCredentials(self, creds): ''' - creds : typing.Sequence<+T_co>[~ApplicationMetricCredential]<~ApplicationMetricCredential> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + creds : typing.Sequence[~ApplicationMetricCredential] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Application', request='SetMetricCredentials', version=2, params=_params) + msg = dict(type='Application', + request='SetMetricCredentials', + version=2, + params=_params) _params['creds'] = creds reply = await self.rpc(msg) return reply @@ -1373,7 +1536,10 @@ class ApplicationFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='Application', request='Unexpose', version=2, params=_params) + msg = dict(type='Application', + request='Unexpose', + version=2, + params=_params) _params['application'] = application reply = await self.rpc(msg) return reply @@ -1384,12 +1550,15 @@ class ApplicationFacade(Type): async def Unset(self, application, options): ''' application : str - options : typing.Sequence<+T_co>[str] + options : typing.Sequence[str] Returns -> None ''' # map input types to rpc msg _params = dict() - msg = dict(type='Application', request='Unset', version=2, params=_params) + msg = dict(type='Application', + request='Unset', + version=2, + params=_params) _params['application'] = application _params['options'] = options reply = await self.rpc(msg) @@ -1406,13 +1575,16 @@ class ApplicationFacade(Type): force_charm_url : bool force_series : bool min_units : int - settings : typing.Mapping<~KT, +VT_co>[str, str] + settings : typing.Mapping[str, str] settings_yaml : str Returns -> None ''' # map input types to rpc msg _params = dict() - msg = dict(type='Application', request='Update', version=2, params=_params) + msg = dict(type='Application', + request='Update', + version=2, + params=_params) _params['application'] = application _params['charm-url'] = charm_url _params['constraints'] = constraints @@ -1426,30 +1598,103 @@ class ApplicationFacade(Type): -class BlockFacade(Type): - name = 'Block' +class ApplicationOffersFacade(Type): + name = 'ApplicationOffers' version = 2 - schema = {'definitions': {'Block': {'additionalProperties': False, - 'properties': {'id': {'type': 'string'}, - 'message': {'type': 'string'}, - 'tag': {'type': 'string'}, - 'type': {'type': 'string'}}, - 'required': ['id', 'tag', 'type'], - 'type': 'object'}, - 'BlockResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'$ref': '#/definitions/Block'}}, - 'required': ['result'], - 'type': 'object'}, - 'BlockResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/BlockResult'}, - 'type': 'array'}}, + schema = {'definitions': {'AddApplicationOffer': {'additionalProperties': False, + 'properties': {'application-description': {'type': 'string'}, + 'application-name': {'type': 'string'}, + 'endpoints': {'patternProperties': {'.*': {'type': 'string'}}, + 'type': 'object'}, + 'model-tag': {'type': 'string'}, + 'offer-name': {'type': 'string'}}, + 'required': ['model-tag', + 'offer-name', + 'application-name', + 'application-description', + 'endpoints'], + 'type': 'object'}, + 'AddApplicationOffers': {'additionalProperties': False, + 'properties': {'Offers': {'items': {'$ref': '#/definitions/AddApplicationOffer'}, + 'type': 'array'}}, + 'required': ['Offers'], + 'type': 'object'}, + 'ApplicationOfferAdminDetails': {'additionalProperties': False, + 'properties': {'ApplicationOfferDetails': {'$ref': '#/definitions/ApplicationOfferDetails'}, + 'application-name': {'type': 'string'}, + 'charm-url': {'type': 'string'}, + 'connections': {'items': {'$ref': '#/definitions/OfferConnection'}, + 'type': 'array'}}, + 'required': ['ApplicationOfferDetails', + 'application-name', + 'charm-url'], + 'type': 'object'}, + 'ApplicationOfferDetails': {'additionalProperties': False, + 'properties': {'application-description': {'type': 'string'}, + 'bindings': {'patternProperties': {'.*': {'type': 'string'}}, + 'type': 'object'}, + 'endpoints': {'items': {'$ref': '#/definitions/RemoteEndpoint'}, + 'type': 'array'}, + 'offer-name': {'type': 'string'}, + 'offer-url': {'type': 'string'}, + 'offer-uuid': {'type': 'string'}, + 'source-model-tag': {'type': 'string'}, + 'spaces': {'items': {'$ref': '#/definitions/RemoteSpace'}, + 'type': 'array'}, + 'users': {'items': {'$ref': '#/definitions/OfferUserDetails'}, + 'type': 'array'}}, + 'required': ['source-model-tag', + 'offer-uuid', + 'offer-url', + 'offer-name', + 'application-description'], + 'type': 'object'}, + 'ApplicationOfferResult': {'additionalProperties': False, + 'properties': {'error': {'$ref': '#/definitions/Error'}, + 'result': {'$ref': '#/definitions/ApplicationOfferAdminDetails'}}, + 'type': 'object'}, + 'ApplicationOffersResults': {'additionalProperties': False, + 'properties': {'results': {'items': {'$ref': '#/definitions/ApplicationOfferResult'}, + 'type': 'array'}}, + 'type': 'object'}, + 'ConsumeOfferDetails': {'additionalProperties': False, + 'properties': {'external-controller': {'$ref': '#/definitions/ExternalControllerInfo'}, + 'macaroon': {'$ref': '#/definitions/Macaroon'}, + 'offer': {'$ref': '#/definitions/ApplicationOfferDetails'}}, + 'type': 'object'}, + 'ConsumeOfferDetailsResult': {'additionalProperties': False, + 'properties': {'ConsumeOfferDetails': {'$ref': '#/definitions/ConsumeOfferDetails'}, + 'error': {'$ref': '#/definitions/Error'}}, + 'required': ['ConsumeOfferDetails'], + 'type': 'object'}, + 'ConsumeOfferDetailsResults': {'additionalProperties': False, + 'properties': {'results': {'items': {'$ref': '#/definitions/ConsumeOfferDetailsResult'}, + 'type': 'array'}}, + 'type': 'object'}, + 'DestroyApplicationOffers': {'additionalProperties': False, + 'properties': {'force': {'type': 'boolean'}, + 'offer-urls': {'items': {'type': 'string'}, + 'type': 'array'}}, + 'required': ['offer-urls'], + 'type': 'object'}, + 'EndpointFilterAttributes': {'additionalProperties': False, + 'properties': {'interface': {'type': 'string'}, + 'name': {'type': 'string'}, + 'role': {'type': 'string'}}, + 'required': ['role', + 'interface', + 'name'], + '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'}, - 'BlockSwitchParams': {'additionalProperties': False, - 'properties': {'message': {'type': 'string'}, - 'type': {'type': 'string'}}, - 'required': ['type'], - 'type': 'object'}, 'Error': {'additionalProperties': False, 'properties': {'code': {'type': 'string'}, 'info': {'$ref': '#/definitions/ErrorInfo'}, @@ -1463,71 +1708,403 @@ class BlockFacade(Type): 'ErrorResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}}, 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, 'type': 'object'}}, - 'properties': {'List': {'properties': {'Result': {'$ref': '#/definitions/BlockResults'}}, - 'type': 'object'}, - 'SwitchBlockOff': {'properties': {'Params': {'$ref': '#/definitions/BlockSwitchParams'}, - 'Result': {'$ref': '#/definitions/ErrorResult'}}, - 'type': 'object'}, - 'SwitchBlockOn': {'properties': {'Params': {'$ref': '#/definitions/BlockSwitchParams'}, - 'Result': {'$ref': '#/definitions/ErrorResult'}}, - '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'}, + 'Macaroon': {'additionalProperties': False, 'type': 'object'}, + 'ModifyOfferAccess': {'additionalProperties': False, + 'properties': {'access': {'type': 'string'}, + 'action': {'type': 'string'}, + 'offer-url': {'type': 'string'}, + 'user-tag': {'type': 'string'}}, + 'required': ['user-tag', + 'action', + 'access', + 'offer-url'], + 'type': 'object'}, + 'ModifyOfferAccessRequest': {'additionalProperties': False, + 'properties': {'changes': {'items': {'$ref': '#/definitions/ModifyOfferAccess'}, + 'type': 'array'}}, + 'required': ['changes'], + 'type': 'object'}, + 'OfferConnection': {'additionalProperties': False, + 'properties': {'endpoint': {'type': 'string'}, + 'ingress-subnets': {'items': {'type': 'string'}, + 'type': 'array'}, + 'relation-id': {'type': 'integer'}, + 'source-model-tag': {'type': 'string'}, + 'status': {'$ref': '#/definitions/EntityStatus'}, + 'username': {'type': 'string'}}, + 'required': ['source-model-tag', + 'relation-id', + 'username', + 'endpoint', + 'status', + 'ingress-subnets'], + 'type': 'object'}, + 'OfferFilter': {'additionalProperties': False, + 'properties': {'allowed-users': {'items': {'type': 'string'}, + 'type': 'array'}, + 'application-description': {'type': 'string'}, + 'application-name': {'type': 'string'}, + 'application-user': {'type': 'string'}, + 'connected-users': {'items': {'type': 'string'}, + 'type': 'array'}, + 'endpoints': {'items': {'$ref': '#/definitions/EndpointFilterAttributes'}, + 'type': 'array'}, + 'model-name': {'type': 'string'}, + 'offer-name': {'type': 'string'}, + 'owner-name': {'type': 'string'}}, + 'required': ['owner-name', + 'model-name', + 'offer-name', + 'application-name', + 'application-description', + 'application-user', + 'endpoints', + 'connected-users', + 'allowed-users'], + 'type': 'object'}, + 'OfferFilters': {'additionalProperties': False, + 'properties': {'Filters': {'items': {'$ref': '#/definitions/OfferFilter'}, + 'type': 'array'}}, + 'required': ['Filters'], + 'type': 'object'}, + 'OfferURLs': {'additionalProperties': False, + 'properties': {'offer-urls': {'items': {'type': 'string'}, + 'type': 'array'}}, + 'type': 'object'}, + 'OfferUserDetails': {'additionalProperties': False, + 'properties': {'access': {'type': 'string'}, + 'display-name': {'type': 'string'}, + 'user': {'type': 'string'}}, + 'required': ['user', + 'display-name', + 'access'], + 'type': 'object'}, + 'QueryApplicationOffersResults': {'additionalProperties': False, + 'properties': {'results': {'items': {'$ref': '#/definitions/ApplicationOfferAdminDetails'}, + 'type': 'array'}}, + 'required': ['results'], + 'type': 'object'}, + 'RemoteApplicationInfo': {'additionalProperties': False, + 'properties': {'description': {'type': 'string'}, + 'endpoints': {'items': {'$ref': '#/definitions/RemoteEndpoint'}, + 'type': 'array'}, + 'icon-url-path': {'type': 'string'}, + 'model-tag': {'type': 'string'}, + 'name': {'type': 'string'}, + 'offer-url': {'type': 'string'}, + 'source-model-label': {'type': 'string'}}, + 'required': ['model-tag', + 'name', + 'description', + 'offer-url', + 'endpoints', + 'icon-url-path'], + 'type': 'object'}, + 'RemoteApplicationInfoResult': {'additionalProperties': False, + 'properties': {'error': {'$ref': '#/definitions/Error'}, + 'result': {'$ref': '#/definitions/RemoteApplicationInfo'}}, + 'type': 'object'}, + 'RemoteApplicationInfoResults': {'additionalProperties': False, + 'properties': {'results': {'items': {'$ref': '#/definitions/RemoteApplicationInfoResult'}, + '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'}, + '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'}, + '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'}}, + 'properties': {'ApplicationOffers': {'properties': {'Params': {'$ref': '#/definitions/OfferURLs'}, + 'Result': {'$ref': '#/definitions/ApplicationOffersResults'}}, + 'type': 'object'}, + 'DestroyOffers': {'properties': {'Params': {'$ref': '#/definitions/DestroyApplicationOffers'}, + 'Result': {'$ref': '#/definitions/ErrorResults'}}, + 'type': 'object'}, + 'FindApplicationOffers': {'properties': {'Params': {'$ref': '#/definitions/OfferFilters'}, + 'Result': {'$ref': '#/definitions/QueryApplicationOffersResults'}}, + 'type': 'object'}, + 'GetConsumeDetails': {'properties': {'Params': {'$ref': '#/definitions/OfferURLs'}, + 'Result': {'$ref': '#/definitions/ConsumeOfferDetailsResults'}}, + 'type': 'object'}, + 'ListApplicationOffers': {'properties': {'Params': {'$ref': '#/definitions/OfferFilters'}, + 'Result': {'$ref': '#/definitions/QueryApplicationOffersResults'}}, + 'type': 'object'}, + 'ModifyOfferAccess': {'properties': {'Params': {'$ref': '#/definitions/ModifyOfferAccessRequest'}, + 'Result': {'$ref': '#/definitions/ErrorResults'}}, + 'type': 'object'}, + 'Offer': {'properties': {'Params': {'$ref': '#/definitions/AddApplicationOffers'}, + 'Result': {'$ref': '#/definitions/ErrorResults'}}, + 'type': 'object'}, + 'RemoteApplicationInfo': {'properties': {'Params': {'$ref': '#/definitions/OfferURLs'}, + 'Result': {'$ref': '#/definitions/RemoteApplicationInfoResults'}}, + 'type': 'object'}}, 'type': 'object'} - @ReturnMapping(BlockResults) - async def List(self): + @ReturnMapping(ApplicationOffersResults) + async def ApplicationOffers(self, offer_urls): + ''' + offer_urls : typing.Sequence[str] + Returns -> typing.Sequence[~ApplicationOfferResult] ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='ApplicationOffers', + request='ApplicationOffers', + version=2, + params=_params) + _params['offer-urls'] = offer_urls + reply = await self.rpc(msg) + return reply + + - Returns -> typing.Sequence<+T_co>[~BlockResult]<~BlockResult> + @ReturnMapping(ErrorResults) + async def DestroyOffers(self, force, offer_urls): + ''' + force : bool + offer_urls : typing.Sequence[str] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Block', request='List', version=2, params=_params) + msg = dict(type='ApplicationOffers', + request='DestroyOffers', + version=2, + params=_params) + _params['force'] = force + _params['offer-urls'] = offer_urls + reply = await self.rpc(msg) + return reply + + + @ReturnMapping(QueryApplicationOffersResults) + async def FindApplicationOffers(self, filters): + ''' + filters : typing.Sequence[~OfferFilter] + Returns -> typing.Sequence[~ApplicationOfferAdminDetails] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='ApplicationOffers', + request='FindApplicationOffers', + version=2, + params=_params) + _params['Filters'] = filters reply = await self.rpc(msg) return reply - @ReturnMapping(ErrorResult) - async def SwitchBlockOff(self, message, type_): + @ReturnMapping(ConsumeOfferDetailsResults) + async def GetConsumeDetails(self, offer_urls): ''' - message : str - type_ : str - Returns -> Error + offer_urls : typing.Sequence[str] + Returns -> typing.Sequence[~ConsumeOfferDetailsResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Block', request='SwitchBlockOff', version=2, params=_params) - _params['message'] = message - _params['type'] = type_ + msg = dict(type='ApplicationOffers', + request='GetConsumeDetails', + version=2, + params=_params) + _params['offer-urls'] = offer_urls reply = await self.rpc(msg) return reply - @ReturnMapping(ErrorResult) - async def SwitchBlockOn(self, message, type_): + @ReturnMapping(QueryApplicationOffersResults) + async def ListApplicationOffers(self, filters): ''' - message : str - type_ : str - Returns -> Error + filters : typing.Sequence[~OfferFilter] + Returns -> typing.Sequence[~ApplicationOfferAdminDetails] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Block', request='SwitchBlockOn', version=2, params=_params) - _params['message'] = message - _params['type'] = type_ + msg = dict(type='ApplicationOffers', + request='ListApplicationOffers', + version=2, + params=_params) + _params['Filters'] = filters reply = await self.rpc(msg) return reply -class CharmRevisionUpdaterFacade(Type): - name = 'CharmRevisionUpdater' + @ReturnMapping(ErrorResults) + async def ModifyOfferAccess(self, changes): + ''' + changes : typing.Sequence[~ModifyOfferAccess] + Returns -> typing.Sequence[~ErrorResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='ApplicationOffers', + request='ModifyOfferAccess', + version=2, + params=_params) + _params['changes'] = changes + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(ErrorResults) + async def Offer(self, offers): + ''' + offers : typing.Sequence[~AddApplicationOffer] + Returns -> typing.Sequence[~ErrorResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='ApplicationOffers', + request='Offer', + version=2, + params=_params) + _params['Offers'] = offers + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(RemoteApplicationInfoResults) + async def RemoteApplicationInfo(self, offer_urls): + ''' + offer_urls : typing.Sequence[str] + Returns -> typing.Sequence[~RemoteApplicationInfoResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='ApplicationOffers', + request='RemoteApplicationInfo', + version=2, + params=_params) + _params['offer-urls'] = offer_urls + reply = await self.rpc(msg) + return reply + + + +class BackupsFacade(Type): + name = 'Backups' version = 2 - schema = {'definitions': {'Error': {'additionalProperties': False, + schema = {'definitions': {'BackupsCreateArgs': {'additionalProperties': False, + 'properties': {'keep-copy': {'type': 'boolean'}, + 'no-download': {'type': 'boolean'}, + 'notes': {'type': 'string'}}, + 'required': ['notes', + 'keep-copy', + 'no-download'], + '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'}, + 'filename': {'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', + 'filename'], + 'type': 'object'}, + 'BackupsRemoveArgs': {'additionalProperties': False, + 'properties': {'ids': {'items': {'type': 'string'}, + 'type': 'array'}}, + 'required': ['ids'], + 'type': 'object'}, + 'Error': {'additionalProperties': False, 'properties': {'code': {'type': 'string'}, 'info': {'$ref': '#/definitions/ErrorInfo'}, 'message': {'type': 'string'}}, @@ -1540,235 +2117,2106 @@ class CharmRevisionUpdaterFacade(Type): 'ErrorResult': {'additionalProperties': False, 'properties': {'error': {'$ref': '#/definitions/Error'}}, 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, 'type': 'object'}}, - 'properties': {'UpdateLatestRevisions': {'properties': {'Result': {'$ref': '#/definitions/ErrorResult'}}, - 'type': 'object'}}, + 'ErrorResults': {'additionalProperties': False, + 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'}, + 'type': 'array'}}, + 'required': ['results'], + 'type': 'object'}, + 'Macaroon': {'additionalProperties': False, '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'}, + 'Result': {'$ref': '#/definitions/ErrorResults'}}, + 'type': 'object'}, + 'Restore': {'properties': {'Params': {'$ref': '#/definitions/RestoreArgs'}}, + 'type': 'object'}}, 'type': 'object'} - @ReturnMapping(ErrorResult) - async def UpdateLatestRevisions(self): + @ReturnMapping(BackupsMetadataResult) + async def Create(self, notes): ''' - - Returns -> Error + notes : str + Returns -> typing.Union[str, int, _ForwardRef('Number')] ''' # map input types to rpc msg _params = dict() - msg = dict(type='CharmRevisionUpdater', request='UpdateLatestRevisions', version=2, params=_params) - + msg = dict(type='Backups', + request='Create', + version=2, + params=_params) + _params['notes'] = notes reply = await self.rpc(msg) return reply -class CharmsFacade(Type): - name = 'Charms' - version = 2 - schema = {'definitions': {'CharmActionSpec': {'additionalProperties': False, - 'properties': {'description': {'type': 'string'}, - 'params': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}}, - 'required': ['description', 'params'], - 'type': 'object'}, - 'CharmActions': {'additionalProperties': False, - 'properties': {'specs': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmActionSpec'}}, - 'type': 'object'}}, - 'type': 'object'}, - 'CharmInfo': {'additionalProperties': False, - 'properties': {'actions': {'$ref': '#/definitions/CharmActions'}, - 'config': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmOption'}}, - 'type': 'object'}, - 'meta': {'$ref': '#/definitions/CharmMeta'}, - 'metrics': {'$ref': '#/definitions/CharmMetrics'}, - 'revision': {'type': 'integer'}, - 'url': {'type': 'string'}}, - 'required': ['revision', 'url', 'config'], - 'type': 'object'}, - 'CharmMeta': {'additionalProperties': False, - 'properties': {'categories': {'items': {'type': 'string'}, - 'type': 'array'}, - 'description': {'type': 'string'}, - 'extra-bindings': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}, - 'min-juju-version': {'type': 'string'}, - 'name': {'type': 'string'}, - 'payload-classes': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmPayloadClass'}}, - 'type': 'object'}, - 'peers': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmRelation'}}, - 'type': 'object'}, - 'provides': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmRelation'}}, - 'type': 'object'}, - 'requires': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmRelation'}}, - 'type': 'object'}, - 'resources': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmResourceMeta'}}, - 'type': 'object'}, - 'series': {'items': {'type': 'string'}, - 'type': 'array'}, - 'storage': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmStorage'}}, - 'type': 'object'}, - 'subordinate': {'type': 'boolean'}, - 'summary': {'type': 'string'}, - 'tags': {'items': {'type': 'string'}, - 'type': 'array'}, - 'terms': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['name', - 'summary', - 'description', - 'subordinate'], - 'type': 'object'}, - 'CharmMetric': {'additionalProperties': False, - 'properties': {'description': {'type': 'string'}, - 'type': {'type': 'string'}}, - 'required': ['type', 'description'], + @ReturnMapping(None) + async def FinishRestore(self): + ''' + + Returns -> None + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Backups', + request='FinishRestore', + version=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(BackupsMetadataResult) + async def Info(self, id_): + ''' + id_ : str + Returns -> typing.Union[str, int, _ForwardRef('Number')] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Backups', + request='Info', + version=2, + params=_params) + _params['id'] = id_ + reply = await self.rpc(msg) + return reply + + + + @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=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(None) + async def PrepareRestore(self): + ''' + + Returns -> None + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Backups', + request='PrepareRestore', + version=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(ErrorResults) + async def Remove(self, id_): + ''' + id_ : str + Returns -> typing.Sequence[~ErrorResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Backups', + request='Remove', + version=2, + params=_params) + _params['id'] = id_ + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(None) + async def Restore(self, backup_id): + ''' + backup_id : str + Returns -> None + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Backups', + request='Restore', + version=2, + params=_params) + _params['backup-id'] = backup_id + reply = await self.rpc(msg) + return reply + + + +class BlockFacade(Type): + name = 'Block' + version = 2 + schema = {'definitions': {'Block': {'additionalProperties': False, + 'properties': {'id': {'type': 'string'}, + 'message': {'type': 'string'}, + 'tag': {'type': 'string'}, + 'type': {'type': 'string'}}, + 'required': ['id', 'tag', 'type'], + 'type': 'object'}, + 'BlockResult': {'additionalProperties': False, + 'properties': {'error': {'$ref': '#/definitions/Error'}, + 'result': {'$ref': '#/definitions/Block'}}, + 'required': ['result'], 'type': 'object'}, - 'CharmMetrics': {'additionalProperties': False, - 'properties': {'metrics': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmMetric'}}, - 'type': 'object'}, - 'plan': {'$ref': '#/definitions/CharmPlan'}}, - 'required': ['metrics', 'plan'], + 'BlockResults': {'additionalProperties': False, + 'properties': {'results': {'items': {'$ref': '#/definitions/BlockResult'}, + 'type': 'array'}}, 'type': 'object'}, - 'CharmOption': {'additionalProperties': False, - 'properties': {'default': {'additionalProperties': True, - 'type': 'object'}, - 'description': {'type': 'string'}, - 'type': {'type': 'string'}}, - 'required': ['type'], - 'type': 'object'}, - 'CharmPayloadClass': {'additionalProperties': False, - 'properties': {'name': {'type': 'string'}, + 'BlockSwitchParams': {'additionalProperties': False, + 'properties': {'message': {'type': 'string'}, 'type': {'type': 'string'}}, - 'required': ['name', 'type'], + 'required': ['type'], 'type': 'object'}, - 'CharmPlan': {'additionalProperties': False, - 'properties': {'required': {'type': 'boolean'}}, - 'required': ['required'], + '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'}, - 'CharmRelation': {'additionalProperties': False, - 'properties': {'interface': {'type': 'string'}, - 'limit': {'type': 'integer'}, - 'name': {'type': 'string'}, - 'optional': {'type': 'boolean'}, - 'role': {'type': 'string'}, - 'scope': {'type': 'string'}}, - 'required': ['name', - 'role', - 'interface', - 'optional', - 'limit', - 'scope'], + 'ErrorResult': {'additionalProperties': False, + 'properties': {'error': {'$ref': '#/definitions/Error'}}, + 'type': 'object'}, + 'Macaroon': {'additionalProperties': False, 'type': 'object'}}, + 'properties': {'List': {'properties': {'Result': {'$ref': '#/definitions/BlockResults'}}, + 'type': 'object'}, + 'SwitchBlockOff': {'properties': {'Params': {'$ref': '#/definitions/BlockSwitchParams'}, + 'Result': {'$ref': '#/definitions/ErrorResult'}}, 'type': 'object'}, - 'CharmResourceMeta': {'additionalProperties': False, - 'properties': {'description': {'type': 'string'}, - 'name': {'type': 'string'}, - 'path': {'type': 'string'}, - 'type': {'type': 'string'}}, - 'required': ['name', - 'type', - 'path', - 'description'], - 'type': 'object'}, - 'CharmStorage': {'additionalProperties': False, - 'properties': {'count-max': {'type': 'integer'}, - 'count-min': {'type': 'integer'}, - 'description': {'type': 'string'}, - 'location': {'type': 'string'}, - 'minimum-size': {'type': 'integer'}, - 'name': {'type': 'string'}, - 'properties': {'items': {'type': 'string'}, - 'type': 'array'}, - 'read-only': {'type': 'boolean'}, - 'shared': {'type': 'boolean'}, - 'type': {'type': 'string'}}, - 'required': ['name', - 'description', - 'type', - 'shared', - 'read-only', - 'count-min', - 'count-max', - 'minimum-size'], - 'type': 'object'}, - 'CharmURL': {'additionalProperties': False, - 'properties': {'url': {'type': 'string'}}, - 'required': ['url'], - 'type': 'object'}, - 'CharmsList': {'additionalProperties': False, - 'properties': {'names': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['names'], - 'type': 'object'}, - 'CharmsListResult': {'additionalProperties': False, - 'properties': {'charm-urls': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['charm-urls'], - 'type': 'object'}, - 'IsMeteredResult': {'additionalProperties': False, - 'properties': {'metered': {'type': 'boolean'}}, - 'required': ['metered'], - 'type': 'object'}}, - 'properties': {'CharmInfo': {'properties': {'Params': {'$ref': '#/definitions/CharmURL'}, - 'Result': {'$ref': '#/definitions/CharmInfo'}}, - 'type': 'object'}, - 'IsMetered': {'properties': {'Params': {'$ref': '#/definitions/CharmURL'}, - 'Result': {'$ref': '#/definitions/IsMeteredResult'}}, - 'type': 'object'}, - 'List': {'properties': {'Params': {'$ref': '#/definitions/CharmsList'}, - 'Result': {'$ref': '#/definitions/CharmsListResult'}}, - 'type': 'object'}}, + 'SwitchBlockOn': {'properties': {'Params': {'$ref': '#/definitions/BlockSwitchParams'}, + 'Result': {'$ref': '#/definitions/ErrorResult'}}, + 'type': 'object'}}, 'type': 'object'} - @ReturnMapping(CharmInfo) - async def CharmInfo(self, url): + @ReturnMapping(BlockResults) + async def List(self): + ''' + + Returns -> typing.Sequence[~BlockResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Block', + request='List', + version=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(ErrorResult) + async def SwitchBlockOff(self, message, type_): + ''' + message : str + type_ : str + Returns -> Error + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Block', + request='SwitchBlockOff', + version=2, + params=_params) + _params['message'] = message + _params['type'] = type_ + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(ErrorResult) + async def SwitchBlockOn(self, message, type_): + ''' + message : str + type_ : str + Returns -> Error + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Block', + request='SwitchBlockOn', + version=2, + params=_params) + _params['message'] = message + _params['type'] = type_ + reply = await self.rpc(msg) + return reply + + + +class BundleFacade(Type): + name = 'Bundle' + version = 2 + schema = {'definitions': {'BundleChange': {'additionalProperties': False, + 'properties': {'args': {'items': {'additionalProperties': True, + 'type': 'object'}, + 'type': 'array'}, + 'id': {'type': 'string'}, + 'method': {'type': 'string'}, + 'requires': {'items': {'type': 'string'}, + 'type': 'array'}}, + 'required': ['id', + 'method', + 'args', + 'requires'], + 'type': 'object'}, + 'BundleChangesParams': {'additionalProperties': False, + 'properties': {'bundleURL': {'type': 'string'}, + 'yaml': {'type': 'string'}}, + 'required': ['yaml', 'bundleURL'], + 'type': 'object'}, + 'BundleChangesResults': {'additionalProperties': False, + 'properties': {'changes': {'items': {'$ref': '#/definitions/BundleChange'}, + 'type': 'array'}, + 'errors': {'items': {'type': 'string'}, + 'type': 'array'}}, + 'type': 'object'}, + 'Error': {'additionalProperties': False, + 'properties': {'code': {'type': 'string'}, + 'info': {'$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'}, + 'StringResult': {'additionalProperties': False, + 'properties': {'error': {'$ref': '#/definitions/Error'}, + 'result': {'type': 'string'}}, + 'required': ['result'], + 'type': 'object'}}, + 'properties': {'ExportBundle': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}}, + 'type': 'object'}, + 'GetChanges': {'properties': {'Params': {'$ref': '#/definitions/BundleChangesParams'}, + 'Result': {'$ref': '#/definitions/BundleChangesResults'}}, + 'type': 'object'}}, + 'type': 'object'} + + + @ReturnMapping(StringResult) + async def ExportBundle(self): + ''' + + Returns -> typing.Union[_ForwardRef('Error'), str] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Bundle', + request='ExportBundle', + version=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(BundleChangesResults) + async def GetChanges(self, yaml): + ''' + yaml : str + Returns -> typing.Union[typing.Sequence[~BundleChange], typing.Sequence[str]] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Bundle', + request='GetChanges', + version=2, + params=_params) + _params['yaml'] = yaml + reply = await self.rpc(msg) + return reply + + + +class CharmRevisionUpdaterFacade(Type): + name = 'CharmRevisionUpdater' + version = 2 + schema = {'definitions': {'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'}, + 'Macaroon': {'additionalProperties': False, 'type': 'object'}}, + 'properties': {'UpdateLatestRevisions': {'properties': {'Result': {'$ref': '#/definitions/ErrorResult'}}, + 'type': 'object'}}, + 'type': 'object'} + + + @ReturnMapping(ErrorResult) + async def UpdateLatestRevisions(self): + ''' + + Returns -> Error + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='CharmRevisionUpdater', + request='UpdateLatestRevisions', + version=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + +class CharmsFacade(Type): + name = 'Charms' + version = 2 + schema = {'definitions': {'CharmActionSpec': {'additionalProperties': False, + 'properties': {'description': {'type': 'string'}, + 'params': {'patternProperties': {'.*': {'additionalProperties': True, + 'type': 'object'}}, + 'type': 'object'}}, + 'required': ['description', 'params'], + 'type': 'object'}, + 'CharmActions': {'additionalProperties': False, + 'properties': {'specs': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmActionSpec'}}, + 'type': 'object'}}, + 'type': 'object'}, + 'CharmDevice': {'additionalProperties': False, + 'properties': {'CountMax': {'type': 'integer'}, + 'CountMin': {'type': 'integer'}, + 'Description': {'type': 'string'}, + 'Name': {'type': 'string'}, + 'Type': {'type': 'string'}}, + 'required': ['Name', + 'Description', + 'Type', + 'CountMin', + 'CountMax'], + 'type': 'object'}, + 'CharmInfo': {'additionalProperties': False, + 'properties': {'actions': {'$ref': '#/definitions/CharmActions'}, + 'config': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmOption'}}, + 'type': 'object'}, + 'lxd-profile': {'$ref': '#/definitions/CharmLXDProfile'}, + 'meta': {'$ref': '#/definitions/CharmMeta'}, + 'metrics': {'$ref': '#/definitions/CharmMetrics'}, + 'revision': {'type': 'integer'}, + 'url': {'type': 'string'}}, + 'required': ['revision', 'url', 'config'], + 'type': 'object'}, + 'CharmLXDProfile': {'additionalProperties': False, + 'properties': {'config': {'patternProperties': {'.*': {'type': 'string'}}, + 'type': 'object'}, + 'description': {'type': 'string'}, + 'devices': {'patternProperties': {'.*': {'patternProperties': {'.*': {'type': 'string'}}, + 'type': 'object'}}, + 'type': 'object'}}, + 'required': ['config', + 'description', + 'devices'], + 'type': 'object'}, + 'CharmMeta': {'additionalProperties': False, + 'properties': {'categories': {'items': {'type': 'string'}, + 'type': 'array'}, + 'description': {'type': 'string'}, + 'devices': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmDevice'}}, + 'type': 'object'}, + 'extra-bindings': {'patternProperties': {'.*': {'type': 'string'}}, + 'type': 'object'}, + 'min-juju-version': {'type': 'string'}, + 'name': {'type': 'string'}, + 'payload-classes': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmPayloadClass'}}, + 'type': 'object'}, + 'peers': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmRelation'}}, + 'type': 'object'}, + 'provides': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmRelation'}}, + 'type': 'object'}, + 'requires': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmRelation'}}, + 'type': 'object'}, + 'resources': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmResourceMeta'}}, + 'type': 'object'}, + 'series': {'items': {'type': 'string'}, + 'type': 'array'}, + 'storage': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmStorage'}}, + 'type': 'object'}, + 'subordinate': {'type': 'boolean'}, + 'summary': {'type': 'string'}, + 'tags': {'items': {'type': 'string'}, + 'type': 'array'}, + 'terms': {'items': {'type': 'string'}, + 'type': 'array'}}, + 'required': ['name', + 'summary', + 'description', + 'subordinate'], + 'type': 'object'}, + 'CharmMetric': {'additionalProperties': False, + 'properties': {'description': {'type': 'string'}, + 'type': {'type': 'string'}}, + 'required': ['type', 'description'], + 'type': 'object'}, + 'CharmMetrics': {'additionalProperties': False, + 'properties': {'metrics': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmMetric'}}, + 'type': 'object'}, + 'plan': {'$ref': '#/definitions/CharmPlan'}}, + 'required': ['metrics', 'plan'], + 'type': 'object'}, + 'CharmOption': {'additionalProperties': False, + 'properties': {'default': {'additionalProperties': True, + 'type': 'object'}, + 'description': {'type': 'string'}, + 'type': {'type': 'string'}}, + 'required': ['type'], + 'type': 'object'}, + 'CharmPayloadClass': {'additionalProperties': False, + 'properties': {'name': {'type': 'string'}, + 'type': {'type': 'string'}}, + 'required': ['name', 'type'], + 'type': 'object'}, + 'CharmPlan': {'additionalProperties': False, + 'properties': {'required': {'type': 'boolean'}}, + 'required': ['required'], + 'type': 'object'}, + 'CharmRelation': {'additionalProperties': False, + 'properties': {'interface': {'type': 'string'}, + 'limit': {'type': 'integer'}, + 'name': {'type': 'string'}, + 'optional': {'type': 'boolean'}, + 'role': {'type': 'string'}, + 'scope': {'type': 'string'}}, + 'required': ['name', + 'role', + 'interface', + 'optional', + 'limit', + 'scope'], + 'type': 'object'}, + 'CharmResourceMeta': {'additionalProperties': False, + 'properties': {'description': {'type': 'string'}, + 'name': {'type': 'string'}, + 'path': {'type': 'string'}, + 'type': {'type': 'string'}}, + 'required': ['name', + 'type', + 'path', + 'description'], + 'type': 'object'}, + 'CharmStorage': {'additionalProperties': False, + 'properties': {'count-max': {'type': 'integer'}, + 'count-min': {'type': 'integer'}, + 'description': {'type': 'string'}, + 'location': {'type': 'string'}, + 'minimum-size': {'type': 'integer'}, + 'name': {'type': 'string'}, + 'properties': {'items': {'type': 'string'}, + 'type': 'array'}, + 'read-only': {'type': 'boolean'}, + 'shared': {'type': 'boolean'}, + 'type': {'type': 'string'}}, + 'required': ['name', + 'description', + 'type', + 'shared', + 'read-only', + 'count-min', + 'count-max', + 'minimum-size'], + 'type': 'object'}, + 'CharmURL': {'additionalProperties': False, + 'properties': {'url': {'type': 'string'}}, + 'required': ['url'], + 'type': 'object'}, + 'CharmsList': {'additionalProperties': False, + 'properties': {'names': {'items': {'type': 'string'}, + 'type': 'array'}}, + 'required': ['names'], + 'type': 'object'}, + 'CharmsListResult': {'additionalProperties': False, + 'properties': {'charm-urls': {'items': {'type': 'string'}, + 'type': 'array'}}, + 'required': ['charm-urls'], + 'type': 'object'}, + 'IsMeteredResult': {'additionalProperties': False, + 'properties': {'metered': {'type': 'boolean'}}, + 'required': ['metered'], + 'type': 'object'}}, + 'properties': {'CharmInfo': {'properties': {'Params': {'$ref': '#/definitions/CharmURL'}, + 'Result': {'$ref': '#/definitions/CharmInfo'}}, + 'type': 'object'}, + 'IsMetered': {'properties': {'Params': {'$ref': '#/definitions/CharmURL'}, + 'Result': {'$ref': '#/definitions/IsMeteredResult'}}, + 'type': 'object'}, + 'List': {'properties': {'Params': {'$ref': '#/definitions/CharmsList'}, + 'Result': {'$ref': '#/definitions/CharmsListResult'}}, + 'type': 'object'}}, + 'type': 'object'} + + + @ReturnMapping(CharmInfo) + async def CharmInfo(self, url): + ''' + url : str + Returns -> typing.Union[_ForwardRef('CharmActions'), typing.Mapping[str, ~CharmOption], _ForwardRef('CharmMeta'), _ForwardRef('CharmMetrics'), int, str] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Charms', + request='CharmInfo', + version=2, + params=_params) + _params['url'] = url + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(IsMeteredResult) + async def IsMetered(self, url): + ''' + url : str + Returns -> bool + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Charms', + request='IsMetered', + version=2, + params=_params) + _params['url'] = url + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(CharmsListResult) + async def List(self, names): + ''' + names : typing.Sequence[str] + Returns -> typing.Sequence[str] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Charms', + request='List', + version=2, + params=_params) + _params['names'] = names + reply = await self.rpc(msg) + return reply + + + +class CleanerFacade(Type): + name = 'Cleaner' + version = 2 + schema = {'definitions': {'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'}, + 'NotifyWatchResult': {'additionalProperties': False, + 'properties': {'NotifyWatcherId': {'type': 'string'}, + 'error': {'$ref': '#/definitions/Error'}}, + 'required': ['NotifyWatcherId'], + 'type': 'object'}}, + 'properties': {'Cleanup': {'type': 'object'}, + 'WatchCleanups': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, + 'type': 'object'}}, + 'type': 'object'} + + + @ReturnMapping(None) + async def Cleanup(self): + ''' + + Returns -> None + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Cleaner', + request='Cleanup', + version=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(NotifyWatchResult) + async def WatchCleanups(self): + ''' + + Returns -> typing.Union[str, _ForwardRef('Error')] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Cleaner', + request='WatchCleanups', + version=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + +class ClientFacade(Type): + name = 'Client' + version = 2 + 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'}, + 'force': {'type': 'boolean'}, + 'url': {'type': 'string'}}, + 'required': ['url', 'channel', 'force'], + 'type': 'object'}, + 'AddCharmWithAuthorization': {'additionalProperties': False, + 'properties': {'channel': {'type': 'string'}, + 'force': {'type': 'boolean'}, + 'macaroon': {'$ref': '#/definitions/Macaroon'}, + 'url': {'type': 'string'}}, + 'required': ['url', + 'channel', + 'macaroon', + 'force'], + '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'}, + 'ApplicationOfferStatus': {'additionalProperties': False, + 'properties': {'active-connected-count': {'type': 'integer'}, + 'application-name': {'type': 'string'}, + 'charm': {'type': 'string'}, + 'endpoints': {'patternProperties': {'.*': {'$ref': '#/definitions/RemoteEndpoint'}}, + 'type': 'object'}, + 'err': {'additionalProperties': True, + 'type': 'object'}, + 'offer-name': {'type': 'string'}, + 'total-connected-count': {'type': 'integer'}}, + 'required': ['offer-name', + 'application-name', + 'charm', + 'endpoints', + 'active-connected-count', + 'total-connected-count'], + 'type': 'object'}, + 'ApplicationStatus': {'additionalProperties': False, + 'properties': {'can-upgrade-to': {'type': 'string'}, + 'charm': {'type': 'string'}, + 'charm-verion': {'type': 'string'}, + 'endpoint-bindings': {'patternProperties': {'.*': {'type': 'string'}}, + 'type': 'object'}, + 'err': {'additionalProperties': True, + 'type': 'object'}, + 'exposed': {'type': 'boolean'}, + 'int': {'type': 'integer'}, + 'life': {'type': 'string'}, + 'meter-statuses': {'patternProperties': {'.*': {'$ref': '#/definitions/MeterStatus'}}, + 'type': 'object'}, + 'provider-id': {'type': 'string'}, + 'public-address': {'type': 'string'}, + 'relations': {'patternProperties': {'.*': {'items': {'type': 'string'}, + 'type': 'array'}}, + 'type': 'object'}, + 'series': {'type': 'string'}, + 'status': {'$ref': '#/definitions/DetailedStatus'}, + 'string': {'type': 'string'}, + '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', + 'charm-verion', + 'endpoint-bindings', + 'public-address'], + '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': {'bundleURL': {'type': 'string'}, + 'yaml': {'type': 'string'}}, + 'required': ['yaml', 'bundleURL'], + 'type': 'object'}, + 'BundleChangesResults': {'additionalProperties': False, + 'properties': {'changes': {'items': {'$ref': '#/definitions/BundleChange'}, + 'type': 'array'}, + 'errors': {'items': {'type': 'string'}, + 'type': 'array'}}, + 'type': 'object'}, + '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': {'agentstream': {'type': 'string'}, + 'arch': {'type': 'string'}, + 'major': {'type': 'integer'}, + 'minor': {'type': 'integer'}, + 'number': {'$ref': '#/definitions/Number'}, + 'series': {'type': 'string'}}, + 'required': ['number', + 'major', + 'minor', + 'arch', + 'series', + 'agentstream'], + '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'}, + 'controller-timestamp': {'format': 'date-time', + 'type': 'string'}, + 'machines': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}}, + 'type': 'object'}, + 'model': {'$ref': '#/definitions/ModelStatusInfo'}, + 'offers': {'patternProperties': {'.*': {'$ref': '#/definitions/ApplicationOfferStatus'}}, + 'type': 'object'}, + 'relations': {'items': {'$ref': '#/definitions/RelationStatus'}, + 'type': 'array'}, + 'remote-applications': {'patternProperties': {'.*': {'$ref': '#/definitions/RemoteApplicationStatus'}}, + 'type': 'object'}}, + 'required': ['model', + 'machines', + 'applications', + 'remote-applications', + 'offers', + 'relations', + 'controller-timestamp'], + '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'}, + 'LXDProfile': {'additionalProperties': False, + 'properties': {'config': {'patternProperties': {'.*': {'type': 'string'}}, + 'type': 'object'}, + 'description': {'type': 'string'}, + 'devices': {'patternProperties': {'.*': {'patternProperties': {'.*': {'type': 'string'}}, + 'type': 'object'}}, + 'type': 'object'}}, + 'required': ['config', + 'description', + 'devices'], + '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'}, + 'lxd-profiles': {'patternProperties': {'.*': {'$ref': '#/definitions/LXDProfile'}}, + 'type': 'object'}, + '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'}, + 'type': {'type': 'string'}, + 'users': {'items': {'$ref': '#/definitions/ModelUserInfo'}, + 'type': 'array'}, + 'uuid': {'type': 'string'}}, + 'required': ['name', + 'type', + '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'}, + 'message': {'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'}, + 'type': {'type': 'string'}, + 'version': {'type': 'string'}}, + 'required': ['name', + 'type', + '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'}, + 'status': {'$ref': '#/definitions/DetailedStatus'}}, + 'required': ['id', + 'key', + 'interface', + 'scope', + 'endpoints', + 'status'], + 'type': 'object'}, + 'RemoteApplicationStatus': {'additionalProperties': False, + 'properties': {'endpoints': {'items': {'$ref': '#/definitions/RemoteEndpoint'}, + 'type': 'array'}, + 'err': {'additionalProperties': True, + 'type': 'object'}, + 'life': {'type': 'string'}, + 'offer-name': {'type': 'string'}, + 'offer-url': {'type': 'string'}, + 'relations': {'patternProperties': {'.*': {'items': {'type': 'string'}, + 'type': 'array'}}, + 'type': 'object'}, + 'status': {'$ref': '#/definitions/DetailedStatus'}}, + 'required': ['offer-url', + 'offer-name', + 'endpoints', + 'life', + 'relations', + 'status'], + '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'}, + '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': {'force': {'type': 'boolean'}, + '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': {'address': {'type': 'string'}, + 'agent-status': {'$ref': '#/definitions/DetailedStatus'}, + 'charm': {'type': 'string'}, + 'leader': {'type': 'boolean'}, + 'machine': {'type': 'string'}, + 'opened-ports': {'items': {'type': 'string'}, + 'type': 'array'}, + 'provider-id': {'type': 'string'}, + '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'}, + 'zones': {'items': {'type': 'string'}, + 'type': 'array'}}, + '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'} + + + @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=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(None) + async def AbortCurrentUpgrade(self): + ''' + + Returns -> None + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='AbortCurrentUpgrade', + version=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(None) + async def AddCharm(self, channel, url): + ''' + channel : str + url : str + Returns -> None + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='AddCharm', + version=2, + params=_params) + _params['channel'] = channel + _params['url'] = url + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(None) + async def AddCharmWithAuthorization(self, channel, macaroon, url): + ''' + channel : str + macaroon : Macaroon + url : str + Returns -> None + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='AddCharmWithAuthorization', + version=2, + params=_params) + _params['channel'] = channel + _params['macaroon'] = macaroon + _params['url'] = url + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(AddMachinesResults) + async def AddMachines(self, params): + ''' + params : typing.Sequence[~AddMachineParams] + Returns -> typing.Sequence[~AddMachinesResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='AddMachines', + version=2, + params=_params) + _params['params'] = params + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(AddMachinesResults) + async def AddMachinesV2(self, params): + ''' + params : typing.Sequence[~AddMachineParams] + Returns -> typing.Sequence[~AddMachinesResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='AddMachinesV2', + version=2, + params=_params) + _params['params'] = params + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(AgentVersionResult) + async def AgentVersion(self): + ''' + + Returns -> Number + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='AgentVersion', + version=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + + @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=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(None) + async def DestroyMachines(self, force, machine_names): + ''' + force : bool + machine_names : typing.Sequence[str] + Returns -> None + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='DestroyMachines', + version=2, + params=_params) + _params['force'] = force + _params['machine-names'] = machine_names + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(FindToolsResult) + async def FindTools(self, arch, major, minor, number, series): + ''' + arch : str + major : int + minor : int + number : Number + series : str + Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[~Tools]] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='FindTools', + version=2, + params=_params) + _params['arch'] = arch + _params['major'] = major + _params['minor'] = minor + _params['number'] = number + _params['series'] = series + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(FullStatus) + async def FullStatus(self, patterns): + ''' + patterns : typing.Sequence[str] + Returns -> typing.Union[typing.Mapping[str, ~ApplicationStatus], str, typing.Mapping[str, ~MachineStatus], _ForwardRef('ModelStatusInfo'), typing.Mapping[str, ~ApplicationOfferStatus], typing.Sequence[~RelationStatus], typing.Mapping[str, ~RemoteApplicationStatus]] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='FullStatus', + version=2, + params=_params) + _params['patterns'] = patterns + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(BundleChangesResults) + async def GetBundleChanges(self, yaml): + ''' + yaml : str + Returns -> typing.Union[typing.Sequence[~BundleChange], typing.Sequence[str]] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='GetBundleChanges', + version=2, + params=_params) + _params['yaml'] = yaml + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(GetConstraintsResults) + async def GetModelConstraints(self): + ''' + + Returns -> Value + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='GetModelConstraints', + version=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(AddMachinesResults) + async def InjectMachines(self, params): + ''' + params : typing.Sequence[~AddMachineParams] + Returns -> typing.Sequence[~AddMachinesResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='InjectMachines', + version=2, + params=_params) + _params['params'] = params + reply = await self.rpc(msg) + return reply + + + + @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=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + + @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=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(None) + async def ModelSet(self, config): + ''' + config : typing.Mapping[str, typing.Any] + Returns -> None + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='ModelSet', + version=2, + params=_params) + _params['config'] = config + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(None) + async def ModelUnset(self, keys): + ''' + keys : typing.Sequence[str] + Returns -> None + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='ModelUnset', + version=2, + params=_params) + _params['keys'] = keys + reply = await self.rpc(msg) + return reply + + + + @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=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(PrivateAddressResults) + async def PrivateAddress(self, target): + ''' + target : str + Returns -> str + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='PrivateAddress', + version=2, + params=_params) + _params['target'] = target + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(ProvisioningScriptResult) + async def ProvisioningScript(self, data_dir, disable_package_commands, machine_id, nonce): + ''' + data_dir : str + disable_package_commands : bool + machine_id : str + nonce : str + Returns -> str + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='ProvisioningScript', + version=2, + 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 + + + + @ReturnMapping(PublicAddressResults) + async def PublicAddress(self, target): + ''' + target : str + Returns -> str + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='PublicAddress', + version=2, + params=_params) + _params['target'] = target + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(ResolveCharmResults) + async def ResolveCharms(self, references): + ''' + references : typing.Sequence[str] + Returns -> typing.Sequence[~ResolveCharmResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='ResolveCharms', + version=2, + params=_params) + _params['references'] = references + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(None) + async def Resolved(self, retry, unit_name): + ''' + retry : bool + unit_name : str + Returns -> None + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='Resolved', + version=2, + params=_params) + _params['retry'] = retry + _params['unit-name'] = unit_name + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(ErrorResults) + async def RetryProvisioning(self, entities): ''' - url : str - Returns -> typing.Union[_ForwardRef('CharmActions'), typing.Mapping<~KT, +VT_co>[str, ~CharmOption]<~CharmOption>, _ForwardRef('CharmMeta'), _ForwardRef('CharmMetrics'), int, str] + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Charms', request='CharmInfo', version=2, params=_params) - _params['url'] = url + msg = dict(type='Client', + request='RetryProvisioning', + version=2, + params=_params) + _params['entities'] = entities reply = await self.rpc(msg) return reply - @ReturnMapping(IsMeteredResult) - async def IsMetered(self, url): + @ReturnMapping(StringResult) + async def SLALevel(self): ''' - url : str - Returns -> bool + + Returns -> typing.Union[_ForwardRef('Error'), str] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Charms', request='IsMetered', version=2, params=_params) - _params['url'] = url + msg = dict(type='Client', + request='SLALevel', + version=2, + params=_params) + reply = await self.rpc(msg) return reply - @ReturnMapping(CharmsListResult) - async def List(self, names): + @ReturnMapping(None) + async def SetModelAgentVersion(self, version): ''' - names : typing.Sequence<+T_co>[str] - Returns -> typing.Sequence<+T_co>[str] + version : Number + Returns -> None ''' # map input types to rpc msg _params = dict() - msg = dict(type='Charms', request='List', version=2, params=_params) - _params['names'] = names + msg = dict(type='Client', + request='SetModelAgentVersion', + version=2, + params=_params) + _params['version'] = version reply = await self.rpc(msg) return reply -class CleanerFacade(Type): - name = 'Cleaner' + @ReturnMapping(None) + async def SetModelConstraints(self, application, constraints): + ''' + application : str + constraints : Value + Returns -> None + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='SetModelConstraints', + version=2, + params=_params) + _params['application'] = application + _params['constraints'] = constraints + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(None) + async def SetSLALevel(self, creds, level): + ''' + creds : typing.Sequence[int] + level : str + Returns -> None + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='SetSLALevel', + version=2, + params=_params) + _params['creds'] = creds + _params['level'] = level + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(StatusHistoryResults) + async def StatusHistory(self, requests): + ''' + requests : typing.Sequence[~StatusHistoryRequest] + Returns -> typing.Sequence[~StatusHistoryResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='StatusHistory', + version=2, + params=_params) + _params['requests'] = requests + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(AllWatcherId) + async def WatchAll(self): + ''' + + Returns -> str + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Client', + request='WatchAll', + version=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + +class CredentialValidatorFacade(Type): + name = 'CredentialValidator' version = 2 - schema = {'definitions': {'Error': {'additionalProperties': False, + schema = {'definitions': {'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'}}, @@ -1778,27 +4226,69 @@ class CleanerFacade(Type): 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'}, 'macaroon-path': {'type': 'string'}}, 'type': 'object'}, + 'ErrorResult': {'additionalProperties': False, + 'properties': {'error': {'$ref': '#/definitions/Error'}}, + 'type': 'object'}, + 'InvalidateCredentialArg': {'additionalProperties': False, + 'properties': {'reason': {'type': 'string'}}, + 'type': 'object'}, 'Macaroon': {'additionalProperties': False, 'type': 'object'}, + 'ModelCredential': {'additionalProperties': False, + 'properties': {'credential-tag': {'type': 'string'}, + 'exists': {'type': 'boolean'}, + 'model-tag': {'type': 'string'}, + 'valid': {'type': 'boolean'}}, + 'required': ['model-tag', + 'credential-tag'], + 'type': 'object'}, 'NotifyWatchResult': {'additionalProperties': False, 'properties': {'NotifyWatcherId': {'type': 'string'}, 'error': {'$ref': '#/definitions/Error'}}, 'required': ['NotifyWatcherId'], 'type': 'object'}}, - 'properties': {'Cleanup': {'type': 'object'}, - 'WatchCleanups': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, - 'type': 'object'}}, + 'properties': {'InvalidateModelCredential': {'properties': {'Params': {'$ref': '#/definitions/InvalidateCredentialArg'}, + 'Result': {'$ref': '#/definitions/ErrorResult'}}, + 'type': 'object'}, + 'ModelCredential': {'properties': {'Result': {'$ref': '#/definitions/ModelCredential'}}, + 'type': 'object'}, + 'WatchCredential': {'properties': {'Params': {'$ref': '#/definitions/Entity'}, + 'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, + 'type': 'object'}, + 'WatchModelCredential': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, + 'type': 'object'}}, 'type': 'object'} - @ReturnMapping(None) - async def Cleanup(self): + @ReturnMapping(ErrorResult) + async def InvalidateModelCredential(self, reason): + ''' + reason : str + Returns -> Error + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='CredentialValidator', + request='InvalidateModelCredential', + version=2, + params=_params) + _params['reason'] = reason + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(ModelCredential) + async def ModelCredential(self): ''' - Returns -> None + Returns -> typing.Union[str, bool] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Cleaner', request='Cleanup', version=2, params=_params) + msg = dict(type='CredentialValidator', + request='ModelCredential', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -1806,14 +4296,35 @@ class CleanerFacade(Type): @ReturnMapping(NotifyWatchResult) - async def WatchCleanups(self): + async def WatchCredential(self, tag): + ''' + tag : str + Returns -> typing.Union[str, _ForwardRef('Error')] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='CredentialValidator', + request='WatchCredential', + version=2, + params=_params) + _params['tag'] = tag + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(NotifyWatchResult) + async def WatchModelCredential(self): ''' Returns -> typing.Union[str, _ForwardRef('Error')] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Cleaner', request='WatchCleanups', version=2, params=_params) + msg = dict(type='CredentialValidator', + request='WatchModelCredential', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -1938,12 +4449,15 @@ class DiscoverSpacesFacade(Type): @ReturnMapping(ErrorResults) async def AddSubnets(self, subnets): ''' - subnets : typing.Sequence<+T_co>[~AddSubnetParams]<~AddSubnetParams> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + subnets : typing.Sequence[~AddSubnetParams] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='DiscoverSpaces', request='AddSubnets', version=2, params=_params) + msg = dict(type='DiscoverSpaces', + request='AddSubnets', + version=2, + params=_params) _params['subnets'] = subnets reply = await self.rpc(msg) return reply @@ -1953,12 +4467,15 @@ class DiscoverSpacesFacade(Type): @ReturnMapping(ErrorResults) async def CreateSpaces(self, spaces): ''' - spaces : typing.Sequence<+T_co>[~CreateSpaceParams]<~CreateSpaceParams> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + spaces : typing.Sequence[~CreateSpaceParams] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='DiscoverSpaces', request='CreateSpaces', version=2, params=_params) + msg = dict(type='DiscoverSpaces', + request='CreateSpaces', + version=2, + params=_params) _params['spaces'] = spaces reply = await self.rpc(msg) return reply @@ -1969,11 +4486,14 @@ class DiscoverSpacesFacade(Type): async def ListSpaces(self): ''' - Returns -> typing.Sequence<+T_co>[~ProviderSpace]<~ProviderSpace> + Returns -> typing.Sequence[~ProviderSpace] ''' # map input types to rpc msg _params = dict() - msg = dict(type='DiscoverSpaces', request='ListSpaces', version=2, params=_params) + msg = dict(type='DiscoverSpaces', + request='ListSpaces', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -1985,11 +4505,14 @@ class DiscoverSpacesFacade(Type): ''' space_tag : str zone : str - Returns -> typing.Sequence<+T_co>[~Subnet]<~Subnet> + Returns -> typing.Sequence[~Subnet] ''' # map input types to rpc msg _params = dict() - msg = dict(type='DiscoverSpaces', request='ListSubnets', version=2, params=_params) + msg = dict(type='DiscoverSpaces', + request='ListSubnets', + version=2, + params=_params) _params['space-tag'] = space_tag _params['zone'] = zone reply = await self.rpc(msg) @@ -2001,11 +4524,14 @@ class DiscoverSpacesFacade(Type): async def ModelConfig(self): ''' - Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any] + Returns -> typing.Mapping[str, typing.Any] ''' # map input types to rpc msg _params = dict() - msg = dict(type='DiscoverSpaces', request='ModelConfig', version=2, params=_params) + msg = dict(type='DiscoverSpaces', + request='ModelConfig', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -2079,12 +4605,15 @@ class DiskManagerFacade(Type): @ReturnMapping(ErrorResults) async def SetMachineBlockDevices(self, machine_block_devices): ''' - machine_block_devices : typing.Sequence<+T_co>[~MachineBlockDevices]<~MachineBlockDevices> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + machine_block_devices : typing.Sequence[~MachineBlockDevices] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='DiskManager', request='SetMachineBlockDevices', version=2, params=_params) + msg = dict(type='DiskManager', + request='SetMachineBlockDevices', + version=2, + params=_params) _params['machine-block-devices'] = machine_block_devices reply = await self.rpc(msg) return reply @@ -2122,11 +4651,14 @@ class EntityWatcherFacade(Type): async def Next(self): ''' - Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')] + Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error'), str] ''' # map input types to rpc msg _params = dict() - msg = dict(type='EntityWatcher', request='Next', version=2, params=_params) + msg = dict(type='EntityWatcher', + request='Next', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -2141,7 +4673,10 @@ class EntityWatcherFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='EntityWatcher', request='Stop', version=2, params=_params) + msg = dict(type='EntityWatcher', + request='Stop', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -2186,11 +4721,14 @@ class FilesystemAttachmentsWatcherFacade(Type): async def Next(self): ''' - Returns -> typing.Union[typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>, _ForwardRef('Error')] + Returns -> typing.Union[typing.Sequence[~MachineStorageId], _ForwardRef('Error'), str] ''' # map input types to rpc msg _params = dict() - msg = dict(type='FilesystemAttachmentsWatcher', request='Next', version=2, params=_params) + msg = dict(type='FilesystemAttachmentsWatcher', + request='Next', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -2205,7 +4743,10 @@ class FilesystemAttachmentsWatcherFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='FilesystemAttachmentsWatcher', request='Stop', version=2, params=_params) + msg = dict(type='FilesystemAttachmentsWatcher', + request='Stop', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -2283,23 +4824,15 @@ class HighAvailabilityFacade(Type): 'Macaroon': {'additionalProperties': False, 'type': 'object'}, 'Member': {'additionalProperties': False, 'properties': {'Address': {'type': 'string'}, - 'Arbiter': {'type': 'boolean'}, - 'BuildIndexes': {'type': 'boolean'}, - 'Hidden': {'type': 'boolean'}, 'Id': {'type': 'integer'}, 'Priority': {'type': 'number'}, - 'SlaveDelay': {'type': 'integer'}, 'Tags': {'patternProperties': {'.*': {'type': 'string'}}, 'type': 'object'}, 'Votes': {'type': 'integer'}}, 'required': ['Id', 'Address', - 'Arbiter', - 'BuildIndexes', - 'Hidden', 'Priority', 'Tags', - 'SlaveDelay', 'Votes'], 'type': 'object'}, 'MongoUpgradeResults': {'additionalProperties': False, @@ -2343,7 +4876,9 @@ class HighAvailabilityFacade(Type): 'type': 'array'}, 'tags': {'items': {'type': 'string'}, 'type': 'array'}, - 'virt-type': {'type': 'string'}}, + 'virt-type': {'type': 'string'}, + 'zones': {'items': {'type': 'string'}, + 'type': 'array'}}, 'type': 'object'}}, 'properties': {'EnableHA': {'properties': {'Params': {'$ref': '#/definitions/ControllersSpecs'}, 'Result': {'$ref': '#/definitions/ControllersChangeResults'}}, @@ -2359,12 +4894,15 @@ class HighAvailabilityFacade(Type): @ReturnMapping(ControllersChangeResults) async def EnableHA(self, specs): ''' - specs : typing.Sequence<+T_co>[~ControllersSpec]<~ControllersSpec> - Returns -> typing.Sequence<+T_co>[~ControllersChangeResult]<~ControllersChangeResult> + specs : typing.Sequence[~ControllersSpec] + Returns -> typing.Sequence[~ControllersChangeResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='HighAvailability', request='EnableHA', version=2, params=_params) + msg = dict(type='HighAvailability', + request='EnableHA', + version=2, + params=_params) _params['specs'] = specs reply = await self.rpc(msg) return reply @@ -2374,12 +4912,15 @@ class HighAvailabilityFacade(Type): @ReturnMapping(None) async def ResumeHAReplicationAfterUpgrade(self, members): ''' - members : typing.Sequence<+T_co>[~Member]<~Member> + members : typing.Sequence[~Member] Returns -> None ''' # map input types to rpc msg _params = dict() - msg = dict(type='HighAvailability', request='ResumeHAReplicationAfterUpgrade', version=2, params=_params) + msg = dict(type='HighAvailability', + request='ResumeHAReplicationAfterUpgrade', + version=2, + params=_params) _params['members'] = members reply = await self.rpc(msg) return reply @@ -2390,11 +4931,14 @@ class HighAvailabilityFacade(Type): async def StopHAReplicationForUpgrade(self, target): ''' target : MongoVersion - Returns -> typing.Union[_ForwardRef('HAMember'), typing.Sequence<+T_co>[~Member]<~Member>] + Returns -> typing.Union[typing.Sequence[~HAMember], _ForwardRef('HAMember'), typing.Sequence[~Member]] ''' # map input types to rpc msg _params = dict() - msg = dict(type='HighAvailability', request='StopHAReplicationForUpgrade', version=2, params=_params) + msg = dict(type='HighAvailability', + request='StopHAReplicationForUpgrade', + version=2, + params=_params) _params['target'] = target reply = await self.rpc(msg) return reply @@ -2464,12 +5008,15 @@ class ImageManagerFacade(Type): @ReturnMapping(ErrorResults) async def DeleteImages(self, images): ''' - images : typing.Sequence<+T_co>[~ImageSpec]<~ImageSpec> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + images : typing.Sequence[~ImageSpec] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='ImageManager', request='DeleteImages', version=2, params=_params) + msg = dict(type='ImageManager', + request='DeleteImages', + version=2, + params=_params) _params['images'] = images reply = await self.rpc(msg) return reply @@ -2479,12 +5026,15 @@ class ImageManagerFacade(Type): @ReturnMapping(ListImageResult) async def ListImages(self, images): ''' - images : typing.Sequence<+T_co>[~ImageSpec]<~ImageSpec> - Returns -> typing.Sequence<+T_co>[~ImageMetadata]<~ImageMetadata> + images : typing.Sequence[~ImageSpec] + Returns -> typing.Sequence[~ImageMetadata] ''' # map input types to rpc msg _params = dict() - msg = dict(type='ImageManager', request='ListImages', version=2, params=_params) + msg = dict(type='ImageManager', + request='ListImages', + version=2, + params=_params) _params['images'] = images reply = await self.rpc(msg) return reply @@ -2577,12 +5127,15 @@ class ImageMetadataFacade(Type): @ReturnMapping(ErrorResults) async def Delete(self, image_ids): ''' - image_ids : typing.Sequence<+T_co>[str] - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + image_ids : typing.Sequence[str] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='ImageMetadata', request='Delete', version=2, params=_params) + msg = dict(type='ImageMetadata', + request='Delete', + version=2, + params=_params) _params['image-ids'] = image_ids reply = await self.rpc(msg) return reply @@ -2592,17 +5145,20 @@ class ImageMetadataFacade(Type): @ReturnMapping(ListCloudImageMetadataResult) async def List(self, arches, region, root_storage_type, series, stream, virt_type): ''' - arches : typing.Sequence<+T_co>[str] + arches : typing.Sequence[str] region : str root_storage_type : str - series : typing.Sequence<+T_co>[str] + series : typing.Sequence[str] stream : str virt_type : str - Returns -> typing.Sequence<+T_co>[~CloudImageMetadata]<~CloudImageMetadata> + Returns -> typing.Sequence[~CloudImageMetadata] ''' # map input types to rpc msg _params = dict() - msg = dict(type='ImageMetadata', request='List', version=2, params=_params) + msg = dict(type='ImageMetadata', + request='List', + version=2, + params=_params) _params['arches'] = arches _params['region'] = region _params['root-storage-type'] = root_storage_type @@ -2617,12 +5173,15 @@ class ImageMetadataFacade(Type): @ReturnMapping(ErrorResults) async def Save(self, metadata): ''' - metadata : typing.Sequence<+T_co>[~CloudImageMetadataList]<~CloudImageMetadataList> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + metadata : typing.Sequence[~CloudImageMetadataList] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='ImageMetadata', request='Save', version=2, params=_params) + msg = dict(type='ImageMetadata', + request='Save', + version=2, + params=_params) _params['metadata'] = metadata reply = await self.rpc(msg) return reply @@ -2637,7 +5196,10 @@ class ImageMetadataFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='ImageMetadata', request='UpdateFromPublishedImages', version=2, params=_params) + msg = dict(type='ImageMetadata', + request='UpdateFromPublishedImages', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -2700,7 +5262,10 @@ class LeadershipServiceFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='LeadershipService', request='BlockUntilLeadershipReleased', version=2, params=_params) + msg = dict(type='LeadershipService', + request='BlockUntilLeadershipReleased', + version=2, + params=_params) _params['Name'] = name reply = await self.rpc(msg) return reply @@ -2710,12 +5275,15 @@ class LeadershipServiceFacade(Type): @ReturnMapping(ClaimLeadershipBulkResults) async def ClaimLeadership(self, params): ''' - params : typing.Sequence<+T_co>[~ClaimLeadershipParams]<~ClaimLeadershipParams> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + params : typing.Sequence[~ClaimLeadershipParams] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='LeadershipService', request='ClaimLeadership', version=2, params=_params) + msg = dict(type='LeadershipService', + request='ClaimLeadership', + version=2, + params=_params) _params['params'] = params reply = await self.rpc(msg) return reply @@ -2863,12 +5431,15 @@ class MachineManagerFacade(Type): @ReturnMapping(AddMachinesResults) async def AddMachines(self, params): ''' - params : typing.Sequence<+T_co>[~AddMachineParams]<~AddMachineParams> - Returns -> typing.Sequence<+T_co>[~AddMachinesResult]<~AddMachinesResult> + params : typing.Sequence[~AddMachineParams] + Returns -> typing.Sequence[~AddMachinesResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='MachineManager', request='AddMachines', version=2, params=_params) + msg = dict(type='MachineManager', + request='AddMachines', + version=2, + params=_params) _params['params'] = params reply = await self.rpc(msg) return reply @@ -2878,12 +5449,15 @@ class MachineManagerFacade(Type): @ReturnMapping(InstanceTypesResults) async def InstanceTypes(self, constraints): ''' - constraints : typing.Sequence<+T_co>[~ModelInstanceTypesConstraint]<~ModelInstanceTypesConstraint> - Returns -> typing.Sequence<+T_co>[~InstanceTypesResult]<~InstanceTypesResult> + constraints : typing.Sequence[~ModelInstanceTypesConstraint] + Returns -> typing.Sequence[~InstanceTypesResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='MachineManager', request='InstanceTypes', version=2, params=_params) + msg = dict(type='MachineManager', + request='InstanceTypes', + version=2, + params=_params) _params['constraints'] = constraints reply = await self.rpc(msg) return reply @@ -2914,6 +5488,8 @@ class MetricsAdderFacade(Type): 'Macaroon': {'additionalProperties': False, 'type': 'object'}, 'Metric': {'additionalProperties': False, 'properties': {'key': {'type': 'string'}, + 'labels': {'patternProperties': {'.*': {'type': 'string'}}, + 'type': 'object'}, 'time': {'format': 'date-time', 'type': 'string'}, 'value': {'type': 'string'}}, @@ -2950,12 +5526,15 @@ class MetricsAdderFacade(Type): @ReturnMapping(ErrorResults) async def AddMetricBatches(self, batches): ''' - batches : typing.Sequence<+T_co>[~MetricBatchParam]<~MetricBatchParam> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + batches : typing.Sequence[~MetricBatchParam] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='MetricsAdder', request='AddMetricBatches', version=2, params=_params) + msg = dict(type='MetricsAdder', + request='AddMetricBatches', + version=2, + params=_params) _params['batches'] = batches reply = await self.rpc(msg) return reply @@ -3002,7 +5581,7 @@ class MetricsDebugFacade(Type): 'properties': {'code': {'type': 'string'}, 'info': {'type': 'string'}, 'tag': {'type': 'string'}}, - 'required': ['tag', 'code', 'info'], + 'required': ['tag', 'code'], 'type': 'object'}, 'MeterStatusParams': {'additionalProperties': False, 'properties': {'statues': {'items': {'$ref': '#/definitions/MeterStatusParam'}, @@ -3011,11 +5590,17 @@ class MetricsDebugFacade(Type): 'type': 'object'}, 'MetricResult': {'additionalProperties': False, 'properties': {'key': {'type': 'string'}, + 'labels': {'patternProperties': {'.*': {'type': 'string'}}, + 'type': 'object'}, 'time': {'format': 'date-time', 'type': 'string'}, 'unit': {'type': 'string'}, 'value': {'type': 'string'}}, - 'required': ['time', 'key', 'value', 'unit'], + 'required': ['time', + 'key', + 'value', + 'unit', + 'labels'], 'type': 'object'}, 'MetricResults': {'additionalProperties': False, 'properties': {'results': {'items': {'$ref': '#/definitions/EntityMetrics'}, @@ -3034,12 +5619,15 @@ class MetricsDebugFacade(Type): @ReturnMapping(MetricResults) async def GetMetrics(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~EntityMetrics]<~EntityMetrics> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~EntityMetrics] ''' # map input types to rpc msg _params = dict() - msg = dict(type='MetricsDebug', request='GetMetrics', version=2, params=_params) + msg = dict(type='MetricsDebug', + request='GetMetrics', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -3049,18 +5637,203 @@ class MetricsDebugFacade(Type): @ReturnMapping(ErrorResults) async def SetMeterStatus(self, statues): ''' - statues : typing.Sequence<+T_co>[~MeterStatusParam]<~MeterStatusParam> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + statues : typing.Sequence[~MeterStatusParam] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='MetricsDebug', request='SetMeterStatus', version=2, params=_params) + msg = dict(type='MetricsDebug', + request='SetMeterStatus', + version=2, + params=_params) _params['statues'] = statues reply = await self.rpc(msg) return reply +class ModelConfigFacade(Type): + name = 'ModelConfig' + version = 2 + schema = {'definitions': {'ConfigValue': {'additionalProperties': False, + 'properties': {'source': {'type': 'string'}, + 'value': {'additionalProperties': True, + 'type': 'object'}}, + 'required': ['value', 'source'], + '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'}, + 'ModelConfigResults': {'additionalProperties': False, + 'properties': {'config': {'patternProperties': {'.*': {'$ref': '#/definitions/ConfigValue'}}, + 'type': 'object'}}, + 'required': ['config'], + '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'}, + 'ModelSequencesResult': {'additionalProperties': False, + 'properties': {'sequences': {'patternProperties': {'.*': {'type': 'integer'}}, + 'type': 'object'}}, + 'required': ['sequences'], + 'type': 'object'}, + 'ModelSet': {'additionalProperties': False, + 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True, + 'type': 'object'}}, + 'type': 'object'}}, + 'required': ['config'], + 'type': 'object'}, + 'ModelUnset': {'additionalProperties': False, + 'properties': {'keys': {'items': {'type': 'string'}, + 'type': 'array'}}, + 'required': ['keys'], + 'type': 'object'}, + 'StringResult': {'additionalProperties': False, + 'properties': {'error': {'$ref': '#/definitions/Error'}, + 'result': {'type': 'string'}}, + 'required': ['result'], + 'type': 'object'}}, + 'properties': {'ModelGet': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResults'}}, + 'type': 'object'}, + 'ModelSet': {'properties': {'Params': {'$ref': '#/definitions/ModelSet'}}, + 'type': 'object'}, + 'ModelUnset': {'properties': {'Params': {'$ref': '#/definitions/ModelUnset'}}, + 'type': 'object'}, + 'SLALevel': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}}, + 'type': 'object'}, + 'Sequences': {'properties': {'Result': {'$ref': '#/definitions/ModelSequencesResult'}}, + 'type': 'object'}, + 'SetSLALevel': {'properties': {'Params': {'$ref': '#/definitions/ModelSLA'}}, + 'type': 'object'}}, + 'type': 'object'} + + + @ReturnMapping(ModelConfigResults) + async def ModelGet(self): + ''' + + Returns -> typing.Mapping[str, ~ConfigValue] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='ModelConfig', + request='ModelGet', + version=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(None) + async def ModelSet(self, config): + ''' + config : typing.Mapping[str, typing.Any] + Returns -> None + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='ModelConfig', + request='ModelSet', + version=2, + params=_params) + _params['config'] = config + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(None) + async def ModelUnset(self, keys): + ''' + keys : typing.Sequence[str] + Returns -> None + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='ModelConfig', + request='ModelUnset', + version=2, + params=_params) + _params['keys'] = keys + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(StringResult) + async def SLALevel(self): + ''' + + Returns -> typing.Union[_ForwardRef('Error'), str] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='ModelConfig', + request='SLALevel', + version=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(ModelSequencesResult) + async def Sequences(self): + ''' + + Returns -> typing.Mapping[str, int] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='ModelConfig', + request='Sequences', + version=2, + params=_params) + + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(None) + async def SetSLALevel(self, creds, level): + ''' + creds : typing.Sequence[int] + level : str + Returns -> None + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='ModelConfig', + request='SetSLALevel', + version=2, + params=_params) + _params['creds'] = creds + _params['level'] = level + reply = await self.rpc(msg) + return reply + + + class ModelManagerFacade(Type): name = 'ModelManager' version = 2 @@ -3353,16 +6126,19 @@ class ModelManagerFacade(Type): async def CreateModel(self, cloud_tag, config, credential, name, owner_tag, region): ''' cloud_tag : str - config : typing.Mapping<~KT, +VT_co>[str, typing.Any] + config : typing.Mapping[str, typing.Any] credential : str name : str owner_tag : str region : str - Returns -> typing.Union[_ForwardRef('Number'), _ForwardRef('ModelMigrationStatus'), _ForwardRef('ModelSLAInfo'), _ForwardRef('EntityStatus'), typing.Sequence<+T_co>[~ModelUserInfo]<~ModelUserInfo>] + 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='ModelManager', request='CreateModel', version=2, params=_params) + msg = dict(type='ModelManager', + request='CreateModel', + version=2, + params=_params) _params['cloud-tag'] = cloud_tag _params['config'] = config _params['credential'] = credential @@ -3377,12 +6153,15 @@ class ModelManagerFacade(Type): @ReturnMapping(ErrorResults) async def DestroyModels(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='ModelManager', request='DestroyModels', version=2, params=_params) + msg = dict(type='ModelManager', + request='DestroyModels', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -3392,12 +6171,15 @@ class ModelManagerFacade(Type): @ReturnMapping(MapResults) async def DumpModels(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~MapResult]<~MapResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~MapResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='ModelManager', request='DumpModels', version=2, params=_params) + msg = dict(type='ModelManager', + request='DumpModels', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -3407,12 +6189,15 @@ class ModelManagerFacade(Type): @ReturnMapping(MapResults) async def DumpModelsDB(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~MapResult]<~MapResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~MapResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='ModelManager', request='DumpModelsDB', version=2, params=_params) + msg = dict(type='ModelManager', + request='DumpModelsDB', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -3423,11 +6208,14 @@ class ModelManagerFacade(Type): async def ListModels(self, tag): ''' tag : str - Returns -> typing.Sequence<+T_co>[~UserModel]<~UserModel> + Returns -> typing.Sequence[~UserModel] ''' # map input types to rpc msg _params = dict() - msg = dict(type='ModelManager', request='ListModels', version=2, params=_params) + msg = dict(type='ModelManager', + request='ListModels', + version=2, + params=_params) _params['tag'] = tag reply = await self.rpc(msg) return reply @@ -3438,11 +6226,14 @@ class ModelManagerFacade(Type): async def ModelDefaults(self): ''' - Returns -> typing.Mapping<~KT, +VT_co>[str, ~ModelDefaults]<~ModelDefaults> + Returns -> typing.Mapping[str, ~ModelDefaults] ''' # map input types to rpc msg _params = dict() - msg = dict(type='ModelManager', request='ModelDefaults', version=2, params=_params) + msg = dict(type='ModelManager', + request='ModelDefaults', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -3452,12 +6243,15 @@ class ModelManagerFacade(Type): @ReturnMapping(ModelInfoResults) async def ModelInfo(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~ModelInfoResult]<~ModelInfoResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ModelInfoResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='ModelManager', request='ModelInfo', version=2, params=_params) + msg = dict(type='ModelManager', + request='ModelInfo', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -3467,58 +6261,174 @@ class ModelManagerFacade(Type): @ReturnMapping(ModelStatusResults) async def ModelStatus(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~ModelStatus]<~ModelStatus> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ModelStatus] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='ModelManager', + request='ModelStatus', + version=2, + params=_params) + _params['entities'] = entities + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(ErrorResults) + async def ModifyModelAccess(self, changes): + ''' + changes : typing.Sequence[~ModifyModelAccess] + Returns -> typing.Sequence[~ErrorResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='ModelManager', + request='ModifyModelAccess', + version=2, + params=_params) + _params['changes'] = changes + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(ErrorResults) + async def SetModelDefaults(self, config): + ''' + config : typing.Sequence[~ModelDefaultValues] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='ModelManager', request='ModelStatus', version=2, params=_params) - _params['entities'] = entities + msg = dict(type='ModelManager', + request='SetModelDefaults', + version=2, + params=_params) + _params['config'] = config reply = await self.rpc(msg) return reply @ReturnMapping(ErrorResults) - async def ModifyModelAccess(self, changes): + async def UnsetModelDefaults(self, keys): ''' - changes : typing.Sequence<+T_co>[~ModifyModelAccess]<~ModifyModelAccess> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + keys : typing.Sequence[~ModelUnsetKeys] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='ModelManager', request='ModifyModelAccess', version=2, params=_params) - _params['changes'] = changes + msg = dict(type='ModelManager', + request='UnsetModelDefaults', + version=2, + params=_params) + _params['keys'] = keys reply = await self.rpc(msg) return reply - @ReturnMapping(ErrorResults) - async def SetModelDefaults(self, config): +class ProxyUpdaterFacade(Type): + name = 'ProxyUpdater' + version = 2 + 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': {'$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'}, + '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'}, + 'ProxyConfig': {'additionalProperties': False, + 'properties': {'ftp': {'type': 'string'}, + 'http': {'type': 'string'}, + 'https': {'type': 'string'}, + 'no-proxy': {'type': 'string'}}, + 'required': ['http', + 'https', + 'ftp', + 'no-proxy'], + 'type': 'object'}, + 'ProxyConfigResult': {'additionalProperties': False, + 'properties': {'apt-proxy-settings': {'$ref': '#/definitions/ProxyConfig'}, + 'error': {'$ref': '#/definitions/Error'}, + 'juju-proxy-settings': {'$ref': '#/definitions/ProxyConfig'}, + 'legacy-proxy-settings': {'$ref': '#/definitions/ProxyConfig'}, + 'snap-proxy-settings': {'$ref': '#/definitions/ProxyConfig'}, + 'snap-store-assertions': {'type': 'string'}, + 'snap-store-id': {'type': 'string'}}, + 'required': ['legacy-proxy-settings', + 'juju-proxy-settings'], + 'type': 'object'}, + 'ProxyConfigResults': {'additionalProperties': False, + 'properties': {'results': {'items': {'$ref': '#/definitions/ProxyConfigResult'}, + 'type': 'array'}}, + 'required': ['results'], + 'type': 'object'}}, + 'properties': {'ProxyConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, + 'Result': {'$ref': '#/definitions/ProxyConfigResults'}}, + 'type': 'object'}, + 'WatchForProxyConfigAndAPIHostPortChanges': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, + 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, + 'type': 'object'}}, + 'type': 'object'} + + + @ReturnMapping(ProxyConfigResults) + async def ProxyConfig(self, entities): ''' - config : typing.Sequence<+T_co>[~ModelDefaultValues]<~ModelDefaultValues> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ProxyConfigResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='ModelManager', request='SetModelDefaults', version=2, params=_params) - _params['config'] = config + msg = dict(type='ProxyUpdater', + request='ProxyConfig', + version=2, + params=_params) + _params['entities'] = entities reply = await self.rpc(msg) return reply - @ReturnMapping(ErrorResults) - async def UnsetModelDefaults(self, keys): + @ReturnMapping(NotifyWatchResults) + async def WatchForProxyConfigAndAPIHostPortChanges(self, entities): ''' - keys : typing.Sequence<+T_co>[~ModelUnsetKeys]<~ModelUnsetKeys> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~NotifyWatchResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='ModelManager', request='UnsetModelDefaults', version=2, params=_params) - _params['keys'] = keys + msg = dict(type='ProxyUpdater', + request='WatchForProxyConfigAndAPIHostPortChanges', + version=2, + params=_params) + _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -3585,12 +6495,15 @@ class RebootFacade(Type): @ReturnMapping(ErrorResults) async def ClearReboot(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Reboot', request='ClearReboot', version=2, params=_params) + msg = dict(type='Reboot', + request='ClearReboot', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -3600,12 +6513,15 @@ class RebootFacade(Type): @ReturnMapping(RebootActionResults) async def GetRebootAction(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~RebootActionResult]<~RebootActionResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~RebootActionResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Reboot', request='GetRebootAction', version=2, params=_params) + msg = dict(type='Reboot', + request='GetRebootAction', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -3615,12 +6531,15 @@ class RebootFacade(Type): @ReturnMapping(ErrorResults) async def RequestReboot(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Reboot', request='RequestReboot', version=2, params=_params) + msg = dict(type='Reboot', + request='RequestReboot', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -3635,7 +6554,10 @@ class RebootFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='Reboot', request='WatchForRebootEvent', version=2, params=_params) + msg = dict(type='Reboot', + request='WatchForRebootEvent', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -3656,7 +6578,10 @@ class ResumerFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='Resumer', request='ResumeTransactions', version=2, params=_params) + msg = dict(type='Resumer', + request='ResumeTransactions', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -3740,12 +6665,15 @@ class SSHClientFacade(Type): @ReturnMapping(SSHAddressesResults) async def AllAddresses(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~SSHAddressesResult]<~SSHAddressesResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~SSHAddressesResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='SSHClient', request='AllAddresses', version=2, params=_params) + msg = dict(type='SSHClient', + request='AllAddresses', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -3755,12 +6683,15 @@ class SSHClientFacade(Type): @ReturnMapping(SSHAddressResults) async def PrivateAddress(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~SSHAddressResult]<~SSHAddressResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~SSHAddressResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='SSHClient', request='PrivateAddress', version=2, params=_params) + msg = dict(type='SSHClient', + request='PrivateAddress', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -3775,7 +6706,10 @@ class SSHClientFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='SSHClient', request='Proxy', version=2, params=_params) + msg = dict(type='SSHClient', + request='Proxy', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -3785,12 +6719,15 @@ class SSHClientFacade(Type): @ReturnMapping(SSHAddressResults) async def PublicAddress(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~SSHAddressResult]<~SSHAddressResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~SSHAddressResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='SSHClient', request='PublicAddress', version=2, params=_params) + msg = dict(type='SSHClient', + request='PublicAddress', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -3800,12 +6737,104 @@ class SSHClientFacade(Type): @ReturnMapping(SSHPublicKeysResults) async def PublicKeys(self, entities): ''' - entities : typing.Sequence<+T_co>[~Entity]<~Entity> - Returns -> typing.Sequence<+T_co>[~SSHPublicKeysResult]<~SSHPublicKeysResult> + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~SSHPublicKeysResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='SSHClient', + request='PublicKeys', + version=2, + params=_params) + _params['entities'] = entities + reply = await self.rpc(msg) + return reply + + + +class SingularFacade(Type): + name = 'Singular' + version = 2 + 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': {'$ref': '#/definitions/ErrorInfo'}, + 'message': {'type': 'string'}}, + 'required': ['message', 'code'], + 'type': 'object'}, + 'ErrorInfo': {'additionalProperties': False, + 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'}, + 'macaroon-path': {'type': 'string'}}, + 'type': 'object'}, + 'ErrorResult': {'additionalProperties': False, + 'properties': {'error': {'$ref': '#/definitions/Error'}}, + 'type': 'object'}, + 'ErrorResults': {'additionalProperties': False, + 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'}, + 'type': 'array'}}, + 'required': ['results'], + 'type': 'object'}, + 'Macaroon': {'additionalProperties': False, 'type': 'object'}, + 'SingularClaim': {'additionalProperties': False, + 'properties': {'claimant-tag': {'type': 'string'}, + 'duration': {'type': 'integer'}, + 'entity-tag': {'type': 'string'}}, + 'required': ['entity-tag', + 'claimant-tag', + 'duration'], + 'type': 'object'}, + 'SingularClaims': {'additionalProperties': False, + 'properties': {'claims': {'items': {'$ref': '#/definitions/SingularClaim'}, + 'type': 'array'}}, + 'required': ['claims'], + 'type': 'object'}}, + 'properties': {'Claim': {'properties': {'Params': {'$ref': '#/definitions/SingularClaims'}, + 'Result': {'$ref': '#/definitions/ErrorResults'}}, + 'type': 'object'}, + 'Wait': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, + 'Result': {'$ref': '#/definitions/ErrorResults'}}, + 'type': 'object'}}, + 'type': 'object'} + + + @ReturnMapping(ErrorResults) + async def Claim(self, claims): + ''' + claims : typing.Sequence[~SingularClaim] + Returns -> typing.Sequence[~ErrorResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='Singular', + request='Claim', + version=2, + params=_params) + _params['claims'] = claims + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(ErrorResults) + async def Wait(self, entities): + ''' + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='SSHClient', request='PublicKeys', version=2, params=_params) + msg = dict(type='Singular', + request='Wait', + version=2, + params=_params) _params['entities'] = entities reply = await self.rpc(msg) return reply @@ -3889,12 +6918,15 @@ class SpacesFacade(Type): @ReturnMapping(ErrorResults) async def CreateSpaces(self, spaces): ''' - spaces : typing.Sequence<+T_co>[~CreateSpaceParams]<~CreateSpaceParams> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + spaces : typing.Sequence[~CreateSpaceParams] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Spaces', request='CreateSpaces', version=2, params=_params) + msg = dict(type='Spaces', + request='CreateSpaces', + version=2, + params=_params) _params['spaces'] = spaces reply = await self.rpc(msg) return reply @@ -3905,11 +6937,14 @@ class SpacesFacade(Type): async def ListSpaces(self): ''' - Returns -> typing.Sequence<+T_co>[~Space]<~Space> + Returns -> typing.Sequence[~Space] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Spaces', request='ListSpaces', version=2, params=_params) + msg = dict(type='Spaces', + request='ListSpaces', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -3960,11 +6995,14 @@ class StatusHistoryFacade(Type): async def ModelConfig(self): ''' - Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any] + Returns -> typing.Mapping[str, typing.Any] ''' # map input types to rpc msg _params = dict() - msg = dict(type='StatusHistory', request='ModelConfig', version=2, params=_params) + msg = dict(type='StatusHistory', + request='ModelConfig', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -3980,7 +7018,10 @@ class StatusHistoryFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='StatusHistory', request='Prune', version=2, params=_params) + msg = dict(type='StatusHistory', + request='Prune', + version=2, + params=_params) _params['max-history-mb'] = max_history_mb _params['max-history-time'] = max_history_time reply = await self.rpc(msg) @@ -3996,7 +7037,10 @@ class StatusHistoryFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='StatusHistory', request='WatchForModelConfigChanges', version=2, params=_params) + msg = dict(type='StatusHistory', + request='WatchForModelConfigChanges', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -4103,12 +7147,15 @@ class SubnetsFacade(Type): @ReturnMapping(ErrorResults) async def AddSubnets(self, subnets): ''' - subnets : typing.Sequence<+T_co>[~AddSubnetParams]<~AddSubnetParams> - Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult> + subnets : typing.Sequence[~AddSubnetParams] + Returns -> typing.Sequence[~ErrorResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Subnets', request='AddSubnets', version=2, params=_params) + msg = dict(type='Subnets', + request='AddSubnets', + version=2, + params=_params) _params['subnets'] = subnets reply = await self.rpc(msg) return reply @@ -4119,11 +7166,14 @@ class SubnetsFacade(Type): async def AllSpaces(self): ''' - Returns -> typing.Sequence<+T_co>[~SpaceResult]<~SpaceResult> + Returns -> typing.Sequence[~SpaceResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Subnets', request='AllSpaces', version=2, params=_params) + msg = dict(type='Subnets', + request='AllSpaces', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -4134,11 +7184,14 @@ class SubnetsFacade(Type): async def AllZones(self): ''' - Returns -> typing.Sequence<+T_co>[~ZoneResult]<~ZoneResult> + Returns -> typing.Sequence[~ZoneResult] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Subnets', request='AllZones', version=2, params=_params) + msg = dict(type='Subnets', + request='AllZones', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -4150,11 +7203,14 @@ class SubnetsFacade(Type): ''' space_tag : str zone : str - Returns -> typing.Sequence<+T_co>[~Subnet]<~Subnet> + Returns -> typing.Sequence[~Subnet] ''' # map input types to rpc msg _params = dict() - msg = dict(type='Subnets', request='ListSubnets', version=2, params=_params) + msg = dict(type='Subnets', + request='ListSubnets', + version=2, + params=_params) _params['space-tag'] = space_tag _params['zone'] = zone reply = await self.rpc(msg) @@ -4162,6 +7218,254 @@ class SubnetsFacade(Type): +class UserManagerFacade(Type): + name = 'UserManager' + version = 2 + schema = {'definitions': {'AddUser': {'additionalProperties': False, + 'properties': {'display-name': {'type': 'string'}, + 'password': {'type': 'string'}, + 'username': {'type': 'string'}}, + 'required': ['username', 'display-name'], + 'type': 'object'}, + 'AddUserResult': {'additionalProperties': False, + 'properties': {'error': {'$ref': '#/definitions/Error'}, + 'secret-key': {'items': {'type': 'integer'}, + 'type': 'array'}, + 'tag': {'type': 'string'}}, + 'type': 'object'}, + 'AddUserResults': {'additionalProperties': False, + 'properties': {'results': {'items': {'$ref': '#/definitions/AddUserResult'}, + 'type': 'array'}}, + 'required': ['results'], + 'type': 'object'}, + 'AddUsers': {'additionalProperties': False, + 'properties': {'users': {'items': {'$ref': '#/definitions/AddUser'}, + 'type': 'array'}}, + 'required': ['users'], + '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': {'$ref': '#/definitions/ErrorInfo'}, + 'message': {'type': 'string'}}, + 'required': ['message', 'code'], + 'type': 'object'}, + 'ErrorInfo': {'additionalProperties': False, + 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'}, + 'macaroon-path': {'type': 'string'}}, + 'type': 'object'}, + 'ErrorResult': {'additionalProperties': False, + 'properties': {'error': {'$ref': '#/definitions/Error'}}, + 'type': 'object'}, + 'ErrorResults': {'additionalProperties': False, + 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'}, + 'type': 'array'}}, + 'required': ['results'], + 'type': 'object'}, + 'Macaroon': {'additionalProperties': False, 'type': 'object'}, + 'UserInfo': {'additionalProperties': False, + 'properties': {'access': {'type': 'string'}, + 'created-by': {'type': 'string'}, + 'date-created': {'format': 'date-time', + 'type': 'string'}, + 'disabled': {'type': 'boolean'}, + 'display-name': {'type': 'string'}, + 'last-connection': {'format': 'date-time', + 'type': 'string'}, + 'username': {'type': 'string'}}, + 'required': ['username', + 'display-name', + 'access', + 'created-by', + 'date-created', + 'disabled'], + 'type': 'object'}, + 'UserInfoRequest': {'additionalProperties': False, + 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'}, + 'type': 'array'}, + 'include-disabled': {'type': 'boolean'}}, + 'required': ['entities', + 'include-disabled'], + 'type': 'object'}, + 'UserInfoResult': {'additionalProperties': False, + 'properties': {'error': {'$ref': '#/definitions/Error'}, + 'result': {'$ref': '#/definitions/UserInfo'}}, + 'type': 'object'}, + 'UserInfoResults': {'additionalProperties': False, + 'properties': {'results': {'items': {'$ref': '#/definitions/UserInfoResult'}, + 'type': 'array'}}, + 'required': ['results'], + 'type': 'object'}}, + 'properties': {'AddUser': {'properties': {'Params': {'$ref': '#/definitions/AddUsers'}, + 'Result': {'$ref': '#/definitions/AddUserResults'}}, + 'type': 'object'}, + 'DisableUser': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, + 'Result': {'$ref': '#/definitions/ErrorResults'}}, + 'type': 'object'}, + 'EnableUser': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, + 'Result': {'$ref': '#/definitions/ErrorResults'}}, + 'type': 'object'}, + 'RemoveUser': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, + 'Result': {'$ref': '#/definitions/ErrorResults'}}, + 'type': 'object'}, + 'ResetPassword': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, + 'Result': {'$ref': '#/definitions/AddUserResults'}}, + 'type': 'object'}, + 'SetPassword': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'}, + 'Result': {'$ref': '#/definitions/ErrorResults'}}, + 'type': 'object'}, + 'UserInfo': {'properties': {'Params': {'$ref': '#/definitions/UserInfoRequest'}, + 'Result': {'$ref': '#/definitions/UserInfoResults'}}, + 'type': 'object'}}, + 'type': 'object'} + + + @ReturnMapping(AddUserResults) + async def AddUser(self, users): + ''' + users : typing.Sequence[~AddUser] + Returns -> typing.Sequence[~AddUserResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='UserManager', + request='AddUser', + version=2, + params=_params) + _params['users'] = users + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(ErrorResults) + async def DisableUser(self, entities): + ''' + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ErrorResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='UserManager', + request='DisableUser', + version=2, + params=_params) + _params['entities'] = entities + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(ErrorResults) + async def EnableUser(self, entities): + ''' + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ErrorResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='UserManager', + request='EnableUser', + version=2, + params=_params) + _params['entities'] = entities + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(ErrorResults) + async def RemoveUser(self, entities): + ''' + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~ErrorResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='UserManager', + request='RemoveUser', + version=2, + params=_params) + _params['entities'] = entities + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(AddUserResults) + async def ResetPassword(self, entities): + ''' + entities : typing.Sequence[~Entity] + Returns -> typing.Sequence[~AddUserResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='UserManager', + request='ResetPassword', + version=2, + params=_params) + _params['entities'] = entities + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(ErrorResults) + async def SetPassword(self, changes): + ''' + changes : typing.Sequence[~EntityPassword] + Returns -> typing.Sequence[~ErrorResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='UserManager', + request='SetPassword', + version=2, + params=_params) + _params['changes'] = changes + reply = await self.rpc(msg) + return reply + + + + @ReturnMapping(UserInfoResults) + async def UserInfo(self, entities, include_disabled): + ''' + entities : typing.Sequence[~Entity] + include_disabled : bool + Returns -> typing.Sequence[~UserInfoResult] + ''' + # map input types to rpc msg + _params = dict() + msg = dict(type='UserManager', + request='UserInfo', + version=2, + params=_params) + _params['entities'] = entities + _params['include-disabled'] = include_disabled + reply = await self.rpc(msg) + return reply + + + class VolumeAttachmentsWatcherFacade(Type): name = 'VolumeAttachmentsWatcher' version = 2 @@ -4200,11 +7504,14 @@ class VolumeAttachmentsWatcherFacade(Type): async def Next(self): ''' - Returns -> typing.Union[typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>, _ForwardRef('Error')] + Returns -> typing.Union[typing.Sequence[~MachineStorageId], _ForwardRef('Error'), str] ''' # map input types to rpc msg _params = dict() - msg = dict(type='VolumeAttachmentsWatcher', request='Next', version=2, params=_params) + msg = dict(type='VolumeAttachmentsWatcher', + request='Next', + version=2, + params=_params) reply = await self.rpc(msg) return reply @@ -4219,7 +7526,10 @@ class VolumeAttachmentsWatcherFacade(Type): ''' # map input types to rpc msg _params = dict() - msg = dict(type='VolumeAttachmentsWatcher', request='Stop', version=2, params=_params) + msg = dict(type='VolumeAttachmentsWatcher', + request='Stop', + version=2, + params=_params) reply = await self.rpc(msg) return reply