--- /dev/null
-
+# DO NOT CHANGE THIS FILE! This file is auto-generated by facade.py.
+# Changes will be overwritten/lost when the file is regenerated.
+
+from juju.client._definitions import *
+from juju.client.facade import ReturnMapping, Type
+
+
++class ActionPrunerFacade(Type):
++ name = 'ActionPruner'
++ version = 1
++ schema = {'definitions': {'ActionPruneArgs': {'additionalProperties': False,
++ 'properties': {'max-history-mb': {'type': 'integer'},
++ 'max-history-time': {'type': 'integer'}},
++ 'required': ['max-history-time',
++ 'max-history-mb'],
++ 'type': 'object'},
++ 'Error': {'additionalProperties': False,
++ 'properties': {'code': {'type': 'string'},
++ 'info': {'$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'},
++ 'ModelConfigResult': {'additionalProperties': False,
++ 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
++ 'type': 'object'}},
++ 'type': 'object'}},
++ 'required': ['config'],
++ 'type': 'object'},
++ 'NotifyWatchResult': {'additionalProperties': False,
++ 'properties': {'NotifyWatcherId': {'type': 'string'},
++ 'error': {'$ref': '#/definitions/Error'}},
++ 'required': ['NotifyWatcherId'],
++ 'type': 'object'}},
++ 'properties': {'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
++ 'type': 'object'},
++ 'Prune': {'properties': {'Params': {'$ref': '#/definitions/ActionPruneArgs'}},
++ 'type': 'object'},
++ 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
++ 'type': 'object'}},
++ 'type': 'object'}
++
++
++ @ReturnMapping(ModelConfigResult)
++ async def ModelConfig(self):
++ '''
++
++ Returns -> typing.Mapping[str, typing.Any]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='ActionPruner',
++ request='ModelConfig',
++ version=1,
++ params=_params)
++
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(None)
++ async def Prune(self, max_history_mb, max_history_time):
++ '''
++ max_history_mb : int
++ max_history_time : int
++ Returns -> None
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='ActionPruner',
++ request='Prune',
++ version=1,
++ params=_params)
++ _params['max-history-mb'] = max_history_mb
++ _params['max-history-time'] = max_history_time
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(NotifyWatchResult)
++ async def WatchForModelConfigChanges(self):
++ '''
++
++ Returns -> typing.Union[str, _ForwardRef('Error')]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='ActionPruner',
++ request='WatchForModelConfigChanges',
++ version=1,
++ params=_params)
++
++ reply = await self.rpc(msg)
++ return reply
++
++
++
+class AgentToolsFacade(Type):
+ name = 'AgentTools'
+ version = 1
+ schema = {'properties': {'UpdateToolsAvailable': {'type': 'object'}}, 'type': 'object'}
- msg = dict(type='AgentTools', request='UpdateToolsAvailable', version=1, params=_params)
++
+
+ @ReturnMapping(None)
+ async def UpdateToolsAvailable(self):
+ '''
+
+ Returns -> None
+ '''
+ # map input types to rpc msg
+ _params = dict()
-
++ msg = dict(type='AgentTools',
++ request='UpdateToolsAvailable',
++ version=1,
++ params=_params)
+
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+class AllWatcherFacade(Type):
+ name = 'AllWatcher'
+ version = 1
+ schema = {'definitions': {'AllWatcherNextResults': {'additionalProperties': False,
+ 'properties': {'deltas': {'items': {'$ref': '#/definitions/Delta'},
+ 'type': 'array'}},
+ 'required': ['deltas'],
+ 'type': 'object'},
+ 'Delta': {'additionalProperties': False,
+ 'properties': {'entity': {'additionalProperties': True,
+ 'type': 'object'},
+ 'removed': {'type': 'boolean'}},
+ 'required': ['removed', 'entity'],
+ 'type': 'object'}},
+ 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherNextResults'}},
+ 'type': 'object'},
+ 'Stop': {'type': 'object'}},
+ 'type': 'object'}
- Returns -> typing.Sequence<+T_co>[~Delta]<~Delta>
++
+
+ @ReturnMapping(AllWatcherNextResults)
+ async def Next(self):
+ '''
+
- msg = dict(type='AllWatcher', request='Next', version=1, params=_params)
++ Returns -> typing.Sequence[~Delta]
+ '''
+ # map input types to rpc msg
+ _params = dict()
- msg = dict(type='AllWatcher', request='Stop', version=1, params=_params)
++ msg = dict(type='AllWatcher',
++ request='Next',
++ version=1,
++ params=_params)
+
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(None)
+ async def Stop(self):
+ '''
+
+ Returns -> None
+ '''
+ # map input types to rpc msg
+ _params = dict()
-
++ msg = dict(type='AllWatcher',
++ request='Stop',
++ version=1,
++ params=_params)
+
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+class ApplicationRelationsWatcherFacade(Type):
+ name = 'ApplicationRelationsWatcher'
+ version = 1
+ schema = {'definitions': {'ApplicationRelationsChange': {'additionalProperties': False,
+ 'properties': {'changed': {'items': {'$ref': '#/definitions/RelationChange'},
+ 'type': 'array'},
+ 'removed': {'items': {'type': 'integer'},
+ 'type': 'array'}},
+ 'type': 'object'},
+ 'ApplicationRelationsWatchResult': {'additionalProperties': False,
+ 'properties': {'ApplicationRelationsWatcherId': {'type': 'string'},
+ 'changes': {'$ref': '#/definitions/ApplicationRelationsChange'},
+ 'error': {'$ref': '#/definitions/Error'}},
+ 'required': ['ApplicationRelationsWatcherId'],
+ 'type': 'object'},
+ 'Error': {'additionalProperties': False,
+ 'properties': {'code': {'type': 'string'},
+ 'info': {'$ref': '#/definitions/ErrorInfo'},
+ 'message': {'type': 'string'}},
+ 'required': ['message', 'code'],
+ 'type': 'object'},
+ 'ErrorInfo': {'additionalProperties': False,
+ 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
+ 'macaroon-path': {'type': 'string'}},
+ 'type': 'object'},
+ 'Macaroon': {'additionalProperties': False, 'type': 'object'},
+ 'RelationChange': {'additionalProperties': False,
+ 'properties': {'changedunits': {'patternProperties': {'.*': {'$ref': '#/definitions/RelationUnitChange'}},
+ 'type': 'object'},
+ 'departedunits': {'items': {'type': 'string'},
+ 'type': 'array'},
+ 'id': {'type': 'integer'},
+ 'life': {'type': 'string'}},
+ 'required': ['id', 'life'],
+ 'type': 'object'},
+ 'RelationUnitChange': {'additionalProperties': False,
+ 'properties': {'settings': {'patternProperties': {'.*': {'additionalProperties': True,
+ 'type': 'object'}},
+ 'type': 'object'}},
+ 'type': 'object'}},
+ 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/ApplicationRelationsWatchResult'}},
+ 'type': 'object'},
+ 'Stop': {'type': 'object'}},
+ 'type': 'object'}
- msg = dict(type='ApplicationRelationsWatcher', request='Next', version=1, params=_params)
++
+
+ @ReturnMapping(ApplicationRelationsWatchResult)
+ async def Next(self):
+ '''
+
+ Returns -> typing.Union[str, _ForwardRef('ApplicationRelationsChange'), _ForwardRef('Error')]
+ '''
+ # map input types to rpc msg
+ _params = dict()
- msg = dict(type='ApplicationRelationsWatcher', request='Stop', version=1, params=_params)
++ msg = dict(type='ApplicationRelationsWatcher',
++ request='Next',
++ version=1,
++ params=_params)
+
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(None)
+ async def Stop(self):
+ '''
+
+ Returns -> None
+ '''
+ # map input types to rpc msg
+ _params = dict()
-
++ msg = dict(type='ApplicationRelationsWatcher',
++ request='Stop',
++ version=1,
++ params=_params)
+
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+class ApplicationScalerFacade(Type):
+ name = 'ApplicationScaler'
+ version = 1
+ schema = {'definitions': {'Entities': {'additionalProperties': False,
+ 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
+ 'type': 'array'}},
+ 'required': ['entities'],
+ 'type': 'object'},
+ 'Entity': {'additionalProperties': False,
+ 'properties': {'tag': {'type': 'string'}},
+ 'required': ['tag'],
+ 'type': 'object'},
+ 'Error': {'additionalProperties': False,
+ 'properties': {'code': {'type': 'string'},
+ 'info': {'$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'},
+ 'StringsWatchResult': {'additionalProperties': False,
+ 'properties': {'changes': {'items': {'type': 'string'},
+ 'type': 'array'},
+ 'error': {'$ref': '#/definitions/Error'},
+ 'watcher-id': {'type': 'string'}},
+ 'required': ['watcher-id'],
+ 'type': 'object'}},
+ 'properties': {'Rescale': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
+ 'Result': {'$ref': '#/definitions/ErrorResults'}},
+ 'type': 'object'},
+ 'Watch': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
+ 'type': 'object'}},
+ 'type': 'object'}
- entities : typing.Sequence<+T_co>[~Entity]<~Entity>
- Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
++
+
+ @ReturnMapping(ErrorResults)
+ async def Rescale(self, entities):
+ '''
- msg = dict(type='ApplicationScaler', request='Rescale', version=1, params=_params)
++ entities : typing.Sequence[~Entity]
++ Returns -> typing.Sequence[~ErrorResult]
+ '''
+ # map input types to rpc msg
+ _params = dict()
- Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')]
++ msg = dict(type='ApplicationScaler',
++ request='Rescale',
++ version=1,
++ params=_params)
+ _params['entities'] = entities
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(StringsWatchResult)
+ async def Watch(self):
+ '''
+
- msg = dict(type='ApplicationScaler', request='Watch', version=1, params=_params)
++ Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error'), str]
+ '''
+ # map input types to rpc msg
+ _params = dict()
-
++ msg = dict(type='ApplicationScaler',
++ request='Watch',
++ version=1,
++ params=_params)
+
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+class BackupsFacade(Type):
+ name = 'Backups'
+ version = 1
+ schema = {'definitions': {'BackupsCreateArgs': {'additionalProperties': False,
+ 'properties': {'notes': {'type': 'string'}},
+ 'required': ['notes'],
+ 'type': 'object'},
+ 'BackupsInfoArgs': {'additionalProperties': False,
+ 'properties': {'id': {'type': 'string'}},
+ 'required': ['id'],
+ 'type': 'object'},
+ 'BackupsListArgs': {'additionalProperties': False,
+ 'type': 'object'},
+ 'BackupsListResult': {'additionalProperties': False,
+ 'properties': {'list': {'items': {'$ref': '#/definitions/BackupsMetadataResult'},
+ 'type': 'array'}},
+ 'required': ['list'],
+ 'type': 'object'},
+ 'BackupsMetadataResult': {'additionalProperties': False,
+ 'properties': {'ca-cert': {'type': 'string'},
+ 'ca-private-key': {'type': 'string'},
+ 'checksum': {'type': 'string'},
+ 'checksum-format': {'type': 'string'},
+ 'finished': {'format': 'date-time',
+ 'type': 'string'},
+ 'hostname': {'type': 'string'},
+ 'id': {'type': 'string'},
+ 'machine': {'type': 'string'},
+ 'model': {'type': 'string'},
+ 'notes': {'type': 'string'},
+ 'series': {'type': 'string'},
+ 'size': {'type': 'integer'},
+ 'started': {'format': 'date-time',
+ 'type': 'string'},
+ 'stored': {'format': 'date-time',
+ 'type': 'string'},
+ 'version': {'$ref': '#/definitions/Number'}},
+ 'required': ['id',
+ 'checksum',
+ 'checksum-format',
+ 'size',
+ 'stored',
+ 'started',
+ 'finished',
+ 'notes',
+ 'model',
+ 'machine',
+ 'hostname',
+ 'version',
+ 'series',
+ 'ca-cert',
+ 'ca-private-key'],
+ 'type': 'object'},
+ 'BackupsRemoveArgs': {'additionalProperties': False,
+ 'properties': {'id': {'type': 'string'}},
+ 'required': ['id'],
+ 'type': 'object'},
+ 'Number': {'additionalProperties': False,
+ 'properties': {'Build': {'type': 'integer'},
+ 'Major': {'type': 'integer'},
+ 'Minor': {'type': 'integer'},
+ 'Patch': {'type': 'integer'},
+ 'Tag': {'type': 'string'}},
+ 'required': ['Major',
+ 'Minor',
+ 'Tag',
+ 'Patch',
+ 'Build'],
+ 'type': 'object'},
+ 'RestoreArgs': {'additionalProperties': False,
+ 'properties': {'backup-id': {'type': 'string'}},
+ 'required': ['backup-id'],
+ 'type': 'object'}},
+ 'properties': {'Create': {'properties': {'Params': {'$ref': '#/definitions/BackupsCreateArgs'},
+ 'Result': {'$ref': '#/definitions/BackupsMetadataResult'}},
+ 'type': 'object'},
+ 'FinishRestore': {'type': 'object'},
+ 'Info': {'properties': {'Params': {'$ref': '#/definitions/BackupsInfoArgs'},
+ 'Result': {'$ref': '#/definitions/BackupsMetadataResult'}},
+ 'type': 'object'},
+ 'List': {'properties': {'Params': {'$ref': '#/definitions/BackupsListArgs'},
+ 'Result': {'$ref': '#/definitions/BackupsListResult'}},
+ 'type': 'object'},
+ 'PrepareRestore': {'type': 'object'},
+ 'Remove': {'properties': {'Params': {'$ref': '#/definitions/BackupsRemoveArgs'}},
+ 'type': 'object'},
+ 'Restore': {'properties': {'Params': {'$ref': '#/definitions/RestoreArgs'}},
+ 'type': 'object'}},
+ 'type': 'object'}
- msg = dict(type='Backups', request='Create', version=1, params=_params)
++
+
+ @ReturnMapping(BackupsMetadataResult)
+ async def Create(self, notes):
+ '''
+ notes : str
+ Returns -> typing.Union[str, int, _ForwardRef('Number')]
+ '''
+ # map input types to rpc msg
+ _params = dict()
- msg = dict(type='Backups', request='FinishRestore', version=1, params=_params)
++ msg = dict(type='Backups',
++ request='Create',
++ version=1,
++ params=_params)
+ _params['notes'] = notes
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(None)
+ async def FinishRestore(self):
+ '''
+
+ Returns -> None
+ '''
+ # map input types to rpc msg
+ _params = dict()
- msg = dict(type='Backups', request='Info', version=1, params=_params)
++ msg = dict(type='Backups',
++ request='FinishRestore',
++ version=1,
++ 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()
- Returns -> typing.Sequence<+T_co>[~BackupsMetadataResult]<~BackupsMetadataResult>
++ msg = dict(type='Backups',
++ request='Info',
++ version=1,
++ params=_params)
+ _params['id'] = id_
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(BackupsListResult)
+ async def List(self):
+ '''
+
- msg = dict(type='Backups', request='List', version=1, params=_params)
++ Returns -> typing.Sequence[~BackupsMetadataResult]
+ '''
+ # map input types to rpc msg
+ _params = dict()
- msg = dict(type='Backups', request='PrepareRestore', version=1, params=_params)
++ msg = dict(type='Backups',
++ request='List',
++ version=1,
++ 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='Remove', version=1, params=_params)
++ msg = dict(type='Backups',
++ request='PrepareRestore',
++ version=1,
++ params=_params)
+
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(None)
+ async def Remove(self, id_):
+ '''
+ id_ : str
+ Returns -> None
+ '''
+ # map input types to rpc msg
+ _params = dict()
- msg = dict(type='Backups', request='Restore', version=1, params=_params)
++ msg = dict(type='Backups',
++ request='Remove',
++ version=1,
++ 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=1,
++ params=_params)
+ _params['backup-id'] = backup_id
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+class BundleFacade(Type):
+ name = 'Bundle'
+ version = 1
+ schema = {'definitions': {'BundleChange': {'additionalProperties': False,
+ 'properties': {'args': {'items': {'additionalProperties': True,
+ 'type': 'object'},
+ 'type': 'array'},
+ 'id': {'type': 'string'},
+ 'method': {'type': 'string'},
+ 'requires': {'items': {'type': 'string'},
+ 'type': 'array'}},
+ 'required': ['id',
+ 'method',
+ 'args',
+ 'requires'],
+ 'type': 'object'},
+ 'BundleChangesParams': {'additionalProperties': False,
+ 'properties': {'yaml': {'type': 'string'}},
+ 'required': ['yaml'],
+ 'type': 'object'},
+ 'BundleChangesResults': {'additionalProperties': False,
+ 'properties': {'changes': {'items': {'$ref': '#/definitions/BundleChange'},
+ 'type': 'array'},
+ 'errors': {'items': {'type': 'string'},
+ 'type': 'array'}},
+ 'type': 'object'}},
+ 'properties': {'GetChanges': {'properties': {'Params': {'$ref': '#/definitions/BundleChangesParams'},
+ 'Result': {'$ref': '#/definitions/BundleChangesResults'}},
+ 'type': 'object'}},
+ 'type': 'object'}
- Returns -> typing.Sequence<+T_co>[~BundleChange]<~BundleChange>
++
+
+ @ReturnMapping(BundleChangesResults)
+ async def GetChanges(self, yaml):
+ '''
+ yaml : str
- msg = dict(type='Bundle', request='GetChanges', version=1, params=_params)
++ Returns -> typing.Union[typing.Sequence[~BundleChange], typing.Sequence[str]]
+ '''
+ # map input types to rpc msg
+ _params = dict()
- class ClientFacade(Type):
- name = 'Client'
++ msg = dict(type='Bundle',
++ request='GetChanges',
++ version=1,
++ params=_params)
+ _params['yaml'] = yaml
+ reply = await self.rpc(msg)
+ return reply
+
+
+
- schema = {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
- 'properties': {'servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
- 'type': 'array'},
- 'type': 'array'}},
- 'required': ['servers'],
- 'type': 'object'},
- 'AddCharm': {'additionalProperties': False,
- 'properties': {'channel': {'type': 'string'},
- 'url': {'type': 'string'}},
- 'required': ['url', 'channel'],
- 'type': 'object'},
- 'AddCharmWithAuthorization': {'additionalProperties': False,
- 'properties': {'channel': {'type': 'string'},
- 'macaroon': {'$ref': '#/definitions/Macaroon'},
- 'url': {'type': 'string'}},
- 'required': ['url',
- 'channel',
- 'macaroon'],
- 'type': 'object'},
- 'AddMachineParams': {'additionalProperties': False,
- 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'},
- 'type': 'array'},
- 'constraints': {'$ref': '#/definitions/Value'},
- 'container-type': {'type': 'string'},
- 'disks': {'items': {'$ref': '#/definitions/Constraints'},
- 'type': 'array'},
- 'hardware-characteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
- 'instance-id': {'type': 'string'},
- 'jobs': {'items': {'type': 'string'},
- 'type': 'array'},
- 'nonce': {'type': 'string'},
- 'parent-id': {'type': 'string'},
- 'placement': {'$ref': '#/definitions/Placement'},
- 'series': {'type': 'string'}},
- 'required': ['series',
- 'constraints',
- 'jobs',
- 'parent-id',
- 'container-type',
- 'instance-id',
- 'nonce',
- 'hardware-characteristics',
- 'addresses'],
- 'type': 'object'},
- 'AddMachines': {'additionalProperties': False,
- 'properties': {'params': {'items': {'$ref': '#/definitions/AddMachineParams'},
- 'type': 'array'}},
- 'required': ['params'],
- 'type': 'object'},
- 'AddMachinesResult': {'additionalProperties': False,
- 'properties': {'error': {'$ref': '#/definitions/Error'},
- 'machine': {'type': 'string'}},
- 'required': ['machine'],
- 'type': 'object'},
- 'AddMachinesResults': {'additionalProperties': False,
- 'properties': {'machines': {'items': {'$ref': '#/definitions/AddMachinesResult'},
- 'type': 'array'}},
- 'required': ['machines'],
- 'type': 'object'},
- 'Address': {'additionalProperties': False,
- 'properties': {'scope': {'type': 'string'},
- 'space-name': {'type': 'string'},
- 'type': {'type': 'string'},
- 'value': {'type': 'string'}},
- 'required': ['value', 'type', 'scope'],
- 'type': 'object'},
- 'AgentVersionResult': {'additionalProperties': False,
- 'properties': {'version': {'$ref': '#/definitions/Number'}},
- 'required': ['version'],
- 'type': 'object'},
- 'AllWatcherId': {'additionalProperties': False,
- 'properties': {'watcher-id': {'type': 'string'}},
- 'required': ['watcher-id'],
- 'type': 'object'},
- 'ApplicationStatus': {'additionalProperties': False,
- 'properties': {'can-upgrade-to': {'type': 'string'},
- 'charm': {'type': 'string'},
- 'err': {'additionalProperties': True,
++class CAASAgentFacade(Type):
++ name = 'CAASAgent'
+ version = 1
- 'exposed': {'type': 'boolean'},
- 'life': {'type': 'string'},
- 'meter-statuses': {'patternProperties': {'.*': {'$ref': '#/definitions/MeterStatus'}},
- 'type': 'object'},
- 'relations': {'patternProperties': {'.*': {'items': {'type': 'string'},
- 'type': 'array'}},
- 'type': 'object'},
- 'series': {'type': 'string'},
- 'status': {'$ref': '#/definitions/DetailedStatus'},
- 'subordinate-to': {'items': {'type': 'string'},
- 'type': 'array'},
- 'units': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitStatus'}},
- 'type': 'object'},
- 'workload-version': {'type': 'string'}},
- 'required': ['charm',
- 'series',
- 'exposed',
- 'life',
- 'relations',
- 'can-upgrade-to',
- 'subordinate-to',
- 'units',
- 'meter-statuses',
- 'status',
- 'workload-version'],
- 'type': 'object'},
- 'Binary': {'additionalProperties': False,
- 'properties': {'Arch': {'type': 'string'},
- 'Number': {'$ref': '#/definitions/Number'},
- 'Series': {'type': 'string'}},
- 'required': ['Number', 'Series', 'Arch'],
++ schema = {'definitions': {'CloudCredential': {'additionalProperties': False,
++ 'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}},
+ 'type': 'object'},
- 'BundleChange': {'additionalProperties': False,
- 'properties': {'args': {'items': {'additionalProperties': True,
- 'type': 'object'},
- 'type': 'array'},
- 'id': {'type': 'string'},
- 'method': {'type': 'string'},
- 'requires': {'items': {'type': 'string'},
- 'type': 'array'}},
- 'required': ['id',
- 'method',
- 'args',
- 'requires'],
- 'type': 'object'},
- 'BundleChangesParams': {'additionalProperties': False,
- 'properties': {'yaml': {'type': 'string'}},
- 'required': ['yaml'],
- 'type': 'object'},
- 'BundleChangesResults': {'additionalProperties': False,
- 'properties': {'changes': {'items': {'$ref': '#/definitions/BundleChange'},
- 'type': 'array'},
- 'errors': {'items': {'type': 'string'},
- 'type': 'array'}},
- 'type': 'object'},
- 'BytesResult': {'additionalProperties': False,
- 'properties': {'result': {'items': {'type': 'integer'},
- 'type': 'array'}},
- 'required': ['result'],
++ 'auth-type': {'type': 'string'},
++ 'redacted': {'items': {'type': 'string'},
++ 'type': 'array'}},
++ 'required': ['auth-type'],
++ 'type': 'object'},
++ 'CloudSpec': {'additionalProperties': False,
++ 'properties': {'cacertificates': {'items': {'type': 'string'},
++ 'type': 'array'},
++ 'credential': {'$ref': '#/definitions/CloudCredential'},
++ 'endpoint': {'type': 'string'},
++ 'identity-endpoint': {'type': 'string'},
++ 'name': {'type': 'string'},
++ 'region': {'type': 'string'},
++ 'storage-endpoint': {'type': 'string'},
++ 'type': {'type': 'string'}},
++ 'required': ['type', 'name'],
++ 'type': 'object'},
++ 'CloudSpecResult': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'},
++ 'result': {'$ref': '#/definitions/CloudSpec'}},
++ 'type': 'object'},
++ 'CloudSpecResults': {'additionalProperties': False,
++ 'properties': {'results': {'items': {'$ref': '#/definitions/CloudSpecResult'},
++ 'type': 'array'}},
++ 'type': 'object'},
++ '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'},
- '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'],
++ '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'},
++ 'ModelConfigResult': {'additionalProperties': False,
++ 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
++ 'type': 'object'}},
++ 'type': 'object'}},
++ 'required': ['config'],
++ 'type': 'object'},
++ 'ModelTag': {'additionalProperties': False, 'type': 'object'},
++ 'NotifyWatchResult': {'additionalProperties': False,
++ 'properties': {'NotifyWatcherId': {'type': 'string'},
++ 'error': {'$ref': '#/definitions/Error'}},
++ 'required': ['NotifyWatcherId'],
++ 'type': 'object'}},
++ 'properties': {'CloudSpec': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
++ 'Result': {'$ref': '#/definitions/CloudSpecResults'}},
++ 'type': 'object'},
++ 'GetCloudSpec': {'properties': {'Params': {'$ref': '#/definitions/ModelTag'},
++ 'Result': {'$ref': '#/definitions/CloudSpecResult'}},
+ '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,
++ 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
++ 'type': 'object'},
++ 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
++ 'type': 'object'}},
++ 'type': 'object'}
++
++
++ @ReturnMapping(CloudSpecResults)
++ async def CloudSpec(self, entities):
++ '''
++ entities : typing.Sequence[~Entity]
++ Returns -> typing.Sequence[~CloudSpecResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASAgent',
++ request='CloudSpec',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(CloudSpecResult)
++ async def GetCloudSpec(self):
++ '''
++
++ Returns -> typing.Union[_ForwardRef('Error'), _ForwardRef('CloudSpec')]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASAgent',
++ request='GetCloudSpec',
++ version=1,
++ params=_params)
++
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(ModelConfigResult)
++ async def ModelConfig(self):
++ '''
++
++ Returns -> typing.Mapping[str, typing.Any]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASAgent',
++ request='ModelConfig',
++ version=1,
++ params=_params)
++
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(NotifyWatchResult)
++ async def WatchForModelConfigChanges(self):
++ '''
++
++ Returns -> typing.Union[str, _ForwardRef('Error')]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASAgent',
++ request='WatchForModelConfigChanges',
++ version=1,
++ params=_params)
++
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++class CAASFirewallerFacade(Type):
++ name = 'CAASFirewaller'
++ version = 1
++ schema = {'definitions': {'ApplicationGetConfigResults': {'additionalProperties': False,
++ 'properties': {'Results': {'items': {'$ref': '#/definitions/ConfigResult'},
++ 'type': 'array'}},
++ 'required': ['Results'],
++ 'type': 'object'},
++ 'BoolResult': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'},
++ 'result': {'type': 'boolean'}},
++ 'required': ['result'],
++ 'type': 'object'},
++ 'BoolResults': {'additionalProperties': False,
++ 'properties': {'results': {'items': {'$ref': '#/definitions/BoolResult'},
++ 'type': 'array'}},
++ 'required': ['results'],
+ 'type': 'object'},
- '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'},
++ 'ConfigResult': {'additionalProperties': False,
++ 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
+ 'type': 'object'}},
+ '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': {'$ref': '#/definitions/Error'}},
++ 'required': ['config'],
++ 'type': 'object'},
+ 'Entities': {'additionalProperties': False,
+ 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
+ 'type': 'array'}},
+ 'required': ['entities'],
+ 'type': 'object'},
+ 'Entity': {'additionalProperties': False,
+ 'properties': {'tag': {'type': 'string'}},
+ 'required': ['tag'],
+ 'type': 'object'},
- 'ErrorResult': {'additionalProperties': False,
- 'properties': {'error': {'$ref': '#/definitions/Error'}},
- 'type': 'object'},
- 'ErrorResults': {'additionalProperties': False,
- 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
- 'type': 'array'}},
- 'required': ['results'],
- 'type': 'object'},
- 'FindToolsParams': {'additionalProperties': False,
- 'properties': {'arch': {'type': 'string'},
- 'major': {'type': 'integer'},
- 'minor': {'type': 'integer'},
- 'number': {'$ref': '#/definitions/Number'},
- 'series': {'type': 'string'}},
- 'required': ['number',
- 'major',
- 'minor',
- 'arch',
- 'series'],
- 'type': 'object'},
- 'FindToolsResult': {'additionalProperties': False,
- 'properties': {'error': {'$ref': '#/definitions/Error'},
- 'list': {'items': {'$ref': '#/definitions/Tools'},
- 'type': 'array'}},
- 'required': ['list'],
- 'type': 'object'},
- 'FullStatus': {'additionalProperties': False,
- 'properties': {'applications': {'patternProperties': {'.*': {'$ref': '#/definitions/ApplicationStatus'}},
- 'type': 'object'},
- 'machines': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}},
- 'type': 'object'},
- 'model': {'$ref': '#/definitions/ModelStatusInfo'},
- 'relations': {'items': {'$ref': '#/definitions/RelationStatus'},
- 'type': 'array'},
- 'remote-applications': {'patternProperties': {'.*': {'$ref': '#/definitions/RemoteApplicationStatus'}},
- 'type': 'object'}},
- 'required': ['model',
- 'machines',
- 'applications',
- 'remote-applications',
- 'relations'],
+ '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'},
- 'GetConstraintsResults': {'additionalProperties': False,
- 'properties': {'constraints': {'$ref': '#/definitions/Value'}},
- 'required': ['constraints'],
- 'type': 'object'},
- 'HardwareCharacteristics': {'additionalProperties': False,
- 'properties': {'arch': {'type': 'string'},
- 'availability-zone': {'type': 'string'},
- 'cpu-cores': {'type': 'integer'},
- 'cpu-power': {'type': 'integer'},
- 'mem': {'type': 'integer'},
- 'root-disk': {'type': 'integer'},
- 'tags': {'items': {'type': 'string'},
- 'type': 'array'}},
- 'type': 'object'},
- 'History': {'additionalProperties': False,
- 'properties': {'error': {'$ref': '#/definitions/Error'},
- 'statuses': {'items': {'$ref': '#/definitions/DetailedStatus'},
- 'type': 'array'}},
- 'required': ['statuses'],
- 'type': 'object'},
- 'HostPort': {'additionalProperties': False,
- 'properties': {'Address': {'$ref': '#/definitions/Address'},
- 'port': {'type': 'integer'}},
- 'required': ['Address', 'port'],
- 'type': 'object'},
- 'Macaroon': {'additionalProperties': False, 'type': 'object'},
- 'MachineHardware': {'additionalProperties': False,
- 'properties': {'arch': {'type': 'string'},
- 'availability-zone': {'type': 'string'},
- 'cores': {'type': 'integer'},
- 'cpu-power': {'type': 'integer'},
- 'mem': {'type': 'integer'},
- 'root-disk': {'type': 'integer'},
- 'tags': {'items': {'type': 'string'},
- 'type': 'array'}},
- 'type': 'object'},
- 'MachineStatus': {'additionalProperties': False,
- 'properties': {'agent-status': {'$ref': '#/definitions/DetailedStatus'},
- 'constraints': {'type': 'string'},
- 'containers': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}},
- 'type': 'object'},
- 'dns-name': {'type': 'string'},
- 'hardware': {'type': 'string'},
- 'has-vote': {'type': 'boolean'},
- 'id': {'type': 'string'},
- 'instance-id': {'type': 'string'},
- 'instance-status': {'$ref': '#/definitions/DetailedStatus'},
- 'ip-addresses': {'items': {'type': 'string'},
- 'type': 'array'},
- 'jobs': {'items': {'type': 'string'},
- 'type': 'array'},
- 'network-interfaces': {'patternProperties': {'.*': {'$ref': '#/definitions/NetworkInterface'}},
- 'type': 'object'},
- 'series': {'type': 'string'},
- 'wants-vote': {'type': 'boolean'}},
- 'required': ['agent-status',
- 'instance-status',
- 'dns-name',
- 'instance-id',
- 'series',
- 'id',
- 'containers',
- 'constraints',
- 'hardware',
- 'jobs',
- 'has-vote',
- 'wants-vote'],
- 'type': 'object'},
- 'MeterStatus': {'additionalProperties': False,
- 'properties': {'color': {'type': 'string'},
- 'message': {'type': 'string'}},
- 'required': ['color', 'message'],
++ 'LifeResult': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'},
++ 'life': {'type': 'string'}},
++ 'required': ['life'],
+ 'type': 'object'},
- 'ModelConfigResults': {'additionalProperties': False,
- 'properties': {'config': {'patternProperties': {'.*': {'$ref': '#/definitions/ConfigValue'}},
- 'type': 'object'}},
- 'required': ['config'],
++ 'LifeResults': {'additionalProperties': False,
++ 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
++ 'type': 'array'}},
++ 'required': ['results'],
+ 'type': 'object'},
- 'ModelInfo': {'additionalProperties': False,
- 'properties': {'agent-version': {'$ref': '#/definitions/Number'},
- 'cloud-credential-tag': {'type': 'string'},
- 'cloud-region': {'type': 'string'},
- 'cloud-tag': {'type': 'string'},
- 'controller-uuid': {'type': 'string'},
- 'default-series': {'type': 'string'},
- 'life': {'type': 'string'},
- 'machines': {'items': {'$ref': '#/definitions/ModelMachineInfo'},
- 'type': 'array'},
- 'migration': {'$ref': '#/definitions/ModelMigrationStatus'},
- 'name': {'type': 'string'},
- 'owner-tag': {'type': 'string'},
- 'provider-type': {'type': 'string'},
- 'sla': {'$ref': '#/definitions/ModelSLAInfo'},
- 'status': {'$ref': '#/definitions/EntityStatus'},
- 'users': {'items': {'$ref': '#/definitions/ModelUserInfo'},
- 'type': 'array'},
- 'uuid': {'type': 'string'}},
- 'required': ['name',
- 'uuid',
- 'controller-uuid',
- 'cloud-tag',
- 'owner-tag',
- 'life',
- 'users',
- 'machines',
- 'sla',
- 'agent-version'],
- 'type': 'object'},
- 'ModelMachineInfo': {'additionalProperties': False,
- 'properties': {'hardware': {'$ref': '#/definitions/MachineHardware'},
- 'has-vote': {'type': 'boolean'},
- 'id': {'type': 'string'},
- 'instance-id': {'type': 'string'},
- 'status': {'type': 'string'},
- 'wants-vote': {'type': 'boolean'}},
- 'required': ['id'],
++ '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'},
- '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'],
++ 'StringsWatchResult': {'additionalProperties': False,
++ 'properties': {'changes': {'items': {'type': 'string'},
++ 'type': 'array'},
++ 'error': {'$ref': '#/definitions/Error'},
++ 'watcher-id': {'type': 'string'}},
++ 'required': ['watcher-id'],
++ 'type': 'object'}},
++ 'properties': {'ApplicationsConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
++ 'Result': {'$ref': '#/definitions/ApplicationGetConfigResults'}},
++ 'type': 'object'},
++ 'IsExposed': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
++ 'Result': {'$ref': '#/definitions/BoolResults'}},
++ 'type': 'object'},
++ 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
++ 'Result': {'$ref': '#/definitions/LifeResults'}},
++ 'type': 'object'},
++ 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
++ 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
++ 'type': 'object'},
++ 'WatchApplications': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
++ 'type': 'object'}},
++ 'type': 'object'}
++
++
++ @ReturnMapping(ApplicationGetConfigResults)
++ async def ApplicationsConfig(self, entities):
++ '''
++ entities : typing.Sequence[~Entity]
++ Returns -> typing.Sequence[~ConfigResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASFirewaller',
++ request='ApplicationsConfig',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(BoolResults)
++ async def IsExposed(self, entities):
++ '''
++ entities : typing.Sequence[~Entity]
++ Returns -> typing.Sequence[~BoolResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASFirewaller',
++ request='IsExposed',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(LifeResults)
++ async def Life(self, entities):
++ '''
++ entities : typing.Sequence[~Entity]
++ Returns -> typing.Sequence[~LifeResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASFirewaller',
++ request='Life',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(NotifyWatchResults)
++ async def Watch(self, entities):
++ '''
++ entities : typing.Sequence[~Entity]
++ Returns -> typing.Sequence[~NotifyWatchResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASFirewaller',
++ request='Watch',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(StringsWatchResult)
++ async def WatchApplications(self):
++ '''
++
++ Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error'), str]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASFirewaller',
++ request='WatchApplications',
++ version=1,
++ params=_params)
++
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++class CAASOperatorFacade(Type):
++ name = 'CAASOperator'
++ version = 1
++ schema = {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
++ 'properties': {'servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
++ 'type': 'array'},
++ 'type': 'array'}},
++ 'required': ['servers'],
++ 'type': 'object'},
++ 'Address': {'additionalProperties': False,
++ 'properties': {'scope': {'type': 'string'},
++ 'space-name': {'type': 'string'},
++ 'type': {'type': 'string'},
++ 'value': {'type': 'string'}},
++ 'required': ['value', 'type', 'scope'],
++ 'type': 'object'},
++ 'ApplicationCharm': {'additionalProperties': False,
++ 'properties': {'charm-modified-version': {'type': 'integer'},
++ 'force-upgrade': {'type': 'boolean'},
++ 'sha256': {'type': 'string'},
++ 'url': {'type': 'string'}},
++ 'required': ['url',
++ 'sha256',
++ 'charm-modified-version'],
+ 'type': 'object'},
- 'ModelSLAInfo': {'additionalProperties': False,
- 'properties': {'level': {'type': 'string'},
- 'owner': {'type': 'string'}},
- 'required': ['level', 'owner'],
++ 'ApplicationCharmResult': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'},
++ 'result': {'$ref': '#/definitions/ApplicationCharm'}},
++ 'type': 'object'},
++ 'ApplicationCharmResults': {'additionalProperties': False,
++ 'properties': {'results': {'items': {'$ref': '#/definitions/ApplicationCharmResult'},
++ 'type': 'array'}},
++ 'required': ['results'],
++ 'type': 'object'},
++ 'Binary': {'additionalProperties': False,
++ 'properties': {'Arch': {'type': 'string'},
++ 'Number': {'$ref': '#/definitions/Number'},
++ 'Series': {'type': 'string'}},
++ 'required': ['Number', 'Series', 'Arch'],
++ 'type': 'object'},
++ 'Entities': {'additionalProperties': False,
++ 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
++ 'type': 'array'}},
++ 'required': ['entities'],
+ 'type': 'object'},
- 'ModelSet': {'additionalProperties': False,
- 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
- 'type': 'object'}},
- 'type': 'object'}},
- 'required': ['config'],
++ 'EntitiesVersion': {'additionalProperties': False,
++ 'properties': {'agent-tools': {'items': {'$ref': '#/definitions/EntityVersion'},
++ 'type': 'array'}},
++ 'required': ['agent-tools'],
++ 'type': 'object'},
++ 'Entity': {'additionalProperties': False,
++ 'properties': {'tag': {'type': 'string'}},
++ 'required': ['tag'],
++ 'type': 'object'},
++ 'EntityStatusArgs': {'additionalProperties': False,
++ 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
++ 'type': 'object'}},
++ 'type': 'object'},
++ 'info': {'type': 'string'},
++ 'status': {'type': 'string'},
++ 'tag': {'type': 'string'}},
++ 'required': ['tag',
++ 'status',
++ 'info',
++ 'data'],
++ 'type': 'object'},
++ 'EntityString': {'additionalProperties': False,
++ 'properties': {'tag': {'type': 'string'},
++ 'value': {'type': 'string'}},
++ 'required': ['tag', 'value'],
+ 'type': 'object'},
- 'ModelStatusInfo': {'additionalProperties': False,
- 'properties': {'available-version': {'type': 'string'},
- 'cloud-tag': {'type': 'string'},
- 'meter-status': {'$ref': '#/definitions/MeterStatus'},
- 'model-status': {'$ref': '#/definitions/DetailedStatus'},
- 'name': {'type': 'string'},
- 'region': {'type': 'string'},
- 'sla': {'type': 'string'},
- 'version': {'type': 'string'}},
- 'required': ['name',
- 'cloud-tag',
- 'version',
- 'available-version',
- 'model-status',
- 'meter-status',
- 'sla'],
- 'type': 'object'},
- 'ModelUnset': {'additionalProperties': False,
- 'properties': {'keys': {'items': {'type': 'string'},
- 'type': 'array'}},
- 'required': ['keys'],
++ 'EntityVersion': {'additionalProperties': False,
++ 'properties': {'tag': {'type': 'string'},
++ 'tools': {'$ref': '#/definitions/Version'}},
++ 'required': ['tag', 'tools'],
++ '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'},
++ 'HostPort': {'additionalProperties': False,
++ 'properties': {'Address': {'$ref': '#/definitions/Address'},
++ 'port': {'type': 'integer'}},
++ 'required': ['Address', 'port'],
+ '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'},
++ 'LifeResult': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'},
++ 'life': {'type': 'string'}},
++ 'required': ['life'],
+ 'type': 'object'},
- 'Placement': {'additionalProperties': False,
- 'properties': {'directive': {'type': 'string'},
- 'scope': {'type': 'string'}},
- 'required': ['scope', 'directive'],
++ 'LifeResults': {'additionalProperties': False,
++ 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
++ 'type': 'array'}},
++ 'required': ['results'],
++ 'type': 'object'},
++ 'Macaroon': {'additionalProperties': False, 'type': 'object'},
++ 'ModelResult': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'},
++ 'name': {'type': 'string'},
++ 'type': {'type': 'string'},
++ 'uuid': {'type': 'string'}},
++ 'required': ['name', 'uuid', 'type'],
++ 'type': 'object'},
++ 'NotifyWatchResult': {'additionalProperties': False,
++ 'properties': {'NotifyWatcherId': {'type': 'string'},
++ 'error': {'$ref': '#/definitions/Error'}},
++ 'required': ['NotifyWatcherId'],
++ 'type': 'object'},
++ 'NotifyWatchResults': {'additionalProperties': False,
++ 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
++ 'type': 'array'}},
++ 'required': ['results'],
++ 'type': 'object'},
+ 'Number': {'additionalProperties': False,
+ 'properties': {'Build': {'type': 'integer'},
+ 'Major': {'type': 'integer'},
+ 'Minor': {'type': 'integer'},
+ 'Patch': {'type': 'integer'},
+ 'Tag': {'type': 'string'}},
+ 'required': ['Major',
+ 'Minor',
+ 'Tag',
+ 'Patch',
+ 'Build'],
+ 'type': 'object'},
- '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'],
++ 'SetPodSpecParams': {'additionalProperties': False,
++ 'properties': {'specs': {'items': {'$ref': '#/definitions/EntityString'},
++ 'type': 'array'}},
++ 'required': ['specs'],
++ 'type': 'object'},
++ 'SetStatus': {'additionalProperties': False,
++ 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
++ 'type': 'array'}},
++ 'required': ['entities'],
+ 'type': 'object'},
- 'PublicAddressResults': {'additionalProperties': False,
- 'properties': {'public-address': {'type': 'string'}},
- 'required': ['public-address'],
- 'type': 'object'},
- 'RelationStatus': {'additionalProperties': False,
- 'properties': {'endpoints': {'items': {'$ref': '#/definitions/EndpointStatus'},
- 'type': 'array'},
- 'id': {'type': 'integer'},
- 'interface': {'type': 'string'},
- 'key': {'type': 'string'},
- 'scope': {'type': 'string'}},
- 'required': ['id',
- 'key',
- 'interface',
- 'scope',
- 'endpoints'],
- 'type': 'object'},
- 'RemoteApplicationStatus': {'additionalProperties': False,
- 'properties': {'application-name': {'type': 'string'},
- 'application-url': {'type': 'string'},
- 'endpoints': {'items': {'$ref': '#/definitions/RemoteEndpoint'},
- 'type': 'array'},
- 'err': {'additionalProperties': True,
- 'type': 'object'},
- 'life': {'type': 'string'},
- 'relations': {'patternProperties': {'.*': {'items': {'type': 'string'},
- 'type': 'array'}},
- 'type': 'object'},
- 'status': {'$ref': '#/definitions/DetailedStatus'}},
- 'required': ['application-url',
- 'application-name',
- 'endpoints',
- 'life',
- 'relations',
- 'status'],
- 'type': 'object'},
- 'RemoteEndpoint': {'additionalProperties': False,
- 'properties': {'interface': {'type': 'string'},
- 'limit': {'type': 'integer'},
- 'name': {'type': 'string'},
- 'role': {'type': 'string'},
- 'scope': {'type': 'string'}},
- 'required': ['name',
- 'role',
- 'interface',
- 'limit',
- 'scope'],
- 'type': 'object'},
- 'ResolveCharmResult': {'additionalProperties': False,
- 'properties': {'error': {'type': 'string'},
- 'url': {'type': 'string'}},
++ 'StringResult': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'},
++ 'result': {'type': 'string'}},
++ 'required': ['result'],
++ 'type': 'object'},
++ 'StringsResult': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'},
++ 'result': {'items': {'type': 'string'},
++ 'type': 'array'}},
+ 'type': 'object'},
- 'ResolveCharmResults': {'additionalProperties': False,
- 'properties': {'urls': {'items': {'$ref': '#/definitions/ResolveCharmResult'},
- 'type': 'array'}},
- 'required': ['urls'],
++ 'StringsWatchResult': {'additionalProperties': False,
++ 'properties': {'changes': {'items': {'type': 'string'},
++ 'type': 'array'},
++ 'error': {'$ref': '#/definitions/Error'},
++ 'watcher-id': {'type': 'string'}},
++ 'required': ['watcher-id'],
+ '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'],
++ 'StringsWatchResults': {'additionalProperties': False,
++ 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
++ 'type': 'array'}},
++ 'required': ['results'],
+ 'type': 'object'},
- 'SetConstraints': {'additionalProperties': False,
- 'properties': {'application': {'type': 'string'},
- 'constraints': {'$ref': '#/definitions/Value'}},
- 'required': ['application', 'constraints'],
- 'type': 'object'},
- 'SetModelAgentVersion': {'additionalProperties': False,
- 'properties': {'version': {'$ref': '#/definitions/Number'}},
- 'required': ['version'],
- 'type': 'object'},
- 'StatusHistoryFilter': {'additionalProperties': False,
- 'properties': {'date': {'format': 'date-time',
- 'type': 'string'},
- 'delta': {'type': 'integer'},
- 'exclude': {'items': {'type': 'string'},
- 'type': 'array'},
- 'size': {'type': 'integer'}},
- 'required': ['size',
- 'date',
- 'delta',
- 'exclude'],
- 'type': 'object'},
- 'StatusHistoryRequest': {'additionalProperties': False,
- 'properties': {'filter': {'$ref': '#/definitions/StatusHistoryFilter'},
- 'historyKind': {'type': 'string'},
- 'size': {'type': 'integer'},
- 'tag': {'type': 'string'}},
- 'required': ['historyKind',
- 'size',
- 'filter',
- 'tag'],
- 'type': 'object'},
- 'StatusHistoryRequests': {'additionalProperties': False,
- 'properties': {'requests': {'items': {'$ref': '#/definitions/StatusHistoryRequest'},
- 'type': 'array'}},
- 'required': ['requests'],
++ 'Version': {'additionalProperties': False,
++ 'properties': {'version': {'$ref': '#/definitions/Binary'}},
++ 'required': ['version'],
++ 'type': 'object'}},
++ 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
++ 'type': 'object'},
++ 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
++ 'type': 'object'},
++ 'Charm': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
++ 'Result': {'$ref': '#/definitions/ApplicationCharmResults'}},
++ 'type': 'object'},
++ 'CurrentModel': {'properties': {'Result': {'$ref': '#/definitions/ModelResult'}},
++ 'type': 'object'},
++ 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
++ 'Result': {'$ref': '#/definitions/LifeResults'}},
++ 'type': 'object'},
++ 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
+ 'type': 'object'},
- 'StatusHistoryResult': {'additionalProperties': False,
- 'properties': {'error': {'$ref': '#/definitions/Error'},
- 'history': {'$ref': '#/definitions/History'}},
- 'required': ['history'],
++ 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
++ 'Result': {'$ref': '#/definitions/ErrorResults'}},
++ 'type': 'object'},
++ 'SetPodSpec': {'properties': {'Params': {'$ref': '#/definitions/SetPodSpecParams'},
++ 'Result': {'$ref': '#/definitions/ErrorResults'}},
++ 'type': 'object'},
++ 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
++ 'Result': {'$ref': '#/definitions/ErrorResults'}},
++ 'type': 'object'},
++ 'SetTools': {'properties': {'Params': {'$ref': '#/definitions/EntitiesVersion'},
++ 'Result': {'$ref': '#/definitions/ErrorResults'}},
++ 'type': 'object'},
++ 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
++ 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
++ 'type': 'object'},
++ 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
++ 'type': 'object'},
++ 'WatchUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
++ 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
++ 'type': 'object'}},
++ 'type': 'object'}
++
++
++ @ReturnMapping(StringsResult)
++ async def APIAddresses(self):
++ '''
++
++ Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperator',
++ request='APIAddresses',
++ version=1,
++ params=_params)
++
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(APIHostPortsResult)
++ async def APIHostPorts(self):
++ '''
++
++ Returns -> typing.Sequence[~HostPort]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperator',
++ request='APIHostPorts',
++ version=1,
++ params=_params)
++
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(ApplicationCharmResults)
++ async def Charm(self, entities):
++ '''
++ entities : typing.Sequence[~Entity]
++ Returns -> typing.Sequence[~ApplicationCharmResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperator',
++ request='Charm',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(ModelResult)
++ async def CurrentModel(self):
++ '''
++
++ Returns -> typing.Union[_ForwardRef('Error'), str]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperator',
++ request='CurrentModel',
++ version=1,
++ params=_params)
++
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(LifeResults)
++ async def Life(self, entities):
++ '''
++ entities : typing.Sequence[~Entity]
++ Returns -> typing.Sequence[~LifeResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperator',
++ request='Life',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(StringResult)
++ async def ModelUUID(self):
++ '''
++
++ Returns -> typing.Union[_ForwardRef('Error'), str]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperator',
++ request='ModelUUID',
++ version=1,
++ params=_params)
++
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(ErrorResults)
++ async def Remove(self, entities):
++ '''
++ entities : typing.Sequence[~Entity]
++ Returns -> typing.Sequence[~ErrorResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperator',
++ request='Remove',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(ErrorResults)
++ async def SetPodSpec(self, specs):
++ '''
++ specs : typing.Sequence[~EntityString]
++ Returns -> typing.Sequence[~ErrorResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperator',
++ request='SetPodSpec',
++ version=1,
++ params=_params)
++ _params['specs'] = specs
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(ErrorResults)
++ async def SetStatus(self, entities):
++ '''
++ entities : typing.Sequence[~EntityStatusArgs]
++ Returns -> typing.Sequence[~ErrorResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperator',
++ request='SetStatus',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(ErrorResults)
++ async def SetTools(self, agent_tools):
++ '''
++ agent_tools : typing.Sequence[~EntityVersion]
++ Returns -> typing.Sequence[~ErrorResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperator',
++ request='SetTools',
++ version=1,
++ params=_params)
++ _params['agent-tools'] = agent_tools
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(NotifyWatchResults)
++ async def Watch(self, entities):
++ '''
++ entities : typing.Sequence[~Entity]
++ Returns -> typing.Sequence[~NotifyWatchResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperator',
++ request='Watch',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(NotifyWatchResult)
++ async def WatchAPIHostPorts(self):
++ '''
++
++ Returns -> typing.Union[str, _ForwardRef('Error')]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperator',
++ request='WatchAPIHostPorts',
++ version=1,
++ params=_params)
++
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(StringsWatchResults)
++ async def WatchUnits(self, entities):
++ '''
++ entities : typing.Sequence[~Entity]
++ Returns -> typing.Sequence[~StringsWatchResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperator',
++ request='WatchUnits',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++class CAASOperatorProvisionerFacade(Type):
++ name = 'CAASOperatorProvisioner'
++ version = 1
++ schema = {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
++ 'properties': {'servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
++ 'type': 'array'},
++ 'type': 'array'}},
++ 'required': ['servers'],
++ 'type': 'object'},
++ 'Address': {'additionalProperties': False,
++ 'properties': {'scope': {'type': 'string'},
++ 'space-name': {'type': 'string'},
++ 'type': {'type': 'string'},
++ 'value': {'type': 'string'}},
++ 'required': ['value', 'type', 'scope'],
++ 'type': 'object'},
++ 'Entities': {'additionalProperties': False,
++ 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
++ 'type': 'array'}},
++ 'required': ['entities'],
++ 'type': 'object'},
++ 'Entity': {'additionalProperties': False,
++ 'properties': {'tag': {'type': 'string'}},
++ 'required': ['tag'],
++ 'type': 'object'},
++ 'EntityPassword': {'additionalProperties': False,
++ 'properties': {'password': {'type': 'string'},
++ 'tag': {'type': 'string'}},
++ 'required': ['tag', 'password'],
++ 'type': 'object'},
++ 'EntityPasswords': {'additionalProperties': False,
++ 'properties': {'changes': {'items': {'$ref': '#/definitions/EntityPassword'},
++ 'type': 'array'}},
++ 'required': ['changes'],
++ 'type': 'object'},
++ 'Error': {'additionalProperties': False,
++ 'properties': {'code': {'type': 'string'},
++ 'info': {'$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'},
++ 'HostPort': {'additionalProperties': False,
++ 'properties': {'Address': {'$ref': '#/definitions/Address'},
++ 'port': {'type': 'integer'}},
++ 'required': ['Address', 'port'],
++ 'type': 'object'},
++ 'KubernetesFilesystemAttachmentParams': {'additionalProperties': False,
++ 'properties': {'mount-point': {'type': 'string'},
++ 'provider': {'type': 'string'},
++ 'read-only': {'type': 'boolean'}},
++ 'required': ['provider'],
++ 'type': 'object'},
++ 'KubernetesFilesystemParams': {'additionalProperties': False,
++ 'properties': {'attachment': {'$ref': '#/definitions/KubernetesFilesystemAttachmentParams'},
++ 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
++ 'type': 'object'}},
++ 'type': 'object'},
++ 'provider': {'type': 'string'},
++ 'size': {'type': 'integer'},
++ 'storagename': {'type': 'string'},
++ 'tags': {'patternProperties': {'.*': {'type': 'string'}},
++ 'type': 'object'}},
++ 'required': ['storagename',
++ 'size',
++ 'provider'],
++ 'type': 'object'},
++ 'LifeResult': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'},
++ 'life': {'type': 'string'}},
++ 'required': ['life'],
++ 'type': 'object'},
++ 'LifeResults': {'additionalProperties': False,
++ 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
++ 'type': 'array'}},
++ 'required': ['results'],
++ 'type': 'object'},
++ 'Macaroon': {'additionalProperties': False, 'type': 'object'},
++ 'NotifyWatchResult': {'additionalProperties': False,
++ 'properties': {'NotifyWatcherId': {'type': 'string'},
++ 'error': {'$ref': '#/definitions/Error'}},
++ 'required': ['NotifyWatcherId'],
++ 'type': 'object'},
++ 'Number': {'additionalProperties': False,
++ 'properties': {'Build': {'type': 'integer'},
++ 'Major': {'type': 'integer'},
++ 'Minor': {'type': 'integer'},
++ 'Patch': {'type': 'integer'},
++ 'Tag': {'type': 'string'}},
++ 'required': ['Major',
++ 'Minor',
++ 'Tag',
++ 'Patch',
++ 'Build'],
++ 'type': 'object'},
++ 'OperatorProvisioningInfo': {'additionalProperties': False,
++ 'properties': {'api-addresses': {'items': {'type': 'string'},
++ 'type': 'array'},
++ 'charm-storage': {'$ref': '#/definitions/KubernetesFilesystemParams'},
++ 'image-path': {'type': 'string'},
++ 'tags': {'patternProperties': {'.*': {'type': 'string'}},
++ 'type': 'object'},
++ 'version': {'$ref': '#/definitions/Number'}},
++ 'required': ['image-path',
++ 'version',
++ 'api-addresses',
++ 'charm-storage'],
++ 'type': 'object'},
++ 'StringResult': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'},
++ 'result': {'type': 'string'}},
++ 'required': ['result'],
++ 'type': 'object'},
++ 'StringsResult': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'},
++ 'result': {'items': {'type': 'string'},
++ 'type': 'array'}},
++ 'type': 'object'},
++ 'StringsWatchResult': {'additionalProperties': False,
++ 'properties': {'changes': {'items': {'type': 'string'},
++ 'type': 'array'},
++ 'error': {'$ref': '#/definitions/Error'},
++ 'watcher-id': {'type': 'string'}},
++ 'required': ['watcher-id'],
++ 'type': 'object'}},
++ 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
++ 'type': 'object'},
++ 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
++ 'type': 'object'},
++ 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
++ 'Result': {'$ref': '#/definitions/LifeResults'}},
++ 'type': 'object'},
++ 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
++ 'type': 'object'},
++ 'OperatorProvisioningInfo': {'properties': {'Result': {'$ref': '#/definitions/OperatorProvisioningInfo'}},
++ 'type': 'object'},
++ 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
++ 'Result': {'$ref': '#/definitions/ErrorResults'}},
++ 'type': 'object'},
++ 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
++ 'type': 'object'},
++ 'WatchApplications': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
++ 'type': 'object'}},
++ 'type': 'object'}
++
++
++ @ReturnMapping(StringsResult)
++ async def APIAddresses(self):
++ '''
++
++ Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperatorProvisioner',
++ request='APIAddresses',
++ version=1,
++ params=_params)
++
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(APIHostPortsResult)
++ async def APIHostPorts(self):
++ '''
++
++ Returns -> typing.Sequence[~HostPort]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperatorProvisioner',
++ request='APIHostPorts',
++ version=1,
++ params=_params)
++
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(LifeResults)
++ async def Life(self, entities):
++ '''
++ entities : typing.Sequence[~Entity]
++ Returns -> typing.Sequence[~LifeResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperatorProvisioner',
++ request='Life',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(StringResult)
++ async def ModelUUID(self):
++ '''
++
++ Returns -> typing.Union[_ForwardRef('Error'), str]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperatorProvisioner',
++ request='ModelUUID',
++ version=1,
++ params=_params)
++
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(OperatorProvisioningInfo)
++ async def OperatorProvisioningInfo(self):
++ '''
++
++ Returns -> typing.Union[typing.Sequence[str], _ForwardRef('KubernetesFilesystemParams'), str, typing.Mapping[str, str], _ForwardRef('Number')]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperatorProvisioner',
++ request='OperatorProvisioningInfo',
++ version=1,
++ params=_params)
++
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(ErrorResults)
++ async def SetPasswords(self, changes):
++ '''
++ changes : typing.Sequence[~EntityPassword]
++ Returns -> typing.Sequence[~ErrorResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperatorProvisioner',
++ request='SetPasswords',
++ version=1,
++ params=_params)
++ _params['changes'] = changes
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(NotifyWatchResult)
++ async def WatchAPIHostPorts(self):
++ '''
++
++ Returns -> typing.Union[str, _ForwardRef('Error')]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperatorProvisioner',
++ request='WatchAPIHostPorts',
++ version=1,
++ params=_params)
++
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(StringsWatchResult)
++ async def WatchApplications(self):
++ '''
++
++ Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error'), str]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASOperatorProvisioner',
++ request='WatchApplications',
++ version=1,
++ params=_params)
++
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++class CAASUnitProvisionerFacade(Type):
++ name = 'CAASUnitProvisioner'
++ version = 1
++ schema = {'definitions': {'Address': {'additionalProperties': False,
++ 'properties': {'scope': {'type': 'string'},
++ 'space-name': {'type': 'string'},
++ 'type': {'type': 'string'},
++ 'value': {'type': 'string'}},
++ 'required': ['value', 'type', 'scope'],
++ 'type': 'object'},
++ 'ApplicationGetConfigResults': {'additionalProperties': False,
++ 'properties': {'Results': {'items': {'$ref': '#/definitions/ConfigResult'},
++ 'type': 'array'}},
++ 'required': ['Results'],
++ 'type': 'object'},
++ 'ApplicationUnitParams': {'additionalProperties': False,
++ 'properties': {'address': {'type': 'string'},
++ 'data': {'patternProperties': {'.*': {'additionalProperties': True,
++ 'type': 'object'}},
++ 'type': 'object'},
++ 'filesystem-info': {'items': {'$ref': '#/definitions/KubernetesFilesystemInfo'},
++ 'type': 'array'},
++ 'info': {'type': 'string'},
++ 'ports': {'items': {'type': 'string'},
++ 'type': 'array'},
++ 'provider-id': {'type': 'string'},
++ 'status': {'type': 'string'},
++ 'unit-tag': {'type': 'string'}},
++ 'required': ['provider-id',
++ 'unit-tag',
++ 'address',
++ 'ports',
++ 'status',
++ 'info'],
++ 'type': 'object'},
++ 'ConfigResult': {'additionalProperties': False,
++ 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
++ 'type': 'object'}},
++ 'type': 'object'},
++ 'error': {'$ref': '#/definitions/Error'}},
++ 'required': ['config'],
++ 'type': 'object'},
++ 'Entities': {'additionalProperties': False,
++ 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
++ 'type': 'array'}},
++ 'required': ['entities'],
++ 'type': 'object'},
++ 'Entity': {'additionalProperties': False,
++ 'properties': {'tag': {'type': 'string'}},
++ 'required': ['tag'],
++ 'type': 'object'},
++ 'EntityStatusArgs': {'additionalProperties': False,
++ 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
++ 'type': 'object'}},
++ 'type': 'object'},
++ 'info': {'type': 'string'},
++ 'status': {'type': 'string'},
++ 'tag': {'type': 'string'}},
++ 'required': ['tag',
++ 'status',
++ 'info',
++ 'data'],
++ 'type': 'object'},
++ 'Error': {'additionalProperties': False,
++ 'properties': {'code': {'type': 'string'},
++ 'info': {'$ref': '#/definitions/ErrorInfo'},
++ 'message': {'type': 'string'}},
++ 'required': ['message', 'code'],
++ 'type': 'object'},
++ 'ErrorInfo': {'additionalProperties': False,
++ 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
++ 'macaroon-path': {'type': 'string'}},
++ 'type': 'object'},
++ 'ErrorResult': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'}},
++ 'type': 'object'},
++ 'ErrorResults': {'additionalProperties': False,
++ 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
++ 'type': 'array'}},
++ 'required': ['results'],
++ 'type': 'object'},
++ 'IntResult': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'},
++ 'result': {'type': 'integer'}},
++ 'required': ['result'],
++ 'type': 'object'},
++ 'IntResults': {'additionalProperties': False,
++ 'properties': {'results': {'items': {'$ref': '#/definitions/IntResult'},
++ 'type': 'array'}},
++ 'required': ['results'],
++ 'type': 'object'},
++ 'KubernetesDeviceParams': {'additionalProperties': False,
++ 'properties': {'Attributes': {'patternProperties': {'.*': {'type': 'string'}},
++ 'type': 'object'},
++ 'Count': {'type': 'integer'},
++ 'Type': {'type': 'string'}},
++ 'required': ['Type',
++ 'Count',
++ 'Attributes'],
++ 'type': 'object'},
++ 'KubernetesFilesystemAttachmentParams': {'additionalProperties': False,
++ 'properties': {'mount-point': {'type': 'string'},
++ 'provider': {'type': 'string'},
++ 'read-only': {'type': 'boolean'}},
++ 'required': ['provider'],
++ 'type': 'object'},
++ 'KubernetesFilesystemInfo': {'additionalProperties': False,
++ 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
++ 'type': 'object'}},
++ 'type': 'object'},
++ 'filesystem-id': {'type': 'string'},
++ 'info': {'type': 'string'},
++ 'mount-point': {'type': 'string'},
++ 'pool': {'type': 'string'},
++ 'read-only': {'type': 'boolean'},
++ 'size': {'type': 'integer'},
++ 'status': {'type': 'string'},
++ 'storagename': {'type': 'string'},
++ 'volume': {'$ref': '#/definitions/KubernetesVolumeInfo'}},
++ 'required': ['storagename',
++ 'pool',
++ 'size',
++ 'filesystem-id',
++ 'status',
++ 'info',
++ 'volume'],
++ 'type': 'object'},
++ 'KubernetesFilesystemParams': {'additionalProperties': False,
++ 'properties': {'attachment': {'$ref': '#/definitions/KubernetesFilesystemAttachmentParams'},
++ 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
++ 'type': 'object'}},
++ 'type': 'object'},
++ 'provider': {'type': 'string'},
++ 'size': {'type': 'integer'},
++ 'storagename': {'type': 'string'},
++ 'tags': {'patternProperties': {'.*': {'type': 'string'}},
++ 'type': 'object'}},
++ 'required': ['storagename',
++ 'size',
++ 'provider'],
++ 'type': 'object'},
++ 'KubernetesProvisioningInfo': {'additionalProperties': False,
++ 'properties': {'constraints': {'$ref': '#/definitions/Value'},
++ 'devices': {'items': {'$ref': '#/definitions/KubernetesDeviceParams'},
++ 'type': 'array'},
++ 'filesystems': {'items': {'$ref': '#/definitions/KubernetesFilesystemParams'},
++ 'type': 'array'},
++ 'placement': {'type': 'string'},
++ 'pod-spec': {'type': 'string'},
++ 'tags': {'patternProperties': {'.*': {'type': 'string'}},
++ 'type': 'object'},
++ 'volumes': {'items': {'$ref': '#/definitions/KubernetesVolumeParams'},
++ 'type': 'array'}},
++ 'required': ['pod-spec',
++ 'constraints'],
++ 'type': 'object'},
++ 'KubernetesProvisioningInfoResult': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'},
++ 'result': {'$ref': '#/definitions/KubernetesProvisioningInfo'}},
++ 'required': ['result'],
++ 'type': 'object'},
++ 'KubernetesProvisioningInfoResults': {'additionalProperties': False,
++ 'properties': {'results': {'items': {'$ref': '#/definitions/KubernetesProvisioningInfoResult'},
++ 'type': 'array'}},
++ 'required': ['results'],
++ 'type': 'object'},
++ 'KubernetesVolumeAttachmentParams': {'additionalProperties': False,
++ 'properties': {'provider': {'type': 'string'},
++ 'read-only': {'type': 'boolean'}},
++ 'required': ['provider'],
++ 'type': 'object'},
++ 'KubernetesVolumeInfo': {'additionalProperties': False,
++ 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
++ 'type': 'object'}},
++ 'type': 'object'},
++ 'info': {'type': 'string'},
++ 'persistent': {'type': 'boolean'},
++ 'pool': {'type': 'string'},
++ 'size': {'type': 'integer'},
++ 'status': {'type': 'string'},
++ 'volume-id': {'type': 'string'}},
++ 'required': ['volume-id',
++ 'size',
++ 'persistent',
++ 'status',
++ 'info'],
++ 'type': 'object'},
++ 'KubernetesVolumeParams': {'additionalProperties': False,
++ 'properties': {'attachment': {'$ref': '#/definitions/KubernetesVolumeAttachmentParams'},
++ 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
++ 'type': 'object'}},
++ 'type': 'object'},
++ 'provider': {'type': 'string'},
++ 'size': {'type': 'integer'},
++ 'storagename': {'type': 'string'},
++ 'tags': {'patternProperties': {'.*': {'type': 'string'}},
++ 'type': 'object'}},
++ 'required': ['storagename',
++ 'size',
++ 'provider'],
++ 'type': 'object'},
++ 'LifeResult': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'},
++ 'life': {'type': 'string'}},
++ 'required': ['life'],
++ 'type': 'object'},
++ 'LifeResults': {'additionalProperties': False,
++ 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
++ 'type': 'array'}},
++ 'required': ['results'],
++ 'type': 'object'},
++ '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'},
++ 'SetStatus': {'additionalProperties': False,
++ 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
++ 'type': 'array'}},
++ 'required': ['entities'],
++ 'type': 'object'},
++ 'StringsWatchResult': {'additionalProperties': False,
++ 'properties': {'changes': {'items': {'type': 'string'},
++ 'type': 'array'},
++ 'error': {'$ref': '#/definitions/Error'},
++ 'watcher-id': {'type': 'string'}},
++ 'required': ['watcher-id'],
++ 'type': 'object'},
++ 'UpdateApplicationServiceArg': {'additionalProperties': False,
++ 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'},
++ 'type': 'array'},
++ 'application-tag': {'type': 'string'},
++ 'provider-id': {'type': 'string'}},
++ 'required': ['application-tag',
++ 'provider-id',
++ 'addresses'],
++ 'type': 'object'},
++ 'UpdateApplicationServiceArgs': {'additionalProperties': False,
++ 'properties': {'args': {'items': {'$ref': '#/definitions/UpdateApplicationServiceArg'},
++ 'type': 'array'}},
++ 'required': ['args'],
++ 'type': 'object'},
++ 'UpdateApplicationUnitArgs': {'additionalProperties': False,
++ 'properties': {'args': {'items': {'$ref': '#/definitions/UpdateApplicationUnits'},
++ 'type': 'array'}},
++ 'required': ['args'],
++ 'type': 'object'},
++ 'UpdateApplicationUnits': {'additionalProperties': False,
++ 'properties': {'application-tag': {'type': 'string'},
++ 'units': {'items': {'$ref': '#/definitions/ApplicationUnitParams'},
++ 'type': 'array'}},
++ 'required': ['application-tag',
++ 'units'],
++ 'type': 'object'},
++ 'Value': {'additionalProperties': False,
++ 'properties': {'arch': {'type': 'string'},
++ 'container': {'type': 'string'},
++ 'cores': {'type': 'integer'},
++ 'cpu-power': {'type': 'integer'},
++ 'instance-type': {'type': 'string'},
++ 'mem': {'type': 'integer'},
++ 'root-disk': {'type': 'integer'},
++ 'spaces': {'items': {'type': 'string'},
++ 'type': 'array'},
++ 'tags': {'items': {'type': 'string'},
++ 'type': 'array'},
++ 'virt-type': {'type': 'string'},
++ 'zones': {'items': {'type': 'string'},
++ 'type': 'array'}},
++ 'type': 'object'}},
++ 'properties': {'ApplicationsConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
++ 'Result': {'$ref': '#/definitions/ApplicationGetConfigResults'}},
++ 'type': 'object'},
++ 'ApplicationsScale': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
++ 'Result': {'$ref': '#/definitions/IntResults'}},
++ 'type': 'object'},
++ 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
++ 'Result': {'$ref': '#/definitions/LifeResults'}},
++ 'type': 'object'},
++ 'ProvisioningInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
++ 'Result': {'$ref': '#/definitions/KubernetesProvisioningInfoResults'}},
++ 'type': 'object'},
++ 'SetOperatorStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
++ 'Result': {'$ref': '#/definitions/ErrorResults'}},
++ 'type': 'object'},
++ 'UpdateApplicationsService': {'properties': {'Params': {'$ref': '#/definitions/UpdateApplicationServiceArgs'},
++ 'Result': {'$ref': '#/definitions/ErrorResults'}},
++ 'type': 'object'},
++ 'UpdateApplicationsUnits': {'properties': {'Params': {'$ref': '#/definitions/UpdateApplicationUnitArgs'},
++ 'Result': {'$ref': '#/definitions/ErrorResults'}},
++ 'type': 'object'},
++ 'WatchApplications': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
++ 'type': 'object'},
++ 'WatchApplicationsScale': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
++ 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
++ 'type': 'object'},
++ 'WatchPodSpec': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
++ 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
++ 'type': 'object'}},
++ 'type': 'object'}
++
++
++ @ReturnMapping(ApplicationGetConfigResults)
++ async def ApplicationsConfig(self, entities):
++ '''
++ entities : typing.Sequence[~Entity]
++ Returns -> typing.Sequence[~ConfigResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASUnitProvisioner',
++ request='ApplicationsConfig',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(IntResults)
++ async def ApplicationsScale(self, entities):
++ '''
++ entities : typing.Sequence[~Entity]
++ Returns -> typing.Sequence[~IntResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASUnitProvisioner',
++ request='ApplicationsScale',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(LifeResults)
++ async def Life(self, entities):
++ '''
++ entities : typing.Sequence[~Entity]
++ Returns -> typing.Sequence[~LifeResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASUnitProvisioner',
++ request='Life',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(KubernetesProvisioningInfoResults)
++ async def ProvisioningInfo(self, entities):
++ '''
++ entities : typing.Sequence[~Entity]
++ Returns -> typing.Sequence[~KubernetesProvisioningInfoResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASUnitProvisioner',
++ request='ProvisioningInfo',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(ErrorResults)
++ async def SetOperatorStatus(self, entities):
++ '''
++ entities : typing.Sequence[~EntityStatusArgs]
++ Returns -> typing.Sequence[~ErrorResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASUnitProvisioner',
++ request='SetOperatorStatus',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(ErrorResults)
++ async def UpdateApplicationsService(self, args):
++ '''
++ args : typing.Sequence[~UpdateApplicationServiceArg]
++ Returns -> typing.Sequence[~ErrorResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASUnitProvisioner',
++ request='UpdateApplicationsService',
++ version=1,
++ params=_params)
++ _params['args'] = args
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(ErrorResults)
++ async def UpdateApplicationsUnits(self, args):
++ '''
++ args : typing.Sequence[~UpdateApplicationUnits]
++ Returns -> typing.Sequence[~ErrorResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASUnitProvisioner',
++ request='UpdateApplicationsUnits',
++ version=1,
++ params=_params)
++ _params['args'] = args
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(StringsWatchResult)
++ async def WatchApplications(self):
++ '''
++
++ Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error'), str]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASUnitProvisioner',
++ request='WatchApplications',
++ version=1,
++ params=_params)
++
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(NotifyWatchResults)
++ async def WatchApplicationsScale(self, entities):
++ '''
++ entities : typing.Sequence[~Entity]
++ Returns -> typing.Sequence[~NotifyWatchResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASUnitProvisioner',
++ request='WatchApplicationsScale',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++ @ReturnMapping(NotifyWatchResults)
++ async def WatchPodSpec(self, entities):
++ '''
++ entities : typing.Sequence[~Entity]
++ Returns -> typing.Sequence[~NotifyWatchResult]
++ '''
++ # map input types to rpc msg
++ _params = dict()
++ msg = dict(type='CAASUnitProvisioner',
++ request='WatchPodSpec',
++ version=1,
++ params=_params)
++ _params['entities'] = entities
++ reply = await self.rpc(msg)
++ return reply
++
++
++
++class ClientFacade(Type):
++ name = 'Client'
++ version = 1
++ schema = {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
++ 'properties': {'servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
++ 'type': 'array'},
++ 'type': 'array'}},
++ 'required': ['servers'],
++ 'type': 'object'},
++ 'AddCharm': {'additionalProperties': False,
++ 'properties': {'channel': {'type': 'string'},
++ 'url': {'type': 'string'}},
++ 'required': ['url', 'channel'],
++ 'type': 'object'},
++ 'AddCharmWithAuthorization': {'additionalProperties': False,
++ 'properties': {'channel': {'type': 'string'},
++ 'macaroon': {'$ref': '#/definitions/Macaroon'},
++ 'url': {'type': 'string'}},
++ 'required': ['url',
++ 'channel',
++ 'macaroon'],
++ 'type': 'object'},
++ 'AddMachineParams': {'additionalProperties': False,
++ 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'},
++ 'type': 'array'},
++ 'constraints': {'$ref': '#/definitions/Value'},
++ 'container-type': {'type': 'string'},
++ 'disks': {'items': {'$ref': '#/definitions/Constraints'},
++ 'type': 'array'},
++ 'hardware-characteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
++ 'instance-id': {'type': 'string'},
++ 'jobs': {'items': {'type': 'string'},
++ 'type': 'array'},
++ 'nonce': {'type': 'string'},
++ 'parent-id': {'type': 'string'},
++ 'placement': {'$ref': '#/definitions/Placement'},
++ 'series': {'type': 'string'}},
++ 'required': ['series',
++ 'constraints',
++ 'jobs',
++ 'parent-id',
++ 'container-type',
++ 'instance-id',
++ 'nonce',
++ 'hardware-characteristics',
++ 'addresses'],
++ 'type': 'object'},
++ 'AddMachines': {'additionalProperties': False,
++ 'properties': {'params': {'items': {'$ref': '#/definitions/AddMachineParams'},
++ 'type': 'array'}},
++ 'required': ['params'],
++ 'type': 'object'},
++ 'AddMachinesResult': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'},
++ 'machine': {'type': 'string'}},
++ 'required': ['machine'],
++ 'type': 'object'},
++ 'AddMachinesResults': {'additionalProperties': False,
++ 'properties': {'machines': {'items': {'$ref': '#/definitions/AddMachinesResult'},
++ 'type': 'array'}},
++ 'required': ['machines'],
++ 'type': 'object'},
++ 'Address': {'additionalProperties': False,
++ 'properties': {'scope': {'type': 'string'},
++ 'space-name': {'type': 'string'},
++ 'type': {'type': 'string'},
++ 'value': {'type': 'string'}},
++ 'required': ['value', 'type', 'scope'],
++ 'type': 'object'},
++ 'AgentVersionResult': {'additionalProperties': False,
++ 'properties': {'version': {'$ref': '#/definitions/Number'}},
++ 'required': ['version'],
++ 'type': 'object'},
++ 'AllWatcherId': {'additionalProperties': False,
++ 'properties': {'watcher-id': {'type': 'string'}},
++ 'required': ['watcher-id'],
++ 'type': 'object'},
++ 'ApplicationStatus': {'additionalProperties': False,
++ 'properties': {'can-upgrade-to': {'type': 'string'},
++ 'charm': {'type': 'string'},
++ 'err': {'additionalProperties': True,
++ 'type': 'object'},
++ 'exposed': {'type': 'boolean'},
++ 'life': {'type': 'string'},
++ 'meter-statuses': {'patternProperties': {'.*': {'$ref': '#/definitions/MeterStatus'}},
++ 'type': 'object'},
++ 'relations': {'patternProperties': {'.*': {'items': {'type': 'string'},
++ 'type': 'array'}},
++ 'type': 'object'},
++ 'series': {'type': 'string'},
++ 'status': {'$ref': '#/definitions/DetailedStatus'},
++ 'subordinate-to': {'items': {'type': 'string'},
++ 'type': 'array'},
++ 'units': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitStatus'}},
++ 'type': 'object'},
++ 'workload-version': {'type': 'string'}},
++ 'required': ['charm',
++ 'series',
++ 'exposed',
++ 'life',
++ 'relations',
++ 'can-upgrade-to',
++ 'subordinate-to',
++ 'units',
++ 'meter-statuses',
++ 'status',
++ 'workload-version'],
++ 'type': 'object'},
++ 'Binary': {'additionalProperties': False,
++ 'properties': {'Arch': {'type': 'string'},
++ 'Number': {'$ref': '#/definitions/Number'},
++ 'Series': {'type': 'string'}},
++ 'required': ['Number', 'Series', 'Arch'],
++ 'type': 'object'},
++ 'BundleChange': {'additionalProperties': False,
++ 'properties': {'args': {'items': {'additionalProperties': True,
++ 'type': 'object'},
++ 'type': 'array'},
++ 'id': {'type': 'string'},
++ 'method': {'type': 'string'},
++ 'requires': {'items': {'type': 'string'},
++ 'type': 'array'}},
++ 'required': ['id',
++ 'method',
++ 'args',
++ 'requires'],
++ 'type': 'object'},
++ 'BundleChangesParams': {'additionalProperties': False,
++ 'properties': {'yaml': {'type': 'string'}},
++ 'required': ['yaml'],
++ 'type': 'object'},
++ 'BundleChangesResults': {'additionalProperties': False,
++ 'properties': {'changes': {'items': {'$ref': '#/definitions/BundleChange'},
++ 'type': 'array'},
++ 'errors': {'items': {'type': 'string'},
++ 'type': 'array'}},
++ 'type': 'object'},
++ 'BytesResult': {'additionalProperties': False,
++ 'properties': {'result': {'items': {'type': 'integer'},
++ 'type': 'array'}},
++ 'required': ['result'],
++ 'type': 'object'},
++ 'ConfigValue': {'additionalProperties': False,
++ 'properties': {'source': {'type': 'string'},
++ 'value': {'additionalProperties': True,
++ 'type': 'object'}},
++ 'required': ['value', 'source'],
++ 'type': 'object'},
++ 'Constraints': {'additionalProperties': False,
++ 'properties': {'Count': {'type': 'integer'},
++ 'Pool': {'type': 'string'},
++ 'Size': {'type': 'integer'}},
++ 'required': ['Pool', 'Size', 'Count'],
++ 'type': 'object'},
++ 'DestroyMachines': {'additionalProperties': False,
++ 'properties': {'force': {'type': 'boolean'},
++ 'machine-names': {'items': {'type': 'string'},
++ 'type': 'array'}},
++ 'required': ['machine-names', 'force'],
++ 'type': 'object'},
++ 'DetailedStatus': {'additionalProperties': False,
++ 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
++ 'type': 'object'}},
++ 'type': 'object'},
++ 'err': {'additionalProperties': True,
++ 'type': 'object'},
++ 'info': {'type': 'string'},
++ 'kind': {'type': 'string'},
++ 'life': {'type': 'string'},
++ 'since': {'format': 'date-time',
++ 'type': 'string'},
++ 'status': {'type': 'string'},
++ 'version': {'type': 'string'}},
++ 'required': ['status',
++ 'info',
++ 'data',
++ 'since',
++ 'kind',
++ 'version',
++ 'life'],
++ 'type': 'object'},
++ 'EndpointStatus': {'additionalProperties': False,
++ 'properties': {'application': {'type': 'string'},
++ 'name': {'type': 'string'},
++ 'role': {'type': 'string'},
++ 'subordinate': {'type': 'boolean'}},
++ 'required': ['application',
++ 'name',
++ 'role',
++ 'subordinate'],
++ 'type': 'object'},
++ 'Entities': {'additionalProperties': False,
++ 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
++ 'type': 'array'}},
++ 'required': ['entities'],
++ 'type': 'object'},
++ 'Entity': {'additionalProperties': False,
++ 'properties': {'tag': {'type': 'string'}},
++ 'required': ['tag'],
++ 'type': 'object'},
++ 'EntityStatus': {'additionalProperties': False,
++ 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
++ 'type': 'object'}},
++ 'type': 'object'},
++ 'info': {'type': 'string'},
++ 'since': {'format': 'date-time',
++ 'type': 'string'},
++ 'status': {'type': 'string'}},
++ 'required': ['status', 'info', 'since'],
++ 'type': 'object'},
++ 'Error': {'additionalProperties': False,
++ 'properties': {'code': {'type': 'string'},
++ 'info': {'$ref': '#/definitions/ErrorInfo'},
++ 'message': {'type': 'string'}},
++ 'required': ['message', 'code'],
++ 'type': 'object'},
++ 'ErrorInfo': {'additionalProperties': False,
++ 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
++ 'macaroon-path': {'type': 'string'}},
++ 'type': 'object'},
++ 'ErrorResult': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'}},
++ 'type': 'object'},
++ 'ErrorResults': {'additionalProperties': False,
++ 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
++ 'type': 'array'}},
++ 'required': ['results'],
++ 'type': 'object'},
++ 'FindToolsParams': {'additionalProperties': False,
++ 'properties': {'arch': {'type': 'string'},
++ 'major': {'type': 'integer'},
++ 'minor': {'type': 'integer'},
++ 'number': {'$ref': '#/definitions/Number'},
++ 'series': {'type': 'string'}},
++ 'required': ['number',
++ 'major',
++ 'minor',
++ 'arch',
++ 'series'],
++ 'type': 'object'},
++ 'FindToolsResult': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'},
++ 'list': {'items': {'$ref': '#/definitions/Tools'},
++ 'type': 'array'}},
++ 'required': ['list'],
++ 'type': 'object'},
++ 'FullStatus': {'additionalProperties': False,
++ 'properties': {'applications': {'patternProperties': {'.*': {'$ref': '#/definitions/ApplicationStatus'}},
++ 'type': 'object'},
++ 'machines': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}},
++ 'type': 'object'},
++ 'model': {'$ref': '#/definitions/ModelStatusInfo'},
++ 'relations': {'items': {'$ref': '#/definitions/RelationStatus'},
++ 'type': 'array'},
++ 'remote-applications': {'patternProperties': {'.*': {'$ref': '#/definitions/RemoteApplicationStatus'}},
++ 'type': 'object'}},
++ 'required': ['model',
++ 'machines',
++ 'applications',
++ 'remote-applications',
++ 'relations'],
++ 'type': 'object'},
++ 'GetConstraintsResults': {'additionalProperties': False,
++ 'properties': {'constraints': {'$ref': '#/definitions/Value'}},
++ 'required': ['constraints'],
++ 'type': 'object'},
++ 'HardwareCharacteristics': {'additionalProperties': False,
++ 'properties': {'arch': {'type': 'string'},
++ 'availability-zone': {'type': 'string'},
++ 'cpu-cores': {'type': 'integer'},
++ 'cpu-power': {'type': 'integer'},
++ 'mem': {'type': 'integer'},
++ 'root-disk': {'type': 'integer'},
++ 'tags': {'items': {'type': 'string'},
++ 'type': 'array'}},
++ 'type': 'object'},
++ 'History': {'additionalProperties': False,
++ 'properties': {'error': {'$ref': '#/definitions/Error'},
++ 'statuses': {'items': {'$ref': '#/definitions/DetailedStatus'},
++ 'type': 'array'}},
++ 'required': ['statuses'],
++ 'type': 'object'},
++ 'HostPort': {'additionalProperties': False,
++ 'properties': {'Address': {'$ref': '#/definitions/Address'},
++ 'port': {'type': 'integer'}},
++ 'required': ['Address', 'port'],
++ 'type': 'object'},
++ 'Macaroon': {'additionalProperties': False, 'type': 'object'},
++ 'MachineHardware': {'additionalProperties': False,
++ 'properties': {'arch': {'type': 'string'},
++ 'availability-zone': {'type': 'string'},
++ 'cores': {'type': 'integer'},
++ 'cpu-power': {'type': 'integer'},
++ 'mem': {'type': 'integer'},
++ 'root-disk': {'type': 'integer'},
++ 'tags': {'items': {'type': 'string'},
++ 'type': 'array'}},
++ 'type': 'object'},
++ 'MachineStatus': {'additionalProperties': False,
++ 'properties': {'agent-status': {'$ref': '#/definitions/DetailedStatus'},
++ 'constraints': {'type': 'string'},
++ 'containers': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}},
++ 'type': 'object'},
++ 'dns-name': {'type': 'string'},
++ 'hardware': {'type': 'string'},
++ 'has-vote': {'type': 'boolean'},
++ 'id': {'type': 'string'},
++ 'instance-id': {'type': 'string'},
++ 'instance-status': {'$ref': '#/definitions/DetailedStatus'},
++ 'ip-addresses': {'items': {'type': 'string'},
++ 'type': 'array'},
++ 'jobs': {'items': {'type': 'string'},
++ 'type': 'array'},
++ 'network-interfaces': {'patternProperties': {'.*': {'$ref': '#/definitions/NetworkInterface'}},
++ 'type': 'object'},
++ 'series': {'type': 'string'},
++ 'wants-vote': {'type': 'boolean'}},
++ 'required': ['agent-status',
++ 'instance-status',
++ 'dns-name',
++ 'instance-id',
++ 'series',
++ 'id',
++ 'containers',
++ 'constraints',
++ 'hardware',
++ 'jobs',
++ 'has-vote',
++ 'wants-vote'],
++ 'type': 'object'},
++ 'MeterStatus': {'additionalProperties': False,
++ 'properties': {'color': {'type': 'string'},
++ 'message': {'type': 'string'}},
++ 'required': ['color', 'message'],
++ 'type': 'object'},
++ 'ModelConfigResults': {'additionalProperties': False,
++ 'properties': {'config': {'patternProperties': {'.*': {'$ref': '#/definitions/ConfigValue'}},
++ 'type': 'object'}},
++ 'required': ['config'],
++ 'type': 'object'},
++ 'ModelInfo': {'additionalProperties': False,
++ 'properties': {'agent-version': {'$ref': '#/definitions/Number'},
++ 'cloud-credential-tag': {'type': 'string'},
++ 'cloud-region': {'type': 'string'},
++ 'cloud-tag': {'type': 'string'},
++ 'controller-uuid': {'type': 'string'},
++ 'default-series': {'type': 'string'},
++ 'life': {'type': 'string'},
++ 'machines': {'items': {'$ref': '#/definitions/ModelMachineInfo'},
++ 'type': 'array'},
++ 'migration': {'$ref': '#/definitions/ModelMigrationStatus'},
++ 'name': {'type': 'string'},
++ 'owner-tag': {'type': 'string'},
++ 'provider-type': {'type': 'string'},
++ 'sla': {'$ref': '#/definitions/ModelSLAInfo'},
++ 'status': {'$ref': '#/definitions/EntityStatus'},
++ 'users': {'items': {'$ref': '#/definitions/ModelUserInfo'},
++ 'type': 'array'},
++ 'uuid': {'type': 'string'}},
++ 'required': ['name',
++ 'uuid',
++ 'controller-uuid',
++ 'cloud-tag',
++ 'owner-tag',
++ 'life',
++ 'users',
++ 'machines',
++ 'sla',
++ 'agent-version'],
++ 'type': 'object'},
++ 'ModelMachineInfo': {'additionalProperties': False,
++ 'properties': {'hardware': {'$ref': '#/definitions/MachineHardware'},
++ 'has-vote': {'type': 'boolean'},
++ 'id': {'type': 'string'},
++ 'instance-id': {'type': 'string'},
++ 'status': {'type': 'string'},
++ 'wants-vote': {'type': 'boolean'}},
++ 'required': ['id'],
++ 'type': 'object'},
++ 'ModelMigrationStatus': {'additionalProperties': False,
++ 'properties': {'end': {'format': 'date-time',
++ 'type':