X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=juju%2Fclient%2Fclient.py;h=2fc8847e559aa346d6eb43d6598753f06f2842df;hb=5acba37aaefa55fab65eb3ca8b5a5fcf24606a2a;hp=96de08615d34d4544dd21e32391bc4b4ec655b76;hpb=40e869ca5f14b824c6ae4a7e2d23d940af25a492;p=osm%2FN2VC.git diff --git a/juju/client/client.py b/juju/client/client.py index 96de086..2fc8847 100644 --- a/juju/client/client.py +++ b/juju/client/client.py @@ -1,20301 +1,12 @@ +'''Replace auto-generated classes with our own, where necessary. -from juju.client.facade import Type, ReturnMapping - -class Action(Type): - _toSchema = {'receiver': 'receiver', 'name': 'name', 'tag': 'tag', 'parameters': 'parameters'} - _toPy = {'receiver': 'receiver', 'name': 'name', 'tag': 'tag', 'parameters': 'parameters'} - def __init__(self, name=None, parameters=None, receiver=None, tag=None): - ''' - name : str - parameters : typing.Mapping[str, typing.Any] - receiver : str - tag : str - ''' - self.name = name - self.parameters = parameters - self.receiver = receiver - self.tag = tag +''' +from . import _client +from . import overrides -class ActionResult(Type): - _toSchema = {'message': 'message', 'enqueued': 'enqueued', 'action': 'action', 'started': 'started', 'output': 'output', 'completed': 'completed', 'error': 'error', 'status': 'status'} - _toPy = {'message': 'message', 'enqueued': 'enqueued', 'action': 'action', 'started': 'started', 'output': 'output', 'completed': 'completed', 'error': 'error', 'status': 'status'} - def __init__(self, action=None, completed=None, enqueued=None, error=None, message=None, output=None, started=None, status=None): - ''' - action : Action - completed : str - enqueued : str - error : Error - message : str - output : typing.Mapping[str, typing.Any] - started : str - status : str - ''' - self.action = Action.from_json(action) - self.completed = completed - self.enqueued = enqueued - self.error = Error.from_json(error) - self.message = message - self.output = output - self.started = started - self.status = status - - -class ActionResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~ActionResult] - ''' - self.results = [ActionResult.from_json(o) for o in results or []] - - -class Actions(Type): - _toSchema = {'actions': 'actions'} - _toPy = {'actions': 'actions'} - def __init__(self, actions=None): - ''' - actions : typing.Sequence[~Action] - ''' - self.actions = [Action.from_json(o) for o in actions or []] - - -class ActionsByName(Type): - _toSchema = {'actions': 'actions', 'error': 'error', 'name': 'name'} - _toPy = {'actions': 'actions', 'error': 'error', 'name': 'name'} - def __init__(self, actions=None, error=None, name=None): - ''' - actions : typing.Sequence[~ActionResult] - error : Error - name : str - ''' - self.actions = [ActionResult.from_json(o) for o in actions or []] - self.error = Error.from_json(error) - self.name = name - - -class ActionsByNames(Type): - _toSchema = {'actions': 'actions'} - _toPy = {'actions': 'actions'} - def __init__(self, actions=None): - ''' - actions : typing.Sequence[~ActionsByName] - ''' - self.actions = [ActionsByName.from_json(o) for o in actions or []] - - -class ActionsByReceiver(Type): - _toSchema = {'actions': 'actions', 'error': 'error', 'receiver': 'receiver'} - _toPy = {'actions': 'actions', 'error': 'error', 'receiver': 'receiver'} - def __init__(self, actions=None, error=None, receiver=None): - ''' - actions : typing.Sequence[~ActionResult] - error : Error - receiver : str - ''' - self.actions = [ActionResult.from_json(o) for o in actions or []] - self.error = Error.from_json(error) - self.receiver = receiver - - -class ActionsByReceivers(Type): - _toSchema = {'actions': 'actions'} - _toPy = {'actions': 'actions'} - def __init__(self, actions=None): - ''' - actions : typing.Sequence[~ActionsByReceiver] - ''' - self.actions = [ActionsByReceiver.from_json(o) for o in actions or []] - - -class Entities(Type): - _toSchema = {'entities': 'Entities'} - _toPy = {'Entities': 'entities'} - def __init__(self, entities=None): - ''' - entities : typing.Sequence[~Entity] - ''' - self.entities = [Entity.from_json(o) for o in entities or []] - - -class Entity(Type): - _toSchema = {'tag': 'Tag'} - _toPy = {'Tag': 'tag'} - def __init__(self, tag=None): - ''' - tag : str - ''' - self.tag = tag - - -class Error(Type): - _toSchema = {'info': 'Info', 'code': 'Code', 'message': 'Message'} - _toPy = {'Code': 'code', 'Info': 'info', 'Message': 'message'} - def __init__(self, code=None, info=None, message=None): - ''' - code : str - info : ErrorInfo - message : str - ''' - self.code = code - self.info = ErrorInfo.from_json(info) - self.message = message - - -class ErrorInfo(Type): - _toSchema = {'macaroon': 'Macaroon', 'macaroonpath': 'MacaroonPath'} - _toPy = {'MacaroonPath': 'macaroonpath', 'Macaroon': 'macaroon'} - def __init__(self, macaroon=None, macaroonpath=None): - ''' - macaroon : Macaroon - macaroonpath : str - ''' - self.macaroon = Macaroon.from_json(macaroon) - self.macaroonpath = macaroonpath - - -class FindActionsByNames(Type): - _toSchema = {'names': 'names'} - _toPy = {'names': 'names'} - def __init__(self, names=None): - ''' - names : typing.Sequence[str] - ''' - self.names = names - - -class FindTags(Type): - _toSchema = {'prefixes': 'prefixes'} - _toPy = {'prefixes': 'prefixes'} - def __init__(self, prefixes=None): - ''' - prefixes : typing.Sequence[str] - ''' - self.prefixes = prefixes - - -class FindTagsResults(Type): - _toSchema = {'matches': 'matches'} - _toPy = {'matches': 'matches'} - def __init__(self, matches=None): - ''' - matches : typing.Sequence[~Entity] - ''' - self.matches = [Entity.from_json(o) for o in matches or []] - - -class Macaroon(Type): - _toSchema = {'id_': 'id', 'data': 'data', 'location': 'location', 'caveats': 'caveats', 'sig': 'sig'} - _toPy = {'id': 'id_', 'data': 'data', 'location': 'location', 'caveats': 'caveats', 'sig': 'sig'} - def __init__(self, caveats=None, data=None, id_=None, location=None, sig=None): - ''' - caveats : typing.Sequence[~caveat] - data : typing.Sequence[int] - id_ : packet - location : packet - sig : typing.Sequence[int] - ''' - self.caveats = [caveat.from_json(o) for o in caveats or []] - self.data = data - self.id_ = packet.from_json(id_) - self.location = packet.from_json(location) - self.sig = sig - - -class RunParams(Type): - _toSchema = {'services': 'Services', 'commands': 'Commands', 'machines': 'Machines', 'units': 'Units', 'timeout': 'Timeout'} - _toPy = {'Services': 'services', 'Commands': 'commands', 'Units': 'units', 'Timeout': 'timeout', 'Machines': 'machines'} - def __init__(self, commands=None, machines=None, services=None, timeout=None, units=None): - ''' - commands : str - machines : typing.Sequence[str] - services : typing.Sequence[str] - timeout : int - units : typing.Sequence[str] - ''' - self.commands = commands - self.machines = machines - self.services = services - self.timeout = timeout - self.units = units - - -class ServiceCharmActionsResult(Type): - _toSchema = {'actions': 'actions', 'error': 'error', 'servicetag': 'servicetag'} - _toPy = {'actions': 'actions', 'error': 'error', 'servicetag': 'servicetag'} - def __init__(self, actions=None, error=None, servicetag=None): - ''' - actions : Actions - error : Error - servicetag : str - ''' - self.actions = Actions.from_json(actions) - self.error = Error.from_json(error) - self.servicetag = servicetag - - -class ServicesCharmActionsResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~ServiceCharmActionsResult] - ''' - self.results = [ServiceCharmActionsResult.from_json(o) for o in results or []] - - -class caveat(Type): - _toSchema = {'verificationid': 'verificationId', 'location': 'location', 'caveatid': 'caveatId'} - _toPy = {'verificationId': 'verificationid', 'location': 'location', 'caveatId': 'caveatid'} - def __init__(self, caveatid=None, location=None, verificationid=None): - ''' - caveatid : packet - location : packet - verificationid : packet - ''' - self.caveatid = packet.from_json(caveatid) - self.location = packet.from_json(location) - self.verificationid = packet.from_json(verificationid) - - -class packet(Type): - _toSchema = {'start': 'start', 'totallen': 'totalLen', 'headerlen': 'headerLen'} - _toPy = {'start': 'start', 'headerLen': 'headerlen', 'totalLen': 'totallen'} - def __init__(self, headerlen=None, start=None, totallen=None): - ''' - headerlen : int - start : int - totallen : int - ''' - self.headerlen = headerlen - self.start = start - self.totallen = totallen - - -class BoolResult(Type): - _toSchema = {'error': 'Error', 'result': 'Result'} - _toPy = {'Error': 'error', 'Result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : bool - ''' - self.error = Error.from_json(error) - self.result = result - - -class EntitiesWatchResult(Type): - _toSchema = {'entitywatcherid': 'EntityWatcherId', 'changes': 'Changes', 'error': 'Error'} - _toPy = {'Error': 'error', 'EntityWatcherId': 'entitywatcherid', 'Changes': 'changes'} - def __init__(self, changes=None, entitywatcherid=None, error=None): - ''' - changes : typing.Sequence[str] - entitywatcherid : str - error : Error - ''' - self.changes = changes - self.entitywatcherid = entitywatcherid - self.error = Error.from_json(error) - - -class ErrorResult(Type): - _toSchema = {'info': 'Info', 'code': 'Code', 'message': 'Message'} - _toPy = {'Code': 'code', 'Info': 'info', 'Message': 'message'} - def __init__(self, code=None, info=None, message=None): - ''' - code : str - info : ErrorInfo - message : str - ''' - self.code = code - self.info = ErrorInfo.from_json(info) - self.message = message - - -class AgentGetEntitiesResult(Type): - _toSchema = {'containertype': 'ContainerType', 'jobs': 'Jobs', 'life': 'Life', 'error': 'Error'} - _toPy = {'Life': 'life', 'Error': 'error', 'ContainerType': 'containertype', 'Jobs': 'jobs'} - def __init__(self, containertype=None, error=None, jobs=None, life=None): - ''' - containertype : str - error : Error - jobs : typing.Sequence[str] - life : str - ''' - self.containertype = containertype - self.error = Error.from_json(error) - self.jobs = jobs - self.life = life - - -class AgentGetEntitiesResults(Type): - _toSchema = {'entities': 'Entities'} - _toPy = {'Entities': 'entities'} - def __init__(self, entities=None): - ''' - entities : typing.Sequence[~AgentGetEntitiesResult] - ''' - self.entities = [AgentGetEntitiesResult.from_json(o) for o in entities or []] - - -class EntityPassword(Type): - _toSchema = {'tag': 'Tag', 'password': 'Password'} - _toPy = {'Password': 'password', 'Tag': 'tag'} - def __init__(self, password=None, tag=None): - ''' - password : str - tag : str - ''' - self.password = password - self.tag = tag - - -class EntityPasswords(Type): - _toSchema = {'changes': 'Changes'} - _toPy = {'Changes': 'changes'} - def __init__(self, changes=None): - ''' - changes : typing.Sequence[~EntityPassword] - ''' - self.changes = [EntityPassword.from_json(o) for o in changes or []] - - -class ErrorResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~ErrorResult] - ''' - self.results = [ErrorResult.from_json(o) for o in results or []] - - -class IsMasterResult(Type): - _toSchema = {'master': 'Master'} - _toPy = {'Master': 'master'} - def __init__(self, master=None): - ''' - master : bool - ''' - self.master = master - - -class ModelConfigResult(Type): - _toSchema = {'config': 'Config'} - _toPy = {'Config': 'config'} - def __init__(self, config=None): - ''' - config : typing.Mapping[str, typing.Any] - ''' - self.config = config - - -class NotifyWatchResult(Type): - _toSchema = {'notifywatcherid': 'NotifyWatcherId', 'error': 'Error'} - _toPy = {'Error': 'error', 'NotifyWatcherId': 'notifywatcherid'} - def __init__(self, error=None, notifywatcherid=None): - ''' - error : Error - notifywatcherid : str - ''' - self.error = Error.from_json(error) - self.notifywatcherid = notifywatcherid - - -class StateServingInfo(Type): - _toSchema = {'systemidentity': 'SystemIdentity', 'caprivatekey': 'CAPrivateKey', 'sharedsecret': 'SharedSecret', 'privatekey': 'PrivateKey', 'stateport': 'StatePort', 'cert': 'Cert', 'apiport': 'APIPort'} - _toPy = {'StatePort': 'stateport', 'APIPort': 'apiport', 'CAPrivateKey': 'caprivatekey', 'Cert': 'cert', 'SharedSecret': 'sharedsecret', 'SystemIdentity': 'systemidentity', 'PrivateKey': 'privatekey'} - def __init__(self, apiport=None, caprivatekey=None, cert=None, privatekey=None, sharedsecret=None, stateport=None, systemidentity=None): - ''' - apiport : int - caprivatekey : str - cert : str - privatekey : str - sharedsecret : str - stateport : int - systemidentity : str - ''' - self.apiport = apiport - self.caprivatekey = caprivatekey - self.cert = cert - self.privatekey = privatekey - self.sharedsecret = sharedsecret - self.stateport = stateport - self.systemidentity = systemidentity - - -class AllWatcherNextResults(Type): - _toSchema = {'deltas': 'Deltas'} - _toPy = {'Deltas': 'deltas'} - def __init__(self, deltas=None): - ''' - deltas : typing.Sequence[~Delta] - ''' - self.deltas = [Delta.from_json(o) for o in deltas or []] - - -class Delta(Type): - _toSchema = {'removed': 'Removed'} - _toPy = {'Removed': 'removed'} - def __init__(self, removed=None): - ''' - removed : bool - ''' - self.removed = removed - - -class AnnotationsGetResult(Type): - _toSchema = {'annotations': 'Annotations', 'entitytag': 'EntityTag', 'error': 'Error'} - _toPy = {'Error': 'error', 'Annotations': 'annotations', 'EntityTag': 'entitytag'} - def __init__(self, annotations=None, entitytag=None, error=None): - ''' - annotations : typing.Mapping[str, str] - entitytag : str - error : ErrorResult - ''' - self.annotations = annotations - self.entitytag = entitytag - self.error = ErrorResult.from_json(error) - - -class AnnotationsGetResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~AnnotationsGetResult] - ''' - self.results = [AnnotationsGetResult.from_json(o) for o in results or []] - - -class AnnotationsSet(Type): - _toSchema = {'annotations': 'Annotations'} - _toPy = {'Annotations': 'annotations'} - def __init__(self, annotations=None): - ''' - annotations : typing.Sequence[~EntityAnnotations] - ''' - self.annotations = [EntityAnnotations.from_json(o) for o in annotations or []] - - -class EntityAnnotations(Type): - _toSchema = {'annotations': 'Annotations', 'entitytag': 'EntityTag'} - _toPy = {'Annotations': 'annotations', 'EntityTag': 'entitytag'} - def __init__(self, annotations=None, entitytag=None): - ''' - annotations : typing.Mapping[str, str] - entitytag : str - ''' - self.annotations = annotations - self.entitytag = entitytag - - -class BackupsCreateArgs(Type): - _toSchema = {'notes': 'Notes'} - _toPy = {'Notes': 'notes'} - def __init__(self, notes=None): - ''' - notes : str - ''' - self.notes = notes - - -class BackupsInfoArgs(Type): - _toSchema = {'id_': 'ID'} - _toPy = {'ID': 'id_'} - def __init__(self, id_=None): - ''' - id_ : str - ''' - self.id_ = id_ - - -class BackupsListArgs(Type): - _toSchema = {} - _toPy = {} - def __init__(self): - ''' - - ''' - pass - - -class BackupsListResult(Type): - _toSchema = {'list_': 'List'} - _toPy = {'List': 'list_'} - def __init__(self, list_=None): - ''' - list_ : typing.Sequence[~BackupsMetadataResult] - ''' - self.list_ = [BackupsMetadataResult.from_json(o) for o in list_ or []] - - -class BackupsMetadataResult(Type): - _toSchema = {'finished': 'Finished', 'caprivatekey': 'CAPrivateKey', 'hostname': 'Hostname', 'size': 'Size', 'notes': 'Notes', 'model': 'Model', 'stored': 'Stored', 'checksum': 'Checksum', 'id_': 'ID', 'checksumformat': 'ChecksumFormat', 'started': 'Started', 'version': 'Version', 'cacert': 'CACert', 'machine': 'Machine'} - _toPy = {'ID': 'id_', 'Started': 'started', 'Version': 'version', 'Model': 'model', 'Stored': 'stored', 'Checksum': 'checksum', 'Machine': 'machine', 'Hostname': 'hostname', 'CAPrivateKey': 'caprivatekey', 'Finished': 'finished', 'ChecksumFormat': 'checksumformat', 'CACert': 'cacert', 'Size': 'size', 'Notes': 'notes'} - def __init__(self, cacert=None, caprivatekey=None, checksum=None, checksumformat=None, finished=None, hostname=None, id_=None, machine=None, model=None, notes=None, size=None, started=None, stored=None, version=None): - ''' - cacert : str - caprivatekey : str - checksum : str - checksumformat : str - finished : str - hostname : str - id_ : str - machine : str - model : str - notes : str - size : int - started : str - stored : str - version : Number - ''' - self.cacert = cacert - self.caprivatekey = caprivatekey - self.checksum = checksum - self.checksumformat = checksumformat - self.finished = finished - self.hostname = hostname - self.id_ = id_ - self.machine = machine - self.model = model - self.notes = notes - self.size = size - self.started = started - self.stored = stored - self.version = Number.from_json(version) - - -class BackupsRemoveArgs(Type): - _toSchema = {'id_': 'ID'} - _toPy = {'ID': 'id_'} - def __init__(self, id_=None): - ''' - id_ : str - ''' - self.id_ = id_ - - -class Number(Type): - _toSchema = {'tag': 'Tag', 'patch': 'Patch', 'major': 'Major', 'minor': 'Minor', 'build': 'Build'} - _toPy = {'Patch': 'patch', 'Tag': 'tag', 'Minor': 'minor', 'Build': 'build', 'Major': 'major'} - def __init__(self, build=None, major=None, minor=None, patch=None, tag=None): - ''' - build : int - major : int - minor : int - patch : int - tag : str - ''' - self.build = build - self.major = major - self.minor = minor - self.patch = patch - self.tag = tag - - -class RestoreArgs(Type): - _toSchema = {'backupid': 'BackupId'} - _toPy = {'BackupId': 'backupid'} - def __init__(self, backupid=None): - ''' - backupid : str - ''' - self.backupid = backupid - - -class Block(Type): - _toSchema = {'message': 'message', 'id_': 'id', 'type_': 'type', 'tag': 'tag'} - _toPy = {'message': 'message', 'id': 'id_', 'type': 'type_', 'tag': 'tag'} - def __init__(self, id_=None, message=None, tag=None, type_=None): - ''' - id_ : str - message : str - tag : str - type_ : str - ''' - self.id_ = id_ - self.message = message - self.tag = tag - self.type_ = type_ - - -class BlockResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : Block - ''' - self.error = Error.from_json(error) - self.result = Block.from_json(result) - - -class BlockResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~BlockResult] - ''' - self.results = [BlockResult.from_json(o) for o in results or []] - - -class BlockSwitchParams(Type): - _toSchema = {'message': 'message', 'type_': 'type'} - _toPy = {'message': 'message', 'type': 'type_'} - def __init__(self, message=None, type_=None): - ''' - message : str - type_ : str - ''' - self.message = message - self.type_ = type_ - - -class CharmInfo(Type): - _toSchema = {'charmurl': 'CharmURL'} - _toPy = {'CharmURL': 'charmurl'} - def __init__(self, charmurl=None): - ''' - charmurl : str - ''' - self.charmurl = charmurl - - -class CharmsList(Type): - _toSchema = {'names': 'Names'} - _toPy = {'Names': 'names'} - def __init__(self, names=None): - ''' - names : typing.Sequence[str] - ''' - self.names = names - - -class CharmsListResult(Type): - _toSchema = {'charmurls': 'CharmURLs'} - _toPy = {'CharmURLs': 'charmurls'} - def __init__(self, charmurls=None): - ''' - charmurls : typing.Sequence[str] - ''' - self.charmurls = charmurls - - -class IsMeteredResult(Type): - _toSchema = {'metered': 'Metered'} - _toPy = {'Metered': 'metered'} - def __init__(self, metered=None): - ''' - metered : bool - ''' - self.metered = metered - - -class APIHostPortsResult(Type): - _toSchema = {'servers': 'Servers'} - _toPy = {'Servers': 'servers'} - def __init__(self, servers=None): - ''' - servers : typing.Sequence[~HostPort] - ''' - self.servers = [HostPort.from_json(o) for o in servers or []] - - -class AddCharm(Type): - _toSchema = {'url': 'URL', 'channel': 'Channel'} - _toPy = {'Channel': 'channel', 'URL': 'url'} - def __init__(self, channel=None, url=None): - ''' - channel : str - url : str - ''' - self.channel = channel - self.url = url - - -class AddCharmWithAuthorization(Type): - _toSchema = {'url': 'URL', 'charmstoremacaroon': 'CharmStoreMacaroon', 'channel': 'Channel'} - _toPy = {'CharmStoreMacaroon': 'charmstoremacaroon', 'Channel': 'channel', 'URL': 'url'} - def __init__(self, channel=None, charmstoremacaroon=None, url=None): - ''' - channel : str - charmstoremacaroon : Macaroon - url : str - ''' - self.channel = channel - self.charmstoremacaroon = Macaroon.from_json(charmstoremacaroon) - self.url = url - - -class AddMachineParams(Type): - _toSchema = {'containertype': 'ContainerType', 'disks': 'Disks', 'placement': 'Placement', 'series': 'Series', 'instanceid': 'InstanceId', 'hardwarecharacteristics': 'HardwareCharacteristics', 'parentid': 'ParentId', 'constraints': 'Constraints', 'jobs': 'Jobs', 'addrs': 'Addrs', 'nonce': 'Nonce'} - _toPy = {'Constraints': 'constraints', 'ParentId': 'parentid', 'Addrs': 'addrs', 'Jobs': 'jobs', 'Disks': 'disks', 'HardwareCharacteristics': 'hardwarecharacteristics', 'Placement': 'placement', 'InstanceId': 'instanceid', 'ContainerType': 'containertype', 'Nonce': 'nonce', 'Series': 'series'} - def __init__(self, addrs=None, constraints=None, containertype=None, disks=None, hardwarecharacteristics=None, instanceid=None, jobs=None, nonce=None, parentid=None, placement=None, series=None): - ''' - addrs : typing.Sequence[~Address] - constraints : Value - containertype : str - disks : typing.Sequence[~Constraints] - hardwarecharacteristics : HardwareCharacteristics - instanceid : str - jobs : typing.Sequence[str] - nonce : str - parentid : str - placement : Placement - series : str - ''' - self.addrs = [Address.from_json(o) for o in addrs or []] - self.constraints = Value.from_json(constraints) - self.containertype = containertype - self.disks = [Constraints.from_json(o) for o in disks or []] - self.hardwarecharacteristics = HardwareCharacteristics.from_json(hardwarecharacteristics) - self.instanceid = instanceid - self.jobs = jobs - self.nonce = nonce - self.parentid = parentid - self.placement = Placement.from_json(placement) - self.series = series - - -class AddMachines(Type): - _toSchema = {'machineparams': 'MachineParams'} - _toPy = {'MachineParams': 'machineparams'} - def __init__(self, machineparams=None): - ''' - machineparams : typing.Sequence[~AddMachineParams] - ''' - self.machineparams = [AddMachineParams.from_json(o) for o in machineparams or []] - - -class AddMachinesResult(Type): - _toSchema = {'error': 'Error', 'machine': 'Machine'} - _toPy = {'Machine': 'machine', 'Error': 'error'} - def __init__(self, error=None, machine=None): - ''' - error : Error - machine : str - ''' - self.error = Error.from_json(error) - self.machine = machine - - -class AddMachinesResults(Type): - _toSchema = {'machines': 'Machines'} - _toPy = {'Machines': 'machines'} - def __init__(self, machines=None): - ''' - machines : typing.Sequence[~AddMachinesResult] - ''' - self.machines = [AddMachinesResult.from_json(o) for o in machines or []] - - -class Address(Type): - _toSchema = {'scope': 'Scope', 'spacename': 'SpaceName', 'type_': 'Type', 'value': 'Value'} - _toPy = {'Scope': 'scope', 'Value': 'value', 'Type': 'type_', 'SpaceName': 'spacename'} - def __init__(self, scope=None, spacename=None, type_=None, value=None): - ''' - scope : str - spacename : str - type_ : str - value : str - ''' - self.scope = scope - self.spacename = spacename - self.type_ = type_ - self.value = value - - -class AgentVersionResult(Type): - _toSchema = {'tag': 'Tag', 'patch': 'Patch', 'major': 'Major', 'minor': 'Minor', 'build': 'Build'} - _toPy = {'Patch': 'patch', 'Tag': 'tag', 'Minor': 'minor', 'Build': 'build', 'Major': 'major'} - def __init__(self, build=None, major=None, minor=None, patch=None, tag=None): - ''' - build : int - major : int - minor : int - patch : int - tag : str - ''' - self.build = build - self.major = major - self.minor = minor - self.patch = patch - self.tag = tag - - -class AllWatcherId(Type): - _toSchema = {'allwatcherid': 'AllWatcherId'} - _toPy = {'AllWatcherId': 'allwatcherid'} - def __init__(self, allwatcherid=None): - ''' - allwatcherid : str - ''' - self.allwatcherid = allwatcherid - - -class Binary(Type): - _toSchema = {'series': 'Series', 'number': 'Number', 'arch': 'Arch'} - _toPy = {'Number': 'number', 'Arch': 'arch', 'Series': 'series'} - def __init__(self, arch=None, number=None, series=None): - ''' - arch : str - number : Number - series : str - ''' - self.arch = arch - self.number = Number.from_json(number) - self.series = series - - -class BundleChangesChange(Type): - _toSchema = {'id_': 'id', 'requires': 'requires', 'method': 'method', 'args': 'args'} - _toPy = {'id': 'id_', 'requires': 'requires', 'method': 'method', 'args': 'args'} - def __init__(self, args=None, id_=None, method=None, requires=None): - ''' - args : typing.Sequence[typing.Any] - id_ : str - method : str - requires : typing.Sequence[str] - ''' - self.args = args - self.id_ = id_ - self.method = method - self.requires = requires - - -class Constraints(Type): - _toSchema = {'pool': 'Pool', 'count': 'Count', 'size': 'Size'} - _toPy = {'Pool': 'pool', 'Count': 'count', 'Size': 'size'} - def __init__(self, count=None, pool=None, size=None): - ''' - count : int - pool : str - size : int - ''' - self.count = count - self.pool = pool - self.size = size - - -class DestroyMachines(Type): - _toSchema = {'force': 'Force', 'machinenames': 'MachineNames'} - _toPy = {'Force': 'force', 'MachineNames': 'machinenames'} - def __init__(self, force=None, machinenames=None): - ''' - force : bool - machinenames : typing.Sequence[str] - ''' - self.force = force - self.machinenames = machinenames - - -class DetailedStatus(Type): - _toSchema = {'info': 'Info', 'since': 'Since', 'kind': 'Kind', 'life': 'Life', 'version': 'Version', 'data': 'Data', 'status': 'Status'} - _toPy = {'Version': 'version', 'Data': 'data', 'Kind': 'kind', 'Status': 'status', 'Since': 'since', 'Life': 'life', 'Info': 'info'} - def __init__(self, data=None, info=None, kind=None, life=None, since=None, status=None, version=None): - ''' - data : typing.Mapping[str, typing.Any] - info : str - kind : str - life : str - since : str - status : str - version : str - ''' - self.data = data - self.info = info - self.kind = kind - self.life = life - self.since = since - self.status = status - self.version = version - - -class EndpointStatus(Type): - _toSchema = {'role': 'Role', 'servicename': 'ServiceName', 'subordinate': 'Subordinate', 'name': 'Name'} - _toPy = {'Name': 'name', 'ServiceName': 'servicename', 'Role': 'role', 'Subordinate': 'subordinate'} - def __init__(self, name=None, role=None, servicename=None, subordinate=None): - ''' - name : str - role : str - servicename : str - subordinate : bool - ''' - self.name = name - self.role = role - self.servicename = servicename - self.subordinate = subordinate - - -class EntityStatus(Type): - _toSchema = {'info': 'Info', 'since': 'Since', 'data': 'Data', 'status': 'Status'} - _toPy = {'Status': 'status', 'Since': 'since', 'Data': 'data', 'Info': 'info'} - def __init__(self, data=None, info=None, since=None, status=None): - ''' - data : typing.Mapping[str, typing.Any] - info : str - since : str - status : str - ''' - self.data = data - self.info = info - self.since = since - self.status = status - - -class FindToolsParams(Type): - _toSchema = {'series': 'Series', 'minorversion': 'MinorVersion', 'number': 'Number', 'majorversion': 'MajorVersion', 'arch': 'Arch'} - _toPy = {'MinorVersion': 'minorversion', 'MajorVersion': 'majorversion', 'Series': 'series', 'Arch': 'arch', 'Number': 'number'} - def __init__(self, arch=None, majorversion=None, minorversion=None, number=None, series=None): - ''' - arch : str - majorversion : int - minorversion : int - number : Number - series : str - ''' - self.arch = arch - self.majorversion = majorversion - self.minorversion = minorversion - self.number = Number.from_json(number) - self.series = series - - -class FindToolsResult(Type): - _toSchema = {'list_': 'List', 'error': 'Error'} - _toPy = {'List': 'list_', 'Error': 'error'} - def __init__(self, error=None, list_=None): - ''' - error : Error - list_ : typing.Sequence[~Tools] - ''' - self.error = Error.from_json(error) - self.list_ = [Tools.from_json(o) for o in list_ or []] - - -class FullStatus(Type): - _toSchema = {'modelname': 'ModelName', 'availableversion': 'AvailableVersion', 'relations': 'Relations', 'machines': 'Machines', 'services': 'Services'} - _toPy = {'ModelName': 'modelname', 'Relations': 'relations', 'AvailableVersion': 'availableversion', 'Machines': 'machines', 'Services': 'services'} - def __init__(self, availableversion=None, machines=None, modelname=None, relations=None, services=None): - ''' - availableversion : str - machines : typing.Mapping[str, ~MachineStatus] - modelname : str - relations : typing.Sequence[~RelationStatus] - services : typing.Mapping[str, ~ServiceStatus] - ''' - self.availableversion = availableversion - self.machines = {k: MachineStatus.from_json(v) for k, v in (machines or dict()).items()} - self.modelname = modelname - self.relations = [RelationStatus.from_json(o) for o in relations or []] - self.services = {k: ServiceStatus.from_json(v) for k, v in (services or dict()).items()} - - -class GetBundleChangesParams(Type): - _toSchema = {'yaml': 'yaml'} - _toPy = {'yaml': 'yaml'} - def __init__(self, yaml=None): - ''' - yaml : str - ''' - self.yaml = yaml - - -class GetBundleChangesResults(Type): - _toSchema = {'changes': 'changes', 'errors': 'errors'} - _toPy = {'changes': 'changes', 'errors': 'errors'} - def __init__(self, changes=None, errors=None): - ''' - changes : typing.Sequence[~BundleChangesChange] - errors : typing.Sequence[str] - ''' - self.changes = [BundleChangesChange.from_json(o) for o in changes or []] - self.errors = errors - - -class GetConstraintsResults(Type): - _toSchema = {'tags': 'tags', 'root_disk': 'root-disk', 'spaces': 'spaces', 'virt_type': 'virt-type', 'container': 'container', 'mem': 'mem', 'arch': 'arch', 'cpu_power': 'cpu-power', 'cpu_cores': 'cpu-cores', 'instance_type': 'instance-type'} - _toPy = {'spaces': 'spaces', 'instance-type': 'instance_type', 'virt-type': 'virt_type', 'container': 'container', 'cpu-cores': 'cpu_cores', 'tags': 'tags', 'cpu-power': 'cpu_power', 'mem': 'mem', 'root-disk': 'root_disk', 'arch': 'arch'} - def __init__(self, arch=None, container=None, cpu_cores=None, cpu_power=None, instance_type=None, mem=None, root_disk=None, spaces=None, tags=None, virt_type=None): - ''' - arch : str - container : str - cpu_cores : int - cpu_power : int - instance_type : str - mem : int - root_disk : int - spaces : typing.Sequence[str] - tags : typing.Sequence[str] - virt_type : str - ''' - self.arch = arch - self.container = container - self.cpu_cores = cpu_cores - self.cpu_power = cpu_power - self.instance_type = instance_type - self.mem = mem - self.root_disk = root_disk - self.spaces = spaces - self.tags = tags - self.virt_type = virt_type - - -class HardwareCharacteristics(Type): - _toSchema = {'cpucores': 'CpuCores', 'cpupower': 'CpuPower', 'rootdisk': 'RootDisk', 'availabilityzone': 'AvailabilityZone', 'mem': 'Mem', 'tags': 'Tags', 'arch': 'Arch'} - _toPy = {'Tags': 'tags', 'Mem': 'mem', 'AvailabilityZone': 'availabilityzone', 'RootDisk': 'rootdisk', 'CpuCores': 'cpucores', 'CpuPower': 'cpupower', 'Arch': 'arch'} - def __init__(self, arch=None, availabilityzone=None, cpucores=None, cpupower=None, mem=None, rootdisk=None, tags=None): - ''' - arch : str - availabilityzone : str - cpucores : int - cpupower : int - mem : int - rootdisk : int - tags : typing.Sequence[str] - ''' - self.arch = arch - self.availabilityzone = availabilityzone - self.cpucores = cpucores - self.cpupower = cpupower - self.mem = mem - self.rootdisk = rootdisk - self.tags = tags - - -class HostPort(Type): - _toSchema = {'port': 'Port', 'address': 'Address'} - _toPy = {'Address': 'address', 'Port': 'port'} - def __init__(self, address=None, port=None): - ''' - address : Address - port : int - ''' - self.address = Address.from_json(address) - self.port = port - - -class MachineStatus(Type): - _toSchema = {'containers': 'Containers', 'hasvote': 'HasVote', 'agentstatus': 'AgentStatus', 'id_': 'Id', 'hardware': 'Hardware', 'series': 'Series', 'instanceid': 'InstanceId', 'instancestatus': 'InstanceStatus', 'dnsname': 'DNSName', 'wantsvote': 'WantsVote', 'jobs': 'Jobs'} - _toPy = {'Id': 'id_', 'HasVote': 'hasvote', 'Jobs': 'jobs', 'DNSName': 'dnsname', 'WantsVote': 'wantsvote', 'Containers': 'containers', 'Hardware': 'hardware', 'AgentStatus': 'agentstatus', 'Series': 'series', 'InstanceId': 'instanceid', 'InstanceStatus': 'instancestatus'} - def __init__(self, agentstatus=None, containers=None, dnsname=None, hardware=None, hasvote=None, id_=None, instanceid=None, instancestatus=None, jobs=None, series=None, wantsvote=None): - ''' - agentstatus : DetailedStatus - containers : typing.Mapping[str, ~MachineStatus] - dnsname : str - hardware : str - hasvote : bool - id_ : str - instanceid : str - instancestatus : DetailedStatus - jobs : typing.Sequence[str] - series : str - wantsvote : bool - ''' - self.agentstatus = DetailedStatus.from_json(agentstatus) - self.containers = {k: MachineStatus.from_json(v) for k, v in (containers or dict()).items()} - self.dnsname = dnsname - self.hardware = hardware - self.hasvote = hasvote - self.id_ = id_ - self.instanceid = instanceid - self.instancestatus = DetailedStatus.from_json(instancestatus) - self.jobs = jobs - self.series = series - self.wantsvote = wantsvote - - -class MeterStatus(Type): - _toSchema = {'message': 'Message', 'color': 'Color'} - _toPy = {'Color': 'color', 'Message': 'message'} - def __init__(self, color=None, message=None): - ''' - color : str - message : str - ''' - self.color = color - self.message = message - - -class ModelConfigResults(Type): - _toSchema = {'config': 'Config'} - _toPy = {'Config': 'config'} - def __init__(self, config=None): - ''' - config : typing.Mapping[str, typing.Any] - ''' - self.config = config - - -class ModelInfo(Type): - _toSchema = {'providertype': 'ProviderType', 'life': 'Life', 'name': 'Name', 'uuid': 'UUID', 'defaultseries': 'DefaultSeries', 'serveruuid': 'ServerUUID', 'users': 'Users', 'ownertag': 'OwnerTag', 'status': 'Status'} - _toPy = {'Name': 'name', 'UUID': 'uuid', 'ProviderType': 'providertype', 'Status': 'status', 'Life': 'life', 'Users': 'users', 'OwnerTag': 'ownertag', 'DefaultSeries': 'defaultseries', 'ServerUUID': 'serveruuid'} - def __init__(self, defaultseries=None, life=None, name=None, ownertag=None, providertype=None, serveruuid=None, status=None, uuid=None, users=None): - ''' - defaultseries : str - life : str - name : str - ownertag : str - providertype : str - serveruuid : str - status : EntityStatus - uuid : str - users : typing.Sequence[~ModelUserInfo] - ''' - self.defaultseries = defaultseries - self.life = life - self.name = name - self.ownertag = ownertag - self.providertype = providertype - self.serveruuid = serveruuid - self.status = EntityStatus.from_json(status) - self.uuid = uuid - self.users = [ModelUserInfo.from_json(o) for o in users or []] - - -class ModelSet(Type): - _toSchema = {'config': 'Config'} - _toPy = {'Config': 'config'} - def __init__(self, config=None): - ''' - config : typing.Mapping[str, typing.Any] - ''' - self.config = config - - -class ModelUnset(Type): - _toSchema = {'keys': 'Keys'} - _toPy = {'Keys': 'keys'} - def __init__(self, keys=None): - ''' - keys : typing.Sequence[str] - ''' - self.keys = keys - - -class ModelUserInfo(Type): - _toSchema = {'access': 'access', 'displayname': 'displayname', 'user': 'user', 'lastconnection': 'lastconnection'} - _toPy = {'access': 'access', 'displayname': 'displayname', 'user': 'user', 'lastconnection': 'lastconnection'} - def __init__(self, access=None, displayname=None, lastconnection=None, user=None): - ''' - access : str - displayname : str - lastconnection : str - user : str - ''' - self.access = access - self.displayname = displayname - self.lastconnection = lastconnection - self.user = user - - -class ModelUserInfoResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : ModelUserInfo - ''' - self.error = Error.from_json(error) - self.result = ModelUserInfo.from_json(result) - - -class ModelUserInfoResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~ModelUserInfoResult] - ''' - self.results = [ModelUserInfoResult.from_json(o) for o in results or []] - - -class Placement(Type): - _toSchema = {'scope': 'Scope', 'directive': 'Directive'} - _toPy = {'Scope': 'scope', 'Directive': 'directive'} - def __init__(self, directive=None, scope=None): - ''' - directive : str - scope : str - ''' - self.directive = directive - self.scope = scope - - -class PrivateAddress(Type): - _toSchema = {'target': 'Target'} - _toPy = {'Target': 'target'} - def __init__(self, target=None): - ''' - target : str - ''' - self.target = target - - -class PrivateAddressResults(Type): - _toSchema = {'privateaddress': 'PrivateAddress'} - _toPy = {'PrivateAddress': 'privateaddress'} - def __init__(self, privateaddress=None): - ''' - privateaddress : str - ''' - self.privateaddress = privateaddress - - -class ProvisioningScriptParams(Type): - _toSchema = {'nonce': 'Nonce', 'machineid': 'MachineId', 'datadir': 'DataDir', 'disablepackagecommands': 'DisablePackageCommands'} - _toPy = {'MachineId': 'machineid', 'DisablePackageCommands': 'disablepackagecommands', 'Nonce': 'nonce', 'DataDir': 'datadir'} - def __init__(self, datadir=None, disablepackagecommands=None, machineid=None, nonce=None): - ''' - datadir : str - disablepackagecommands : bool - machineid : str - nonce : str - ''' - self.datadir = datadir - self.disablepackagecommands = disablepackagecommands - self.machineid = machineid - self.nonce = nonce - - -class ProvisioningScriptResult(Type): - _toSchema = {'script': 'Script'} - _toPy = {'Script': 'script'} - def __init__(self, script=None): - ''' - script : str - ''' - self.script = script - - -class PublicAddress(Type): - _toSchema = {'target': 'Target'} - _toPy = {'Target': 'target'} - def __init__(self, target=None): - ''' - target : str - ''' - self.target = target - - -class PublicAddressResults(Type): - _toSchema = {'publicaddress': 'PublicAddress'} - _toPy = {'PublicAddress': 'publicaddress'} - def __init__(self, publicaddress=None): - ''' - publicaddress : str - ''' - self.publicaddress = publicaddress - - -class RelationStatus(Type): - _toSchema = {'scope': 'Scope', 'interface': 'Interface', 'id_': 'Id', 'key': 'Key', 'endpoints': 'Endpoints'} - _toPy = {'Id': 'id_', 'Interface': 'interface', 'Scope': 'scope', 'Endpoints': 'endpoints', 'Key': 'key'} - def __init__(self, endpoints=None, id_=None, interface=None, key=None, scope=None): - ''' - endpoints : typing.Sequence[~EndpointStatus] - id_ : int - interface : str - key : str - scope : str - ''' - self.endpoints = [EndpointStatus.from_json(o) for o in endpoints or []] - self.id_ = id_ - self.interface = interface - self.key = key - self.scope = scope - - -class ResolveCharmResult(Type): - _toSchema = {'url': 'URL', 'error': 'Error'} - _toPy = {'Error': 'error', 'URL': 'url'} - def __init__(self, error=None, url=None): - ''' - error : str - url : URL - ''' - self.error = error - self.url = URL.from_json(url) - - -class ResolveCharmResults(Type): - _toSchema = {'urls': 'URLs'} - _toPy = {'URLs': 'urls'} - def __init__(self, urls=None): - ''' - urls : typing.Sequence[~ResolveCharmResult] - ''' - self.urls = [ResolveCharmResult.from_json(o) for o in urls or []] - - -class ResolveCharms(Type): - _toSchema = {'references': 'References'} - _toPy = {'References': 'references'} - def __init__(self, references=None): - ''' - references : typing.Sequence[~URL] - ''' - self.references = [URL.from_json(o) for o in references or []] - - -class Resolved(Type): - _toSchema = {'unitname': 'UnitName', 'retry': 'Retry'} - _toPy = {'Retry': 'retry', 'UnitName': 'unitname'} - def __init__(self, retry=None, unitname=None): - ''' - retry : bool - unitname : str - ''' - self.retry = retry - self.unitname = unitname - - -class ServiceStatus(Type): - _toSchema = {'canupgradeto': 'CanUpgradeTo', 'meterstatuses': 'MeterStatuses', 'exposed': 'Exposed', 'life': 'Life', 'units': 'Units', 'charm': 'Charm', 'relations': 'Relations', 'subordinateto': 'SubordinateTo', 'status': 'Status'} - _toPy = {'CanUpgradeTo': 'canupgradeto', 'Relations': 'relations', 'MeterStatuses': 'meterstatuses', 'SubordinateTo': 'subordinateto', 'Status': 'status', 'Charm': 'charm', 'Exposed': 'exposed', 'Units': 'units', 'Life': 'life'} - def __init__(self, canupgradeto=None, charm=None, exposed=None, life=None, meterstatuses=None, relations=None, status=None, subordinateto=None, units=None): - ''' - canupgradeto : str - charm : str - exposed : bool - life : str - meterstatuses : typing.Mapping[str, ~MeterStatus] - relations : typing.Sequence[str] - status : DetailedStatus - subordinateto : typing.Sequence[str] - units : typing.Mapping[str, ~UnitStatus] - ''' - self.canupgradeto = canupgradeto - self.charm = charm - self.exposed = exposed - self.life = life - self.meterstatuses = {k: MeterStatus.from_json(v) for k, v in (meterstatuses or dict()).items()} - self.relations = relations - self.status = DetailedStatus.from_json(status) - self.subordinateto = subordinateto - self.units = {k: UnitStatus.from_json(v) for k, v in (units or dict()).items()} - - -class SetConstraints(Type): - _toSchema = {'servicename': 'ServiceName', 'constraints': 'Constraints'} - _toPy = {'Constraints': 'constraints', 'ServiceName': 'servicename'} - def __init__(self, constraints=None, servicename=None): - ''' - constraints : Value - servicename : str - ''' - self.constraints = Value.from_json(constraints) - self.servicename = servicename - - -class SetModelAgentVersion(Type): - _toSchema = {'tag': 'Tag', 'patch': 'Patch', 'major': 'Major', 'minor': 'Minor', 'build': 'Build'} - _toPy = {'Patch': 'patch', 'Tag': 'tag', 'Minor': 'minor', 'Build': 'build', 'Major': 'major'} - def __init__(self, build=None, major=None, minor=None, patch=None, tag=None): - ''' - build : int - major : int - minor : int - patch : int - tag : str - ''' - self.build = build - self.major = major - self.minor = minor - self.patch = patch - self.tag = tag - - -class StatusHistoryArgs(Type): - _toSchema = {'kind': 'Kind', 'name': 'Name', 'size': 'Size'} - _toPy = {'Name': 'name', 'Size': 'size', 'Kind': 'kind'} - def __init__(self, kind=None, name=None, size=None): - ''' - kind : str - name : str - size : int - ''' - self.kind = kind - self.name = name - self.size = size - - -class StatusHistoryResults(Type): - _toSchema = {'statuses': 'Statuses'} - _toPy = {'Statuses': 'statuses'} - def __init__(self, statuses=None): - ''' - statuses : typing.Sequence[~DetailedStatus] - ''' - self.statuses = [DetailedStatus.from_json(o) for o in statuses or []] - - -class StatusParams(Type): - _toSchema = {'patterns': 'Patterns'} - _toPy = {'Patterns': 'patterns'} - def __init__(self, patterns=None): - ''' - patterns : typing.Sequence[str] - ''' - self.patterns = patterns - - -class Tools(Type): - _toSchema = {'url': 'url', 'size': 'size', 'sha256': 'sha256', 'version': 'version'} - _toPy = {'url': 'url', 'size': 'size', 'sha256': 'sha256', 'version': 'version'} - def __init__(self, sha256=None, size=None, url=None, version=None): - ''' - sha256 : str - size : int - url : str - version : Binary - ''' - self.sha256 = sha256 - self.size = size - self.url = url - self.version = Binary.from_json(version) - - -class URL(Type): - _toSchema = {'series': 'Series', 'name': 'Name', 'channel': 'Channel', 'revision': 'Revision', 'schema': 'Schema', 'user': 'User'} - _toPy = {'Name': 'name', 'Revision': 'revision', 'Channel': 'channel', 'Schema': 'schema', 'User': 'user', 'Series': 'series'} - def __init__(self, channel=None, name=None, revision=None, schema=None, series=None, user=None): - ''' - channel : str - name : str - revision : int - schema : str - series : str - user : str - ''' - self.channel = channel - self.name = name - self.revision = revision - self.schema = schema - self.series = series - self.user = user - - -class UnitStatus(Type): - _toSchema = {'agentstatus': 'AgentStatus', 'subordinates': 'Subordinates', 'charm': 'Charm', 'openedports': 'OpenedPorts', 'workloadstatus': 'WorkloadStatus', 'publicaddress': 'PublicAddress', 'machine': 'Machine'} - _toPy = {'WorkloadStatus': 'workloadstatus', 'Machine': 'machine', 'PublicAddress': 'publicaddress', 'OpenedPorts': 'openedports', 'Subordinates': 'subordinates', 'AgentStatus': 'agentstatus', 'Charm': 'charm'} - def __init__(self, agentstatus=None, charm=None, machine=None, openedports=None, publicaddress=None, subordinates=None, workloadstatus=None): - ''' - agentstatus : DetailedStatus - charm : str - machine : str - openedports : typing.Sequence[str] - publicaddress : str - subordinates : typing.Mapping[str, ~UnitStatus] - workloadstatus : DetailedStatus - ''' - self.agentstatus = DetailedStatus.from_json(agentstatus) - self.charm = charm - self.machine = machine - self.openedports = openedports - self.publicaddress = publicaddress - self.subordinates = {k: UnitStatus.from_json(v) for k, v in (subordinates or dict()).items()} - self.workloadstatus = DetailedStatus.from_json(workloadstatus) - - -class Value(Type): - _toSchema = {'tags': 'tags', 'root_disk': 'root-disk', 'spaces': 'spaces', 'virt_type': 'virt-type', 'container': 'container', 'mem': 'mem', 'arch': 'arch', 'cpu_power': 'cpu-power', 'cpu_cores': 'cpu-cores', 'instance_type': 'instance-type'} - _toPy = {'spaces': 'spaces', 'instance-type': 'instance_type', 'virt-type': 'virt_type', 'container': 'container', 'cpu-cores': 'cpu_cores', 'tags': 'tags', 'cpu-power': 'cpu_power', 'mem': 'mem', 'root-disk': 'root_disk', 'arch': 'arch'} - def __init__(self, arch=None, container=None, cpu_cores=None, cpu_power=None, instance_type=None, mem=None, root_disk=None, spaces=None, tags=None, virt_type=None): - ''' - arch : str - container : str - cpu_cores : int - cpu_power : int - instance_type : str - mem : int - root_disk : int - spaces : typing.Sequence[str] - tags : typing.Sequence[str] - virt_type : str - ''' - self.arch = arch - self.container = container - self.cpu_cores = cpu_cores - self.cpu_power = cpu_power - self.instance_type = instance_type - self.mem = mem - self.root_disk = root_disk - self.spaces = spaces - self.tags = tags - self.virt_type = virt_type - - -class DestroyControllerArgs(Type): - _toSchema = {'destroy_models': 'destroy-models'} - _toPy = {'destroy-models': 'destroy_models'} - def __init__(self, destroy_models=None): - ''' - destroy_models : bool - ''' - self.destroy_models = destroy_models - - -class InitiateModelMigrationArgs(Type): - _toSchema = {'specs': 'specs'} - _toPy = {'specs': 'specs'} - def __init__(self, specs=None): - ''' - specs : typing.Sequence[~ModelMigrationSpec] - ''' - self.specs = [ModelMigrationSpec.from_json(o) for o in specs or []] - - -class InitiateModelMigrationResult(Type): - _toSchema = {'model_tag': 'model-tag', 'id_': 'id', 'error': 'error'} - _toPy = {'model-tag': 'model_tag', 'id': 'id_', 'error': 'error'} - def __init__(self, error=None, id_=None, model_tag=None): - ''' - error : Error - id_ : str - model_tag : str - ''' - self.error = Error.from_json(error) - self.id_ = id_ - self.model_tag = model_tag - - -class InitiateModelMigrationResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~InitiateModelMigrationResult] - ''' - self.results = [InitiateModelMigrationResult.from_json(o) for o in results or []] - - -class Model(Type): - _toSchema = {'uuid': 'UUID', 'name': 'Name', 'ownertag': 'OwnerTag'} - _toPy = {'Name': 'name', 'OwnerTag': 'ownertag', 'UUID': 'uuid'} - def __init__(self, name=None, ownertag=None, uuid=None): - ''' - name : str - ownertag : str - uuid : str - ''' - self.name = name - self.ownertag = ownertag - self.uuid = uuid - - -class ModelBlockInfo(Type): - _toSchema = {'blocks': 'blocks', 'owner_tag': 'owner-tag', 'name': 'name', 'model_uuid': 'model-uuid'} - _toPy = {'blocks': 'blocks', 'owner-tag': 'owner_tag', 'name': 'name', 'model-uuid': 'model_uuid'} - def __init__(self, blocks=None, model_uuid=None, name=None, owner_tag=None): - ''' - blocks : typing.Sequence[str] - model_uuid : str - name : str - owner_tag : str - ''' - self.blocks = blocks - self.model_uuid = model_uuid - self.name = name - self.owner_tag = owner_tag - - -class ModelBlockInfoList(Type): - _toSchema = {'models': 'models'} - _toPy = {'models': 'models'} - def __init__(self, models=None): - ''' - models : typing.Sequence[~ModelBlockInfo] - ''' - self.models = [ModelBlockInfo.from_json(o) for o in models or []] - - -class ModelMigrationSpec(Type): - _toSchema = {'model_tag': 'model-tag', 'target_info': 'target-info'} - _toPy = {'model-tag': 'model_tag', 'target-info': 'target_info'} - def __init__(self, model_tag=None, target_info=None): - ''' - model_tag : str - target_info : ModelMigrationTargetInfo - ''' - self.model_tag = model_tag - self.target_info = ModelMigrationTargetInfo.from_json(target_info) - - -class ModelMigrationTargetInfo(Type): - _toSchema = {'ca_cert': 'ca-cert', 'controller_tag': 'controller-tag', 'auth_tag': 'auth-tag', 'addrs': 'addrs', 'password': 'password'} - _toPy = {'auth-tag': 'auth_tag', 'password': 'password', 'ca-cert': 'ca_cert', 'addrs': 'addrs', 'controller-tag': 'controller_tag'} - def __init__(self, addrs=None, auth_tag=None, ca_cert=None, controller_tag=None, password=None): - ''' - addrs : typing.Sequence[str] - auth_tag : str - ca_cert : str - controller_tag : str - password : str - ''' - self.addrs = addrs - self.auth_tag = auth_tag - self.ca_cert = ca_cert - self.controller_tag = controller_tag - self.password = password - - -class ModelStatus(Type): - _toSchema = {'hosted_machine_count': 'hosted-machine-count', 'model_tag': 'model-tag', 'service_count': 'service-count', 'life': 'life', 'owner_tag': 'owner-tag'} - _toPy = {'life': 'life', 'model-tag': 'model_tag', 'owner-tag': 'owner_tag', 'hosted-machine-count': 'hosted_machine_count', 'service-count': 'service_count'} - def __init__(self, hosted_machine_count=None, life=None, model_tag=None, owner_tag=None, service_count=None): - ''' - hosted_machine_count : int - life : str - model_tag : str - owner_tag : str - service_count : int - ''' - self.hosted_machine_count = hosted_machine_count - self.life = life - self.model_tag = model_tag - self.owner_tag = owner_tag - self.service_count = service_count - - -class ModelStatusResults(Type): - _toSchema = {'models': 'models'} - _toPy = {'models': 'models'} - def __init__(self, models=None): - ''' - models : typing.Sequence[~ModelStatus] - ''' - self.models = [ModelStatus.from_json(o) for o in models or []] - - -class RemoveBlocksArgs(Type): - _toSchema = {'all_': 'all'} - _toPy = {'all': 'all_'} - def __init__(self, all_=None): - ''' - all_ : bool - ''' - self.all_ = all_ - - -class UserModel(Type): - _toSchema = {'lastconnection': 'LastConnection', 'model': 'Model'} - _toPy = {'Model': 'model', 'LastConnection': 'lastconnection'} - def __init__(self, lastconnection=None, model=None): - ''' - lastconnection : str - model : Model - ''' - self.lastconnection = lastconnection - self.model = Model.from_json(model) - - -class UserModelList(Type): - _toSchema = {'usermodels': 'UserModels'} - _toPy = {'UserModels': 'usermodels'} - def __init__(self, usermodels=None): - ''' - usermodels : typing.Sequence[~UserModel] - ''' - self.usermodels = [UserModel.from_json(o) for o in usermodels or []] - - -class BytesResult(Type): - _toSchema = {'result': 'Result'} - _toPy = {'Result': 'result'} - def __init__(self, result=None): - ''' - result : typing.Sequence[int] - ''' - self.result = result - - -class DeployerConnectionValues(Type): - _toSchema = {'apiaddresses': 'APIAddresses', 'stateaddresses': 'StateAddresses'} - _toPy = {'APIAddresses': 'apiaddresses', 'StateAddresses': 'stateaddresses'} - def __init__(self, apiaddresses=None, stateaddresses=None): - ''' - apiaddresses : typing.Sequence[str] - stateaddresses : typing.Sequence[str] - ''' - self.apiaddresses = apiaddresses - self.stateaddresses = stateaddresses - - -class LifeResult(Type): - _toSchema = {'life': 'Life', 'error': 'Error'} - _toPy = {'Life': 'life', 'Error': 'error'} - def __init__(self, error=None, life=None): - ''' - error : Error - life : str - ''' - self.error = Error.from_json(error) - self.life = life - - -class LifeResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~LifeResult] - ''' - self.results = [LifeResult.from_json(o) for o in results or []] - - -class StringResult(Type): - _toSchema = {'error': 'Error', 'result': 'Result'} - _toPy = {'Error': 'error', 'Result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : str - ''' - self.error = Error.from_json(error) - self.result = result - - -class StringsResult(Type): - _toSchema = {'error': 'Error', 'result': 'Result'} - _toPy = {'Error': 'error', 'Result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : typing.Sequence[str] - ''' - self.error = Error.from_json(error) - self.result = result - - -class StringsWatchResult(Type): - _toSchema = {'changes': 'Changes', 'error': 'Error', 'stringswatcherid': 'StringsWatcherId'} - _toPy = {'Error': 'error', 'StringsWatcherId': 'stringswatcherid', 'Changes': 'changes'} - def __init__(self, changes=None, error=None, stringswatcherid=None): - ''' - changes : typing.Sequence[str] - error : Error - stringswatcherid : str - ''' - self.changes = changes - self.error = Error.from_json(error) - self.stringswatcherid = stringswatcherid - - -class StringsWatchResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~StringsWatchResult] - ''' - self.results = [StringsWatchResult.from_json(o) for o in results or []] - - -class AddSubnetParams(Type): - _toSchema = {'subnetproviderid': 'SubnetProviderId', 'zones': 'Zones', 'subnettag': 'SubnetTag', 'spacetag': 'SpaceTag'} - _toPy = {'SubnetProviderId': 'subnetproviderid', 'SubnetTag': 'subnettag', 'SpaceTag': 'spacetag', 'Zones': 'zones'} - def __init__(self, spacetag=None, subnetproviderid=None, subnettag=None, zones=None): - ''' - spacetag : str - subnetproviderid : str - subnettag : str - zones : typing.Sequence[str] - ''' - self.spacetag = spacetag - self.subnetproviderid = subnetproviderid - self.subnettag = subnettag - self.zones = zones - - -class AddSubnetsParams(Type): - _toSchema = {'subnets': 'Subnets'} - _toPy = {'Subnets': 'subnets'} - def __init__(self, subnets=None): - ''' - subnets : typing.Sequence[~AddSubnetParams] - ''' - self.subnets = [AddSubnetParams.from_json(o) for o in subnets or []] - - -class CreateSpaceParams(Type): - _toSchema = {'public': 'Public', 'providerid': 'ProviderId', 'spacetag': 'SpaceTag', 'subnettags': 'SubnetTags'} - _toPy = {'Public': 'public', 'SubnetTags': 'subnettags', 'ProviderId': 'providerid', 'SpaceTag': 'spacetag'} - def __init__(self, providerid=None, public=None, spacetag=None, subnettags=None): - ''' - providerid : str - public : bool - spacetag : str - subnettags : typing.Sequence[str] - ''' - self.providerid = providerid - self.public = public - self.spacetag = spacetag - self.subnettags = subnettags - - -class CreateSpacesParams(Type): - _toSchema = {'spaces': 'Spaces'} - _toPy = {'Spaces': 'spaces'} - def __init__(self, spaces=None): - ''' - spaces : typing.Sequence[~CreateSpaceParams] - ''' - self.spaces = [CreateSpaceParams.from_json(o) for o in spaces or []] - - -class DiscoverSpacesResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~ProviderSpace] - ''' - self.results = [ProviderSpace.from_json(o) for o in results or []] - - -class ListSubnetsResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~Subnet] - ''' - self.results = [Subnet.from_json(o) for o in results or []] - - -class ProviderSpace(Type): - _toSchema = {'providerid': 'ProviderId', 'name': 'Name', 'error': 'Error', 'subnets': 'Subnets'} - _toPy = {'Name': 'name', 'Subnets': 'subnets', 'Error': 'error', 'ProviderId': 'providerid'} - def __init__(self, error=None, name=None, providerid=None, subnets=None): - ''' - error : Error - name : str - providerid : str - subnets : typing.Sequence[~Subnet] - ''' - self.error = Error.from_json(error) - self.name = name - self.providerid = providerid - self.subnets = [Subnet.from_json(o) for o in subnets or []] - - -class Subnet(Type): - _toSchema = {'providerid': 'ProviderId', 'cidr': 'CIDR', 'life': 'Life', 'staticrangehighip': 'StaticRangeHighIP', 'zones': 'Zones', 'vlantag': 'VLANTag', 'staticrangelowip': 'StaticRangeLowIP', 'spacetag': 'SpaceTag', 'status': 'Status'} - _toPy = {'StaticRangeHighIP': 'staticrangehighip', 'Zones': 'zones', 'StaticRangeLowIP': 'staticrangelowip', 'CIDR': 'cidr', 'VLANTag': 'vlantag', 'Status': 'status', 'Life': 'life', 'ProviderId': 'providerid', 'SpaceTag': 'spacetag'} - def __init__(self, cidr=None, life=None, providerid=None, spacetag=None, staticrangehighip=None, staticrangelowip=None, status=None, vlantag=None, zones=None): - ''' - cidr : str - life : str - providerid : str - spacetag : str - staticrangehighip : typing.Sequence[int] - staticrangelowip : typing.Sequence[int] - status : str - vlantag : int - zones : typing.Sequence[str] - ''' - self.cidr = cidr - self.life = life - self.providerid = providerid - self.spacetag = spacetag - self.staticrangehighip = staticrangehighip - self.staticrangelowip = staticrangelowip - self.status = status - self.vlantag = vlantag - self.zones = zones - - -class SubnetsFilters(Type): - _toSchema = {'spacetag': 'SpaceTag', 'zone': 'Zone'} - _toPy = {'Zone': 'zone', 'SpaceTag': 'spacetag'} - def __init__(self, spacetag=None, zone=None): - ''' - spacetag : str - zone : str - ''' - self.spacetag = spacetag - self.zone = zone - - -class BlockDevice(Type): - _toSchema = {'hardwareid': 'HardwareId', 'inuse': 'InUse', 'size': 'Size', 'uuid': 'UUID', 'filesystemtype': 'FilesystemType', 'mountpoint': 'MountPoint', 'label': 'Label', 'busaddress': 'BusAddress', 'devicename': 'DeviceName', 'devicelinks': 'DeviceLinks'} - _toPy = {'FilesystemType': 'filesystemtype', 'DeviceLinks': 'devicelinks', 'Label': 'label', 'InUse': 'inuse', 'MountPoint': 'mountpoint', 'DeviceName': 'devicename', 'UUID': 'uuid', 'Size': 'size', 'HardwareId': 'hardwareid', 'BusAddress': 'busaddress'} - def __init__(self, busaddress=None, devicelinks=None, devicename=None, filesystemtype=None, hardwareid=None, inuse=None, label=None, mountpoint=None, size=None, uuid=None): - ''' - busaddress : str - devicelinks : typing.Sequence[str] - devicename : str - filesystemtype : str - hardwareid : str - inuse : bool - label : str - mountpoint : str - size : int - uuid : str - ''' - self.busaddress = busaddress - self.devicelinks = devicelinks - self.devicename = devicename - self.filesystemtype = filesystemtype - self.hardwareid = hardwareid - self.inuse = inuse - self.label = label - self.mountpoint = mountpoint - self.size = size - self.uuid = uuid - - -class MachineBlockDevices(Type): - _toSchema = {'blockdevices': 'blockdevices', 'machine': 'machine'} - _toPy = {'blockdevices': 'blockdevices', 'machine': 'machine'} - def __init__(self, blockdevices=None, machine=None): - ''' - blockdevices : typing.Sequence[~BlockDevice] - machine : str - ''' - self.blockdevices = [BlockDevice.from_json(o) for o in blockdevices or []] - self.machine = machine - - -class SetMachineBlockDevices(Type): - _toSchema = {'machineblockdevices': 'machineblockdevices'} - _toPy = {'machineblockdevices': 'machineblockdevices'} - def __init__(self, machineblockdevices=None): - ''' - machineblockdevices : typing.Sequence[~MachineBlockDevices] - ''' - self.machineblockdevices = [MachineBlockDevices.from_json(o) for o in machineblockdevices or []] - - -class MachineStorageId(Type): - _toSchema = {'attachmenttag': 'attachmenttag', 'machinetag': 'machinetag'} - _toPy = {'attachmenttag': 'attachmenttag', 'machinetag': 'machinetag'} - def __init__(self, attachmenttag=None, machinetag=None): - ''' - attachmenttag : str - machinetag : str - ''' - self.attachmenttag = attachmenttag - self.machinetag = machinetag - - -class MachineStorageIdsWatchResult(Type): - _toSchema = {'machinestorageidswatcherid': 'MachineStorageIdsWatcherId', 'changes': 'Changes', 'error': 'Error'} - _toPy = {'Error': 'error', 'Changes': 'changes', 'MachineStorageIdsWatcherId': 'machinestorageidswatcherid'} - def __init__(self, changes=None, error=None, machinestorageidswatcherid=None): - ''' - changes : typing.Sequence[~MachineStorageId] - error : Error - machinestorageidswatcherid : str - ''' - self.changes = [MachineStorageId.from_json(o) for o in changes or []] - self.error = Error.from_json(error) - self.machinestorageidswatcherid = machinestorageidswatcherid - - -class BoolResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~BoolResult] - ''' - self.results = [BoolResult.from_json(o) for o in results or []] - - -class MachinePortRange(Type): - _toSchema = {'relationtag': 'RelationTag', 'portrange': 'PortRange', 'unittag': 'UnitTag'} - _toPy = {'UnitTag': 'unittag', 'PortRange': 'portrange', 'RelationTag': 'relationtag'} - def __init__(self, portrange=None, relationtag=None, unittag=None): - ''' - portrange : PortRange - relationtag : str - unittag : str - ''' - self.portrange = PortRange.from_json(portrange) - self.relationtag = relationtag - self.unittag = unittag - - -class MachinePorts(Type): - _toSchema = {'machinetag': 'MachineTag', 'subnettag': 'SubnetTag'} - _toPy = {'MachineTag': 'machinetag', 'SubnetTag': 'subnettag'} - def __init__(self, machinetag=None, subnettag=None): - ''' - machinetag : str - subnettag : str - ''' - self.machinetag = machinetag - self.subnettag = subnettag - - -class MachinePortsParams(Type): - _toSchema = {'params': 'Params'} - _toPy = {'Params': 'params'} - def __init__(self, params=None): - ''' - params : typing.Sequence[~MachinePorts] - ''' - self.params = [MachinePorts.from_json(o) for o in params or []] - - -class MachinePortsResult(Type): - _toSchema = {'error': 'Error', 'ports': 'Ports'} - _toPy = {'Error': 'error', 'Ports': 'ports'} - def __init__(self, error=None, ports=None): - ''' - error : Error - ports : typing.Sequence[~MachinePortRange] - ''' - self.error = Error.from_json(error) - self.ports = [MachinePortRange.from_json(o) for o in ports or []] - - -class MachinePortsResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~MachinePortsResult] - ''' - self.results = [MachinePortsResult.from_json(o) for o in results or []] - - -class NotifyWatchResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~NotifyWatchResult] - ''' - self.results = [NotifyWatchResult.from_json(o) for o in results or []] - - -class PortRange(Type): - _toSchema = {'protocol': 'Protocol', 'toport': 'ToPort', 'fromport': 'FromPort'} - _toPy = {'FromPort': 'fromport', 'Protocol': 'protocol', 'ToPort': 'toport'} - def __init__(self, fromport=None, protocol=None, toport=None): - ''' - fromport : int - protocol : str - toport : int - ''' - self.fromport = fromport - self.protocol = protocol - self.toport = toport - - -class StringResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~StringResult] - ''' - self.results = [StringResult.from_json(o) for o in results or []] - - -class StringsResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~StringsResult] - ''' - self.results = [StringsResult.from_json(o) for o in results or []] - - -class ControllersChangeResult(Type): - _toSchema = {'error': 'Error', 'result': 'Result'} - _toPy = {'Error': 'error', 'Result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : ControllersChanges - ''' - self.error = Error.from_json(error) - self.result = ControllersChanges.from_json(result) - - -class ControllersChangeResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~ControllersChangeResult] - ''' - self.results = [ControllersChangeResult.from_json(o) for o in results or []] - - -class ControllersChanges(Type): - _toSchema = {'added': 'added', 'promoted': 'promoted', 'removed': 'removed', 'demoted': 'demoted', 'maintained': 'maintained', 'converted': 'converted'} - _toPy = {'added': 'added', 'promoted': 'promoted', 'removed': 'removed', 'demoted': 'demoted', 'maintained': 'maintained', 'converted': 'converted'} - def __init__(self, added=None, converted=None, demoted=None, maintained=None, promoted=None, removed=None): - ''' - added : typing.Sequence[str] - converted : typing.Sequence[str] - demoted : typing.Sequence[str] - maintained : typing.Sequence[str] - promoted : typing.Sequence[str] - removed : typing.Sequence[str] - ''' - self.added = added - self.converted = converted - self.demoted = demoted - self.maintained = maintained - self.promoted = promoted - self.removed = removed - - -class ControllersSpec(Type): - _toSchema = {'modeltag': 'ModelTag', 'num_controllers': 'num-controllers', 'constraints': 'constraints', 'placement': 'placement', 'series': 'series'} - _toPy = {'placement': 'placement', 'constraints': 'constraints', 'series': 'series', 'num-controllers': 'num_controllers', 'ModelTag': 'modeltag'} - def __init__(self, modeltag=None, constraints=None, num_controllers=None, placement=None, series=None): - ''' - modeltag : str - constraints : Value - num_controllers : int - placement : typing.Sequence[str] - series : str - ''' - self.modeltag = modeltag - self.constraints = Value.from_json(constraints) - self.num_controllers = num_controllers - self.placement = placement - self.series = series - - -class ControllersSpecs(Type): - _toSchema = {'specs': 'Specs'} - _toPy = {'Specs': 'specs'} - def __init__(self, specs=None): - ''' - specs : typing.Sequence[~ControllersSpec] - ''' - self.specs = [ControllersSpec.from_json(o) for o in specs or []] - - -class HAMember(Type): - _toSchema = {'publicaddress': 'PublicAddress', 'series': 'Series', 'tag': 'Tag'} - _toPy = {'Tag': 'tag', 'PublicAddress': 'publicaddress', 'Series': 'series'} - def __init__(self, publicaddress=None, series=None, tag=None): - ''' - publicaddress : Address - series : str - tag : str - ''' - self.publicaddress = Address.from_json(publicaddress) - self.series = series - self.tag = tag - - -class Member(Type): - _toSchema = {'slavedelay': 'SlaveDelay', 'id_': 'Id', 'priority': 'Priority', 'hidden': 'Hidden', 'address': 'Address', 'buildindexes': 'BuildIndexes', 'arbiter': 'Arbiter', 'votes': 'Votes', 'tags': 'Tags'} - _toPy = {'SlaveDelay': 'slavedelay', 'Id': 'id_', 'Hidden': 'hidden', 'Arbiter': 'arbiter', 'Priority': 'priority', 'Address': 'address', 'Votes': 'votes', 'Tags': 'tags', 'BuildIndexes': 'buildindexes'} - def __init__(self, address=None, arbiter=None, buildindexes=None, hidden=None, id_=None, priority=None, slavedelay=None, tags=None, votes=None): - ''' - address : str - arbiter : bool - buildindexes : bool - hidden : bool - id_ : int - priority : float - slavedelay : int - tags : typing.Mapping[str, str] - votes : int - ''' - self.address = address - self.arbiter = arbiter - self.buildindexes = buildindexes - self.hidden = hidden - self.id_ = id_ - self.priority = priority - self.slavedelay = slavedelay - self.tags = tags - self.votes = votes - - -class MongoUpgradeResults(Type): - _toSchema = {'members': 'Members', 'master': 'Master', 'rsmembers': 'RsMembers'} - _toPy = {'Members': 'members', 'RsMembers': 'rsmembers', 'Master': 'master'} - def __init__(self, master=None, members=None, rsmembers=None): - ''' - master : HAMember - members : typing.Sequence[~HAMember] - rsmembers : typing.Sequence[~Member] - ''' - self.master = HAMember.from_json(master) - self.members = [HAMember.from_json(o) for o in members or []] - self.rsmembers = [Member.from_json(o) for o in rsmembers or []] - - -class ResumeReplicationParams(Type): - _toSchema = {'members': 'Members'} - _toPy = {'Members': 'members'} - def __init__(self, members=None): - ''' - members : typing.Sequence[~Member] - ''' - self.members = [Member.from_json(o) for o in members or []] - - -class UpgradeMongoParams(Type): - _toSchema = {'patch': 'Patch', 'major': 'Major', 'storageengine': 'StorageEngine', 'minor': 'Minor'} - _toPy = {'Patch': 'patch', 'StorageEngine': 'storageengine', 'Major': 'major', 'Minor': 'minor'} - def __init__(self, major=None, minor=None, patch=None, storageengine=None): - ''' - major : int - minor : int - patch : str - storageengine : str - ''' - self.major = major - self.minor = minor - self.patch = patch - self.storageengine = storageengine - - -class Version(Type): - _toSchema = {'patch': 'Patch', 'major': 'Major', 'storageengine': 'StorageEngine', 'minor': 'Minor'} - _toPy = {'Patch': 'patch', 'StorageEngine': 'storageengine', 'Major': 'major', 'Minor': 'minor'} - def __init__(self, major=None, minor=None, patch=None, storageengine=None): - ''' - major : int - minor : int - patch : str - storageengine : str - ''' - self.major = major - self.minor = minor - self.patch = patch - self.storageengine = storageengine - - -class SSHHostKeySet(Type): - _toSchema = {'entity_keys': 'entity-keys'} - _toPy = {'entity-keys': 'entity_keys'} - def __init__(self, entity_keys=None): - ''' - entity_keys : typing.Sequence[~SSHHostKeys] - ''' - self.entity_keys = [SSHHostKeys.from_json(o) for o in entity_keys or []] - - -class SSHHostKeys(Type): - _toSchema = {'tag': 'tag', 'public_keys': 'public-keys'} - _toPy = {'public-keys': 'public_keys', 'tag': 'tag'} - def __init__(self, public_keys=None, tag=None): - ''' - public_keys : typing.Sequence[str] - tag : str - ''' - self.public_keys = public_keys - self.tag = tag - - -class ImageFilterParams(Type): - _toSchema = {'images': 'images'} - _toPy = {'images': 'images'} - def __init__(self, images=None): - ''' - images : typing.Sequence[~ImageSpec] - ''' - self.images = [ImageSpec.from_json(o) for o in images or []] - - -class ImageMetadata(Type): - _toSchema = {'url': 'url', 'created': 'created', 'kind': 'kind', 'series': 'series', 'arch': 'arch'} - _toPy = {'url': 'url', 'created': 'created', 'kind': 'kind', 'series': 'series', 'arch': 'arch'} - def __init__(self, arch=None, created=None, kind=None, series=None, url=None): - ''' - arch : str - created : str - kind : str - series : str - url : str - ''' - self.arch = arch - self.created = created - self.kind = kind - self.series = series - self.url = url - - -class ImageSpec(Type): - _toSchema = {'kind': 'kind', 'series': 'series', 'arch': 'arch'} - _toPy = {'kind': 'kind', 'series': 'series', 'arch': 'arch'} - def __init__(self, arch=None, kind=None, series=None): - ''' - arch : str - kind : str - series : str - ''' - self.arch = arch - self.kind = kind - self.series = series - - -class ListImageResult(Type): - _toSchema = {'result': 'result'} - _toPy = {'result': 'result'} - def __init__(self, result=None): - ''' - result : typing.Sequence[~ImageMetadata] - ''' - self.result = [ImageMetadata.from_json(o) for o in result or []] - - -class CloudImageMetadata(Type): - _toSchema = {'source': 'source', 'root_storage_size': 'root_storage_size', 'series': 'series', 'version': 'version', 'priority': 'priority', 'image_id': 'image_id', 'virt_type': 'virt_type', 'stream': 'stream', 'root_storage_type': 'root_storage_type', 'region': 'region', 'arch': 'arch'} - _toPy = {'source': 'source', 'root_storage_size': 'root_storage_size', 'series': 'series', 'version': 'version', 'priority': 'priority', 'image_id': 'image_id', 'virt_type': 'virt_type', 'stream': 'stream', 'root_storage_type': 'root_storage_type', 'region': 'region', 'arch': 'arch'} - def __init__(self, arch=None, image_id=None, priority=None, region=None, root_storage_size=None, root_storage_type=None, series=None, source=None, stream=None, version=None, virt_type=None): - ''' - arch : str - image_id : str - priority : int - region : str - root_storage_size : int - root_storage_type : str - series : str - source : str - stream : str - version : str - virt_type : str - ''' - self.arch = arch - self.image_id = image_id - self.priority = priority - self.region = region - self.root_storage_size = root_storage_size - self.root_storage_type = root_storage_type - self.series = series - self.source = source - self.stream = stream - self.version = version - self.virt_type = virt_type - - -class CloudImageMetadataList(Type): - _toSchema = {'metadata': 'metadata'} - _toPy = {'metadata': 'metadata'} - def __init__(self, metadata=None): - ''' - metadata : typing.Sequence[~CloudImageMetadata] - ''' - self.metadata = [CloudImageMetadata.from_json(o) for o in metadata or []] - - -class ImageMetadataFilter(Type): - _toSchema = {'series': 'series', 'virt_type': 'virt_type', 'stream': 'stream', 'arches': 'arches', 'region': 'region', 'root_storage_type': 'root-storage-type'} - _toPy = {'series': 'series', 'root-storage-type': 'root_storage_type', 'virt_type': 'virt_type', 'stream': 'stream', 'arches': 'arches', 'region': 'region'} - def __init__(self, arches=None, region=None, root_storage_type=None, series=None, stream=None, virt_type=None): - ''' - arches : typing.Sequence[str] - region : str - root_storage_type : str - series : typing.Sequence[str] - stream : str - virt_type : str - ''' - self.arches = arches - self.region = region - self.root_storage_type = root_storage_type - self.series = series - self.stream = stream - self.virt_type = virt_type - - -class ListCloudImageMetadataResult(Type): - _toSchema = {'result': 'result'} - _toPy = {'result': 'result'} - def __init__(self, result=None): - ''' - result : typing.Sequence[~CloudImageMetadata] - ''' - self.result = [CloudImageMetadata.from_json(o) for o in result or []] - - -class MetadataImageIds(Type): - _toSchema = {'image_ids': 'image_ids'} - _toPy = {'image_ids': 'image_ids'} - def __init__(self, image_ids=None): - ''' - image_ids : typing.Sequence[str] - ''' - self.image_ids = image_ids - - -class MetadataSaveParams(Type): - _toSchema = {'metadata': 'metadata'} - _toPy = {'metadata': 'metadata'} - def __init__(self, metadata=None): - ''' - metadata : typing.Sequence[~CloudImageMetadataList] - ''' - self.metadata = [CloudImageMetadataList.from_json(o) for o in metadata or []] - - -class EntityStatusArgs(Type): - _toSchema = {'info': 'Info', 'data': 'Data', 'tag': 'Tag', 'status': 'Status'} - _toPy = {'Status': 'status', 'Tag': 'tag', 'Data': 'data', 'Info': 'info'} - def __init__(self, data=None, info=None, status=None, tag=None): - ''' - data : typing.Mapping[str, typing.Any] - info : str - status : str - tag : str - ''' - self.data = data - self.info = info - self.status = status - self.tag = tag - - -class MachineAddresses(Type): - _toSchema = {'addresses': 'Addresses', 'tag': 'Tag'} - _toPy = {'Addresses': 'addresses', 'Tag': 'tag'} - def __init__(self, addresses=None, tag=None): - ''' - addresses : typing.Sequence[~Address] - tag : str - ''' - self.addresses = [Address.from_json(o) for o in addresses or []] - self.tag = tag - - -class MachineAddressesResult(Type): - _toSchema = {'addresses': 'Addresses', 'error': 'Error'} - _toPy = {'Error': 'error', 'Addresses': 'addresses'} - def __init__(self, addresses=None, error=None): - ''' - addresses : typing.Sequence[~Address] - error : Error - ''' - self.addresses = [Address.from_json(o) for o in addresses or []] - self.error = Error.from_json(error) - - -class MachineAddressesResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~MachineAddressesResult] - ''' - self.results = [MachineAddressesResult.from_json(o) for o in results or []] - - -class SetMachinesAddresses(Type): - _toSchema = {'machineaddresses': 'MachineAddresses'} - _toPy = {'MachineAddresses': 'machineaddresses'} - def __init__(self, machineaddresses=None): - ''' - machineaddresses : typing.Sequence[~MachineAddresses] - ''' - self.machineaddresses = [MachineAddresses.from_json(o) for o in machineaddresses or []] - - -class SetStatus(Type): - _toSchema = {'entities': 'Entities'} - _toPy = {'Entities': 'entities'} - def __init__(self, entities=None): - ''' - entities : typing.Sequence[~EntityStatusArgs] - ''' - self.entities = [EntityStatusArgs.from_json(o) for o in entities or []] - - -class StatusResult(Type): - _toSchema = {'info': 'Info', 'since': 'Since', 'id_': 'Id', 'life': 'Life', 'data': 'Data', 'error': 'Error', 'status': 'Status'} - _toPy = {'Since': 'since', 'Data': 'data', 'Id': 'id_', 'Status': 'status', 'Life': 'life', 'Error': 'error', 'Info': 'info'} - def __init__(self, data=None, error=None, id_=None, info=None, life=None, since=None, status=None): - ''' - data : typing.Mapping[str, typing.Any] - error : Error - id_ : str - info : str - life : str - since : str - status : str - ''' - self.data = data - self.error = Error.from_json(error) - self.id_ = id_ - self.info = info - self.life = life - self.since = since - self.status = status - - -class StatusResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~StatusResult] - ''' - self.results = [StatusResult.from_json(o) for o in results or []] - - -class ListSSHKeys(Type): - _toSchema = {'mode': 'Mode', 'entities': 'Entities'} - _toPy = {'Mode': 'mode', 'Entities': 'entities'} - def __init__(self, entities=None, mode=None): - ''' - entities : Entities - mode : bool - ''' - self.entities = Entities.from_json(entities) - self.mode = mode - - -class ModifyUserSSHKeys(Type): - _toSchema = {'keys': 'Keys', 'user': 'User'} - _toPy = {'Keys': 'keys', 'User': 'user'} - def __init__(self, keys=None, user=None): - ''' - keys : typing.Sequence[str] - user : str - ''' - self.keys = keys - self.user = user - - -class ClaimLeadershipBulkParams(Type): - _toSchema = {'params': 'Params'} - _toPy = {'Params': 'params'} - def __init__(self, params=None): - ''' - params : typing.Sequence[~ClaimLeadershipParams] - ''' - self.params = [ClaimLeadershipParams.from_json(o) for o in params or []] - - -class ClaimLeadershipBulkResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~ErrorResult] - ''' - self.results = [ErrorResult.from_json(o) for o in results or []] - - -class ClaimLeadershipParams(Type): - _toSchema = {'durationseconds': 'DurationSeconds', 'unittag': 'UnitTag', 'servicetag': 'ServiceTag'} - _toPy = {'ServiceTag': 'servicetag', 'UnitTag': 'unittag', 'DurationSeconds': 'durationseconds'} - def __init__(self, durationseconds=None, servicetag=None, unittag=None): - ''' - durationseconds : float - servicetag : str - unittag : str - ''' - self.durationseconds = durationseconds - self.servicetag = servicetag - self.unittag = unittag - - -class ServiceTag(Type): - _toSchema = {'name': 'Name'} - _toPy = {'Name': 'name'} - def __init__(self, name=None): - ''' - name : str - ''' - self.name = name - - -class ActionExecutionResult(Type): - _toSchema = {'message': 'message', 'results': 'results', 'status': 'status', 'actiontag': 'actiontag'} - _toPy = {'message': 'message', 'results': 'results', 'status': 'status', 'actiontag': 'actiontag'} - def __init__(self, actiontag=None, message=None, results=None, status=None): - ''' - actiontag : str - message : str - results : typing.Mapping[str, typing.Any] - status : str - ''' - self.actiontag = actiontag - self.message = message - self.results = results - self.status = status - - -class ActionExecutionResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~ActionExecutionResult] - ''' - self.results = [ActionExecutionResult.from_json(o) for o in results or []] - - -class JobsResult(Type): - _toSchema = {'jobs': 'Jobs', 'error': 'Error'} - _toPy = {'Error': 'error', 'Jobs': 'jobs'} - def __init__(self, error=None, jobs=None): - ''' - error : Error - jobs : typing.Sequence[str] - ''' - self.error = Error.from_json(error) - self.jobs = jobs - - -class JobsResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~JobsResult] - ''' - self.results = [JobsResult.from_json(o) for o in results or []] - - -class NetworkConfig(Type): - _toSchema = {'parentinterfacename': 'ParentInterfaceName', 'macaddress': 'MACAddress', 'cidr': 'CIDR', 'dnsservers': 'DNSServers', 'noautostart': 'NoAutoStart', 'address': 'Address', 'providersubnetid': 'ProviderSubnetId', 'providerspaceid': 'ProviderSpaceId', 'gatewayaddress': 'GatewayAddress', 'provideraddressid': 'ProviderAddressId', 'providerid': 'ProviderId', 'disabled': 'Disabled', 'dnssearchdomains': 'DNSSearchDomains', 'deviceindex': 'DeviceIndex', 'configtype': 'ConfigType', 'vlantag': 'VLANTag', 'interfacetype': 'InterfaceType', 'interfacename': 'InterfaceName', 'mtu': 'MTU', 'providervlanid': 'ProviderVLANId'} - _toPy = {'ParentInterfaceName': 'parentinterfacename', 'VLANTag': 'vlantag', 'MTU': 'mtu', 'CIDR': 'cidr', 'ProviderAddressId': 'provideraddressid', 'ConfigType': 'configtype', 'ProviderSpaceId': 'providerspaceid', 'GatewayAddress': 'gatewayaddress', 'ProviderId': 'providerid', 'InterfaceName': 'interfacename', 'InterfaceType': 'interfacetype', 'NoAutoStart': 'noautostart', 'DNSServers': 'dnsservers', 'DNSSearchDomains': 'dnssearchdomains', 'ProviderSubnetId': 'providersubnetid', 'MACAddress': 'macaddress', 'Address': 'address', 'Disabled': 'disabled', 'DeviceIndex': 'deviceindex', 'ProviderVLANId': 'providervlanid'} - def __init__(self, address=None, cidr=None, configtype=None, dnssearchdomains=None, dnsservers=None, deviceindex=None, disabled=None, gatewayaddress=None, interfacename=None, interfacetype=None, macaddress=None, mtu=None, noautostart=None, parentinterfacename=None, provideraddressid=None, providerid=None, providerspaceid=None, providersubnetid=None, providervlanid=None, vlantag=None): - ''' - address : str - cidr : str - configtype : str - dnssearchdomains : typing.Sequence[str] - dnsservers : typing.Sequence[str] - deviceindex : int - disabled : bool - gatewayaddress : str - interfacename : str - interfacetype : str - macaddress : str - mtu : int - noautostart : bool - parentinterfacename : str - provideraddressid : str - providerid : str - providerspaceid : str - providersubnetid : str - providervlanid : str - vlantag : int - ''' - self.address = address - self.cidr = cidr - self.configtype = configtype - self.dnssearchdomains = dnssearchdomains - self.dnsservers = dnsservers - self.deviceindex = deviceindex - self.disabled = disabled - self.gatewayaddress = gatewayaddress - self.interfacename = interfacename - self.interfacetype = interfacetype - self.macaddress = macaddress - self.mtu = mtu - self.noautostart = noautostart - self.parentinterfacename = parentinterfacename - self.provideraddressid = provideraddressid - self.providerid = providerid - self.providerspaceid = providerspaceid - self.providersubnetid = providersubnetid - self.providervlanid = providervlanid - self.vlantag = vlantag - - -class SetMachineNetworkConfig(Type): - _toSchema = {'config': 'Config', 'tag': 'Tag'} - _toPy = {'Tag': 'tag', 'Config': 'config'} - def __init__(self, config=None, tag=None): - ''' - config : typing.Sequence[~NetworkConfig] - tag : str - ''' - self.config = [NetworkConfig.from_json(o) for o in config or []] - self.tag = tag - - -class MeterStatusResult(Type): - _toSchema = {'info': 'Info', 'code': 'Code', 'error': 'Error'} - _toPy = {'Error': 'error', 'Code': 'code', 'Info': 'info'} - def __init__(self, code=None, error=None, info=None): - ''' - code : str - error : Error - info : str - ''' - self.code = code - self.error = Error.from_json(error) - self.info = info - - -class MeterStatusResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~MeterStatusResult] - ''' - self.results = [MeterStatusResult.from_json(o) for o in results or []] - - -class Metric(Type): - _toSchema = {'key': 'Key', 'time': 'Time', 'value': 'Value'} - _toPy = {'Key': 'key', 'Value': 'value', 'Time': 'time'} - def __init__(self, key=None, time=None, value=None): - ''' - key : str - time : str - value : str - ''' - self.key = key - self.time = time - self.value = value - - -class MetricBatch(Type): - _toSchema = {'created': 'Created', 'metrics': 'Metrics', 'uuid': 'UUID', 'charmurl': 'CharmURL'} - _toPy = {'Metrics': 'metrics', 'UUID': 'uuid', 'CharmURL': 'charmurl', 'Created': 'created'} - def __init__(self, charmurl=None, created=None, metrics=None, uuid=None): - ''' - charmurl : str - created : str - metrics : typing.Sequence[~Metric] - uuid : str - ''' - self.charmurl = charmurl - self.created = created - self.metrics = [Metric.from_json(o) for o in metrics or []] - self.uuid = uuid - - -class MetricBatchParam(Type): - _toSchema = {'batch': 'Batch', 'tag': 'Tag'} - _toPy = {'Tag': 'tag', 'Batch': 'batch'} - def __init__(self, batch=None, tag=None): - ''' - batch : MetricBatch - tag : str - ''' - self.batch = MetricBatch.from_json(batch) - self.tag = tag - - -class MetricBatchParams(Type): - _toSchema = {'batches': 'Batches'} - _toPy = {'Batches': 'batches'} - def __init__(self, batches=None): - ''' - batches : typing.Sequence[~MetricBatchParam] - ''' - self.batches = [MetricBatchParam.from_json(o) for o in batches or []] - - -class EntityMetrics(Type): - _toSchema = {'metrics': 'metrics', 'error': 'error'} - _toPy = {'metrics': 'metrics', 'error': 'error'} - def __init__(self, error=None, metrics=None): - ''' - error : Error - metrics : typing.Sequence[~MetricResult] - ''' - self.error = Error.from_json(error) - self.metrics = [MetricResult.from_json(o) for o in metrics or []] - - -class MeterStatusParam(Type): - _toSchema = {'info': 'info', 'code': 'code', 'tag': 'tag'} - _toPy = {'info': 'info', 'code': 'code', 'tag': 'tag'} - def __init__(self, code=None, info=None, tag=None): - ''' - code : str - info : str - tag : str - ''' - self.code = code - self.info = info - self.tag = tag - - -class MeterStatusParams(Type): - _toSchema = {'statues': 'statues'} - _toPy = {'statues': 'statues'} - def __init__(self, statues=None): - ''' - statues : typing.Sequence[~MeterStatusParam] - ''' - self.statues = [MeterStatusParam.from_json(o) for o in statues or []] - - -class MetricResult(Type): - _toSchema = {'key': 'key', 'time': 'time', 'value': 'value'} - _toPy = {'key': 'key', 'time': 'time', 'value': 'value'} - def __init__(self, key=None, time=None, value=None): - ''' - key : str - time : str - value : str - ''' - self.key = key - self.time = time - self.value = value - - -class MetricResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~EntityMetrics] - ''' - self.results = [EntityMetrics.from_json(o) for o in results or []] - - -class PhaseResult(Type): - _toSchema = {'phase': 'phase', 'error': 'Error'} - _toPy = {'phase': 'phase', 'Error': 'error'} - def __init__(self, error=None, phase=None): - ''' - error : Error - phase : str - ''' - self.error = Error.from_json(error) - self.phase = phase - - -class PhaseResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~PhaseResult] - ''' - self.results = [PhaseResult.from_json(o) for o in results or []] - - -class FullMigrationStatus(Type): - _toSchema = {'attempt': 'attempt', 'phase': 'phase', 'spec': 'spec'} - _toPy = {'attempt': 'attempt', 'phase': 'phase', 'spec': 'spec'} - def __init__(self, attempt=None, phase=None, spec=None): - ''' - attempt : int - phase : str - spec : ModelMigrationSpec - ''' - self.attempt = attempt - self.phase = phase - self.spec = ModelMigrationSpec.from_json(spec) - - -class SerializedModel(Type): - _toSchema = {'bytes_': 'bytes'} - _toPy = {'bytes': 'bytes_'} - def __init__(self, bytes_=None): - ''' - bytes_ : typing.Sequence[int] - ''' - self.bytes_ = bytes_ - - -class SetMigrationPhaseArgs(Type): - _toSchema = {'phase': 'phase'} - _toPy = {'phase': 'phase'} - def __init__(self, phase=None): - ''' - phase : str - ''' - self.phase = phase - - -class MigrationStatus(Type): - _toSchema = {'source_ca_cert': 'source-ca-cert', 'attempt': 'attempt', 'target_api_addrs': 'target-api-addrs', 'source_api_addrs': 'source-api-addrs', 'target_ca_cert': 'target-ca-cert', 'phase': 'phase'} - _toPy = {'attempt': 'attempt', 'target-ca-cert': 'target_ca_cert', 'source-ca-cert': 'source_ca_cert', 'target-api-addrs': 'target_api_addrs', 'phase': 'phase', 'source-api-addrs': 'source_api_addrs'} - def __init__(self, attempt=None, phase=None, source_api_addrs=None, source_ca_cert=None, target_api_addrs=None, target_ca_cert=None): - ''' - attempt : int - phase : str - source_api_addrs : typing.Sequence[str] - source_ca_cert : str - target_api_addrs : typing.Sequence[str] - target_ca_cert : str - ''' - self.attempt = attempt - self.phase = phase - self.source_api_addrs = source_api_addrs - self.source_ca_cert = source_ca_cert - self.target_api_addrs = target_api_addrs - self.target_ca_cert = target_ca_cert - - -class ModelArgs(Type): - _toSchema = {'model_tag': 'model-tag'} - _toPy = {'model-tag': 'model_tag'} - def __init__(self, model_tag=None): - ''' - model_tag : str - ''' - self.model_tag = model_tag - - -class ModelCreateArgs(Type): - _toSchema = {'config': 'Config', 'ownertag': 'OwnerTag', 'account': 'Account'} - _toPy = {'OwnerTag': 'ownertag', 'Config': 'config', 'Account': 'account'} - def __init__(self, account=None, config=None, ownertag=None): - ''' - account : typing.Mapping[str, typing.Any] - config : typing.Mapping[str, typing.Any] - ownertag : str - ''' - self.account = account - self.config = config - self.ownertag = ownertag - - -class ModelInfoResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : ModelInfo - ''' - self.error = Error.from_json(error) - self.result = ModelInfo.from_json(result) - - -class ModelInfoResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~ModelInfoResult] - ''' - self.results = [ModelInfoResult.from_json(o) for o in results or []] - - -class ModelSkeletonConfigArgs(Type): - _toSchema = {'provider': 'Provider', 'region': 'Region'} - _toPy = {'Provider': 'provider', 'Region': 'region'} - def __init__(self, provider=None, region=None): - ''' - provider : str - region : str - ''' - self.provider = provider - self.region = region - - -class ModifyModelAccess(Type): - _toSchema = {'access': 'access', 'model_tag': 'model-tag', 'action': 'action', 'user_tag': 'user-tag'} - _toPy = {'access': 'access', 'model-tag': 'model_tag', 'action': 'action', 'user-tag': 'user_tag'} - def __init__(self, access=None, action=None, model_tag=None, user_tag=None): - ''' - access : str - action : str - model_tag : str - user_tag : str - ''' - self.access = access - self.action = action - self.model_tag = model_tag - self.user_tag = user_tag - - -class ModifyModelAccessRequest(Type): - _toSchema = {'changes': 'changes'} - _toPy = {'changes': 'changes'} - def __init__(self, changes=None): - ''' - changes : typing.Sequence[~ModifyModelAccess] - ''' - self.changes = [ModifyModelAccess.from_json(o) for o in changes or []] - - -class ConstraintsResult(Type): - _toSchema = {'constraints': 'Constraints', 'error': 'Error'} - _toPy = {'Constraints': 'constraints', 'Error': 'error'} - def __init__(self, constraints=None, error=None): - ''' - constraints : Value - error : Error - ''' - self.constraints = Value.from_json(constraints) - self.error = Error.from_json(error) - - -class ConstraintsResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~ConstraintsResult] - ''' - self.results = [ConstraintsResult.from_json(o) for o in results or []] - - -class ContainerConfig(Type): - _toSchema = {'preferipv6': 'PreferIPv6', 'allowlxcloopmounts': 'AllowLXCLoopMounts', 'providertype': 'ProviderType', 'aptproxy': 'AptProxy', 'authorizedkeys': 'AuthorizedKeys', 'proxy': 'Proxy', 'aptmirror': 'AptMirror', 'updatebehavior': 'UpdateBehavior', 'sslhostnameverification': 'SSLHostnameVerification'} - _toPy = {'AptProxy': 'aptproxy', 'AllowLXCLoopMounts': 'allowlxcloopmounts', 'AptMirror': 'aptmirror', 'AuthorizedKeys': 'authorizedkeys', 'ProviderType': 'providertype', 'PreferIPv6': 'preferipv6', 'Proxy': 'proxy', 'SSLHostnameVerification': 'sslhostnameverification', 'UpdateBehavior': 'updatebehavior'} - def __init__(self, allowlxcloopmounts=None, aptmirror=None, aptproxy=None, authorizedkeys=None, preferipv6=None, providertype=None, proxy=None, sslhostnameverification=None, updatebehavior=None): - ''' - allowlxcloopmounts : bool - aptmirror : str - aptproxy : Settings - authorizedkeys : str - preferipv6 : bool - providertype : str - proxy : Settings - sslhostnameverification : bool - updatebehavior : UpdateBehavior - ''' - self.allowlxcloopmounts = allowlxcloopmounts - self.aptmirror = aptmirror - self.aptproxy = Settings.from_json(aptproxy) - self.authorizedkeys = authorizedkeys - self.preferipv6 = preferipv6 - self.providertype = providertype - self.proxy = Settings.from_json(proxy) - self.sslhostnameverification = sslhostnameverification - self.updatebehavior = UpdateBehavior.from_json(updatebehavior) - - -class ContainerManagerConfig(Type): - _toSchema = {'managerconfig': 'ManagerConfig'} - _toPy = {'ManagerConfig': 'managerconfig'} - def __init__(self, managerconfig=None): - ''' - managerconfig : typing.Mapping[str, str] - ''' - self.managerconfig = managerconfig - - -class ContainerManagerConfigParams(Type): - _toSchema = {'type_': 'Type'} - _toPy = {'Type': 'type_'} - def __init__(self, type_=None): - ''' - type_ : str - ''' - self.type_ = type_ - - -class DistributionGroupResult(Type): - _toSchema = {'error': 'Error', 'result': 'Result'} - _toPy = {'Error': 'error', 'Result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : typing.Sequence[str] - ''' - self.error = Error.from_json(error) - self.result = result - - -class DistributionGroupResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~DistributionGroupResult] - ''' - self.results = [DistributionGroupResult.from_json(o) for o in results or []] - - -class InstanceInfo(Type): - _toSchema = {'nonce': 'Nonce', 'volumes': 'Volumes', 'volumeattachments': 'VolumeAttachments', 'tag': 'Tag', 'instanceid': 'InstanceId', 'characteristics': 'Characteristics', 'networkconfig': 'NetworkConfig'} - _toPy = {'NetworkConfig': 'networkconfig', 'Tag': 'tag', 'Characteristics': 'characteristics', 'VolumeAttachments': 'volumeattachments', 'InstanceId': 'instanceid', 'Volumes': 'volumes', 'Nonce': 'nonce'} - def __init__(self, characteristics=None, instanceid=None, networkconfig=None, nonce=None, tag=None, volumeattachments=None, volumes=None): - ''' - characteristics : HardwareCharacteristics - instanceid : str - networkconfig : typing.Sequence[~NetworkConfig] - nonce : str - tag : str - volumeattachments : typing.Mapping[str, ~VolumeAttachmentInfo] - volumes : typing.Sequence[~Volume] - ''' - self.characteristics = HardwareCharacteristics.from_json(characteristics) - self.instanceid = instanceid - self.networkconfig = [NetworkConfig.from_json(o) for o in networkconfig or []] - self.nonce = nonce - self.tag = tag - self.volumeattachments = {k: VolumeAttachmentInfo.from_json(v) for k, v in (volumeattachments or dict()).items()} - self.volumes = [Volume.from_json(o) for o in volumes or []] - - -class InstancesInfo(Type): - _toSchema = {'machines': 'Machines'} - _toPy = {'Machines': 'machines'} - def __init__(self, machines=None): - ''' - machines : typing.Sequence[~InstanceInfo] - ''' - self.machines = [InstanceInfo.from_json(o) for o in machines or []] - - -class MachineContainers(Type): - _toSchema = {'containertypes': 'ContainerTypes', 'machinetag': 'MachineTag'} - _toPy = {'MachineTag': 'machinetag', 'ContainerTypes': 'containertypes'} - def __init__(self, containertypes=None, machinetag=None): - ''' - containertypes : typing.Sequence[str] - machinetag : str - ''' - self.containertypes = containertypes - self.machinetag = machinetag - - -class MachineContainersParams(Type): - _toSchema = {'params': 'Params'} - _toPy = {'Params': 'params'} - def __init__(self, params=None): - ''' - params : typing.Sequence[~MachineContainers] - ''' - self.params = [MachineContainers.from_json(o) for o in params or []] - - -class MachineNetworkConfigResult(Type): - _toSchema = {'info': 'Info', 'error': 'Error'} - _toPy = {'Error': 'error', 'Info': 'info'} - def __init__(self, error=None, info=None): - ''' - error : Error - info : typing.Sequence[~NetworkConfig] - ''' - self.error = Error.from_json(error) - self.info = [NetworkConfig.from_json(o) for o in info or []] - - -class MachineNetworkConfigResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~MachineNetworkConfigResult] - ''' - self.results = [MachineNetworkConfigResult.from_json(o) for o in results or []] - - -class ProvisioningInfo(Type): - _toSchema = {'jobs': 'Jobs', 'placement': 'Placement', 'series': 'Series', 'endpointbindings': 'EndpointBindings', 'subnetstozones': 'SubnetsToZones', 'imagemetadata': 'ImageMetadata', 'volumes': 'Volumes', 'constraints': 'Constraints', 'tags': 'Tags'} - _toPy = {'SubnetsToZones': 'subnetstozones', 'Constraints': 'constraints', 'Tags': 'tags', 'Jobs': 'jobs', 'Placement': 'placement', 'Volumes': 'volumes', 'ImageMetadata': 'imagemetadata', 'EndpointBindings': 'endpointbindings', 'Series': 'series'} - def __init__(self, constraints=None, endpointbindings=None, imagemetadata=None, jobs=None, placement=None, series=None, subnetstozones=None, tags=None, volumes=None): - ''' - constraints : Value - endpointbindings : typing.Mapping[str, str] - imagemetadata : typing.Sequence[~CloudImageMetadata] - jobs : typing.Sequence[str] - placement : str - series : str - subnetstozones : typing.Sequence[str] - tags : typing.Mapping[str, str] - volumes : typing.Sequence[~VolumeParams] - ''' - self.constraints = Value.from_json(constraints) - self.endpointbindings = endpointbindings - self.imagemetadata = [CloudImageMetadata.from_json(o) for o in imagemetadata or []] - self.jobs = jobs - self.placement = placement - self.series = series - self.subnetstozones = subnetstozones - self.tags = tags - self.volumes = [VolumeParams.from_json(o) for o in volumes or []] - - -class ProvisioningInfoResult(Type): - _toSchema = {'error': 'Error', 'result': 'Result'} - _toPy = {'Error': 'error', 'Result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : ProvisioningInfo - ''' - self.error = Error.from_json(error) - self.result = ProvisioningInfo.from_json(result) - - -class ProvisioningInfoResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~ProvisioningInfoResult] - ''' - self.results = [ProvisioningInfoResult.from_json(o) for o in results or []] - - -class Settings(Type): - _toSchema = {'http': 'Http', 'ftp': 'Ftp', 'noproxy': 'NoProxy', 'https': 'Https'} - _toPy = {'Ftp': 'ftp', 'Https': 'https', 'Http': 'http', 'NoProxy': 'noproxy'} - def __init__(self, ftp=None, http=None, https=None, noproxy=None): - ''' - ftp : str - http : str - https : str - noproxy : str - ''' - self.ftp = ftp - self.http = http - self.https = https - self.noproxy = noproxy - - -class ToolsResult(Type): - _toSchema = {'toolslist': 'ToolsList', 'error': 'Error', 'disablesslhostnameverification': 'DisableSSLHostnameVerification'} - _toPy = {'DisableSSLHostnameVerification': 'disablesslhostnameverification', 'ToolsList': 'toolslist', 'Error': 'error'} - def __init__(self, disablesslhostnameverification=None, error=None, toolslist=None): - ''' - disablesslhostnameverification : bool - error : Error - toolslist : typing.Sequence[~Tools] - ''' - self.disablesslhostnameverification = disablesslhostnameverification - self.error = Error.from_json(error) - self.toolslist = [Tools.from_json(o) for o in toolslist or []] - - -class ToolsResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~ToolsResult] - ''' - self.results = [ToolsResult.from_json(o) for o in results or []] - - -class UpdateBehavior(Type): - _toSchema = {'enableosrefreshupdate': 'EnableOSRefreshUpdate', 'enableosupgrade': 'EnableOSUpgrade'} - _toPy = {'EnableOSRefreshUpdate': 'enableosrefreshupdate', 'EnableOSUpgrade': 'enableosupgrade'} - def __init__(self, enableosrefreshupdate=None, enableosupgrade=None): - ''' - enableosrefreshupdate : bool - enableosupgrade : bool - ''' - self.enableosrefreshupdate = enableosrefreshupdate - self.enableosupgrade = enableosupgrade - - -class Volume(Type): - _toSchema = {'info': 'info', 'volumetag': 'volumetag'} - _toPy = {'info': 'info', 'volumetag': 'volumetag'} - def __init__(self, info=None, volumetag=None): - ''' - info : VolumeInfo - volumetag : str - ''' - self.info = VolumeInfo.from_json(info) - self.volumetag = volumetag - - -class VolumeAttachmentInfo(Type): - _toSchema = {'read_only': 'read-only', 'busaddress': 'busaddress', 'devicename': 'devicename', 'devicelink': 'devicelink'} - _toPy = {'busaddress': 'busaddress', 'devicename': 'devicename', 'devicelink': 'devicelink', 'read-only': 'read_only'} - def __init__(self, busaddress=None, devicelink=None, devicename=None, read_only=None): - ''' - busaddress : str - devicelink : str - devicename : str - read_only : bool - ''' - self.busaddress = busaddress - self.devicelink = devicelink - self.devicename = devicename - self.read_only = read_only - - -class VolumeAttachmentParams(Type): - _toSchema = {'read_only': 'read-only', 'machinetag': 'machinetag', 'instanceid': 'instanceid', 'provider': 'provider', 'volumetag': 'volumetag', 'volumeid': 'volumeid'} - _toPy = {'volumetag': 'volumetag', 'machinetag': 'machinetag', 'instanceid': 'instanceid', 'volumeid': 'volumeid', 'read-only': 'read_only', 'provider': 'provider'} - def __init__(self, instanceid=None, machinetag=None, provider=None, read_only=None, volumeid=None, volumetag=None): - ''' - instanceid : str - machinetag : str - provider : str - read_only : bool - volumeid : str - volumetag : str - ''' - self.instanceid = instanceid - self.machinetag = machinetag - self.provider = provider - self.read_only = read_only - self.volumeid = volumeid - self.volumetag = volumetag - - -class VolumeInfo(Type): - _toSchema = {'hardwareid': 'hardwareid', 'persistent': 'persistent', 'volumeid': 'volumeid', 'size': 'size'} - _toPy = {'hardwareid': 'hardwareid', 'persistent': 'persistent', 'volumeid': 'volumeid', 'size': 'size'} - def __init__(self, hardwareid=None, persistent=None, size=None, volumeid=None): - ''' - hardwareid : str - persistent : bool - size : int - volumeid : str - ''' - self.hardwareid = hardwareid - self.persistent = persistent - self.size = size - self.volumeid = volumeid - - -class VolumeParams(Type): - _toSchema = {'volumetag': 'volumetag', 'attachment': 'attachment', 'size': 'size', 'attributes': 'attributes', 'provider': 'provider', 'tags': 'tags'} - _toPy = {'volumetag': 'volumetag', 'attachment': 'attachment', 'size': 'size', 'attributes': 'attributes', 'provider': 'provider', 'tags': 'tags'} - def __init__(self, attachment=None, attributes=None, provider=None, size=None, tags=None, volumetag=None): - ''' - attachment : VolumeAttachmentParams - attributes : typing.Mapping[str, typing.Any] - provider : str - size : int - tags : typing.Mapping[str, str] - volumetag : str - ''' - self.attachment = VolumeAttachmentParams.from_json(attachment) - self.attributes = attributes - self.provider = provider - self.size = size - self.tags = tags - self.volumetag = volumetag - - -class WatchContainer(Type): - _toSchema = {'containertype': 'ContainerType', 'machinetag': 'MachineTag'} - _toPy = {'MachineTag': 'machinetag', 'ContainerType': 'containertype'} - def __init__(self, containertype=None, machinetag=None): - ''' - containertype : str - machinetag : str - ''' - self.containertype = containertype - self.machinetag = machinetag - - -class WatchContainers(Type): - _toSchema = {'params': 'Params'} - _toPy = {'Params': 'params'} - def __init__(self, params=None): - ''' - params : typing.Sequence[~WatchContainer] - ''' - self.params = [WatchContainer.from_json(o) for o in params or []] - - -class ProxyConfig(Type): - _toSchema = {'http': 'HTTP', 'ftp': 'FTP', 'noproxy': 'NoProxy', 'https': 'HTTPS'} - _toPy = {'HTTP': 'http', 'FTP': 'ftp', 'HTTPS': 'https', 'NoProxy': 'noproxy'} - def __init__(self, ftp=None, http=None, https=None, noproxy=None): - ''' - ftp : str - http : str - https : str - noproxy : str - ''' - self.ftp = ftp - self.http = http - self.https = https - self.noproxy = noproxy - - -class ProxyConfigResult(Type): - _toSchema = {'proxysettings': 'ProxySettings', 'error': 'Error', 'aptproxysettings': 'APTProxySettings'} - _toPy = {'Error': 'error', 'ProxySettings': 'proxysettings', 'APTProxySettings': 'aptproxysettings'} - def __init__(self, aptproxysettings=None, error=None, proxysettings=None): - ''' - aptproxysettings : ProxyConfig - error : Error - proxysettings : ProxyConfig - ''' - self.aptproxysettings = ProxyConfig.from_json(aptproxysettings) - self.error = Error.from_json(error) - self.proxysettings = ProxyConfig.from_json(proxysettings) - - -class ProxyConfigResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~ProxyConfigResult] - ''' - self.results = [ProxyConfigResult.from_json(o) for o in results or []] - - -class RebootActionResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : str - ''' - self.error = Error.from_json(error) - self.result = result - - -class RebootActionResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~RebootActionResult] - ''' - self.results = [RebootActionResult.from_json(o) for o in results or []] - - -class RelationUnitsChange(Type): - _toSchema = {'changed': 'Changed', 'departed': 'Departed'} - _toPy = {'Changed': 'changed', 'Departed': 'departed'} - def __init__(self, changed=None, departed=None): - ''' - changed : typing.Mapping[str, ~UnitSettings] - departed : typing.Sequence[str] - ''' - self.changed = {k: UnitSettings.from_json(v) for k, v in (changed or dict()).items()} - self.departed = departed - - -class RelationUnitsWatchResult(Type): - _toSchema = {'changes': 'Changes', 'relationunitswatcherid': 'RelationUnitsWatcherId', 'error': 'Error'} - _toPy = {'RelationUnitsWatcherId': 'relationunitswatcherid', 'Error': 'error', 'Changes': 'changes'} - def __init__(self, changes=None, error=None, relationunitswatcherid=None): - ''' - changes : RelationUnitsChange - error : Error - relationunitswatcherid : str - ''' - self.changes = RelationUnitsChange.from_json(changes) - self.error = Error.from_json(error) - self.relationunitswatcherid = relationunitswatcherid - - -class UnitSettings(Type): - _toSchema = {'version': 'Version'} - _toPy = {'Version': 'version'} - def __init__(self, version=None): - ''' - version : int - ''' - self.version = version - - -class RetryStrategy(Type): - _toSchema = {'jitterretrytime': 'JitterRetryTime', 'shouldretry': 'ShouldRetry', 'retrytimefactor': 'RetryTimeFactor', 'minretrytime': 'MinRetryTime', 'maxretrytime': 'MaxRetryTime'} - _toPy = {'MaxRetryTime': 'maxretrytime', 'JitterRetryTime': 'jitterretrytime', 'MinRetryTime': 'minretrytime', 'ShouldRetry': 'shouldretry', 'RetryTimeFactor': 'retrytimefactor'} - def __init__(self, jitterretrytime=None, maxretrytime=None, minretrytime=None, retrytimefactor=None, shouldretry=None): - ''' - jitterretrytime : bool - maxretrytime : int - minretrytime : int - retrytimefactor : int - shouldretry : bool - ''' - self.jitterretrytime = jitterretrytime - self.maxretrytime = maxretrytime - self.minretrytime = minretrytime - self.retrytimefactor = retrytimefactor - self.shouldretry = shouldretry - - -class RetryStrategyResult(Type): - _toSchema = {'error': 'Error', 'result': 'Result'} - _toPy = {'Error': 'error', 'Result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : RetryStrategy - ''' - self.error = Error.from_json(error) - self.result = RetryStrategy.from_json(result) - - -class RetryStrategyResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~RetryStrategyResult] - ''' - self.results = [RetryStrategyResult.from_json(o) for o in results or []] - - -class SSHAddressResult(Type): - _toSchema = {'error': 'error', 'address': 'address'} - _toPy = {'error': 'error', 'address': 'address'} - def __init__(self, address=None, error=None): - ''' - address : str - error : Error - ''' - self.address = address - self.error = Error.from_json(error) - - -class SSHAddressResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~SSHAddressResult] - ''' - self.results = [SSHAddressResult.from_json(o) for o in results or []] - - -class SSHProxyResult(Type): - _toSchema = {'use_proxy': 'use-proxy'} - _toPy = {'use-proxy': 'use_proxy'} - def __init__(self, use_proxy=None): - ''' - use_proxy : bool - ''' - self.use_proxy = use_proxy - - -class SSHPublicKeysResult(Type): - _toSchema = {'error': 'error', 'public_keys': 'public-keys'} - _toPy = {'public-keys': 'public_keys', 'error': 'error'} - def __init__(self, error=None, public_keys=None): - ''' - error : Error - public_keys : typing.Sequence[str] - ''' - self.error = Error.from_json(error) - self.public_keys = public_keys - - -class SSHPublicKeysResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~SSHPublicKeysResult] - ''' - self.results = [SSHPublicKeysResult.from_json(o) for o in results or []] - - -class AddRelation(Type): - _toSchema = {'endpoints': 'Endpoints'} - _toPy = {'Endpoints': 'endpoints'} - def __init__(self, endpoints=None): - ''' - endpoints : typing.Sequence[str] - ''' - self.endpoints = endpoints - - -class AddRelationResults(Type): - _toSchema = {'endpoints': 'Endpoints'} - _toPy = {'Endpoints': 'endpoints'} - def __init__(self, endpoints=None): - ''' - endpoints : typing.Mapping[str, ~Relation] - ''' - self.endpoints = {k: Relation.from_json(v) for k, v in (endpoints or dict()).items()} - - -class AddServiceUnits(Type): - _toSchema = {'servicename': 'ServiceName', 'placement': 'Placement', 'numunits': 'NumUnits'} - _toPy = {'NumUnits': 'numunits', 'Placement': 'placement', 'ServiceName': 'servicename'} - def __init__(self, numunits=None, placement=None, servicename=None): - ''' - numunits : int - placement : typing.Sequence[~Placement] - servicename : str - ''' - self.numunits = numunits - self.placement = [Placement.from_json(o) for o in placement or []] - self.servicename = servicename - - -class AddServiceUnitsResults(Type): - _toSchema = {'units': 'Units'} - _toPy = {'Units': 'units'} - def __init__(self, units=None): - ''' - units : typing.Sequence[str] - ''' - self.units = units - - -class DestroyRelation(Type): - _toSchema = {'endpoints': 'Endpoints'} - _toPy = {'Endpoints': 'endpoints'} - def __init__(self, endpoints=None): - ''' - endpoints : typing.Sequence[str] - ''' - self.endpoints = endpoints - - -class DestroyServiceUnits(Type): - _toSchema = {'unitnames': 'UnitNames'} - _toPy = {'UnitNames': 'unitnames'} - def __init__(self, unitnames=None): - ''' - unitnames : typing.Sequence[str] - ''' - self.unitnames = unitnames - - -class GetServiceConstraints(Type): - _toSchema = {'servicename': 'ServiceName'} - _toPy = {'ServiceName': 'servicename'} - def __init__(self, servicename=None): - ''' - servicename : str - ''' - self.servicename = servicename - - -class Relation(Type): - _toSchema = {'scope': 'Scope', 'name': 'Name', 'optional': 'Optional', 'role': 'Role', 'interface': 'Interface', 'limit': 'Limit'} - _toPy = {'Interface': 'interface', 'Scope': 'scope', 'Role': 'role', 'Name': 'name', 'Limit': 'limit', 'Optional': 'optional'} - def __init__(self, interface=None, limit=None, name=None, optional=None, role=None, scope=None): - ''' - interface : str - limit : int - name : str - optional : bool - role : str - scope : str - ''' - self.interface = interface - self.limit = limit - self.name = name - self.optional = optional - self.role = role - self.scope = scope - - -class ServiceCharmRelations(Type): - _toSchema = {'servicename': 'ServiceName'} - _toPy = {'ServiceName': 'servicename'} - def __init__(self, servicename=None): - ''' - servicename : str - ''' - self.servicename = servicename - - -class ServiceCharmRelationsResults(Type): - _toSchema = {'charmrelations': 'CharmRelations'} - _toPy = {'CharmRelations': 'charmrelations'} - def __init__(self, charmrelations=None): - ''' - charmrelations : typing.Sequence[str] - ''' - self.charmrelations = charmrelations - - -class ServiceDeploy(Type): - _toSchema = {'placement': 'Placement', 'numunits': 'NumUnits', 'endpointbindings': 'EndpointBindings', 'servicename': 'ServiceName', 'storage': 'Storage', 'resources': 'Resources', 'charmurl': 'CharmUrl', 'configyaml': 'ConfigYAML', 'series': 'Series', 'channel': 'Channel', 'config': 'Config', 'constraints': 'Constraints'} - _toPy = {'Constraints': 'constraints', 'Channel': 'channel', 'Config': 'config', 'Placement': 'placement', 'Resources': 'resources', 'Storage': 'storage', 'CharmUrl': 'charmurl', 'ConfigYAML': 'configyaml', 'NumUnits': 'numunits', 'ServiceName': 'servicename', 'EndpointBindings': 'endpointbindings', 'Series': 'series'} - def __init__(self, channel=None, charmurl=None, config=None, configyaml=None, constraints=None, endpointbindings=None, numunits=None, placement=None, resources=None, series=None, servicename=None, storage=None): - ''' - channel : str - charmurl : str - config : typing.Mapping[str, str] - configyaml : str - constraints : Value - endpointbindings : typing.Mapping[str, str] - numunits : int - placement : typing.Sequence[~Placement] - resources : typing.Mapping[str, str] - series : str - servicename : str - storage : typing.Mapping[str, ~Constraints] - ''' - self.channel = channel - self.charmurl = charmurl - self.config = config - self.configyaml = configyaml - self.constraints = Value.from_json(constraints) - self.endpointbindings = endpointbindings - self.numunits = numunits - self.placement = [Placement.from_json(o) for o in placement or []] - self.resources = resources - self.series = series - self.servicename = servicename - self.storage = {k: Constraints.from_json(v) for k, v in (storage or dict()).items()} - - -class ServiceDestroy(Type): - _toSchema = {'servicename': 'ServiceName'} - _toPy = {'ServiceName': 'servicename'} - def __init__(self, servicename=None): - ''' - servicename : str - ''' - self.servicename = servicename - - -class ServiceExpose(Type): - _toSchema = {'servicename': 'ServiceName'} - _toPy = {'ServiceName': 'servicename'} - def __init__(self, servicename=None): - ''' - servicename : str - ''' - self.servicename = servicename - - -class ServiceGet(Type): - _toSchema = {'servicename': 'ServiceName'} - _toPy = {'ServiceName': 'servicename'} - def __init__(self, servicename=None): - ''' - servicename : str - ''' - self.servicename = servicename - - -class ServiceGetResults(Type): - _toSchema = {'service': 'Service', 'charm': 'Charm', 'constraints': 'Constraints', 'config': 'Config'} - _toPy = {'Constraints': 'constraints', 'Charm': 'charm', 'Service': 'service', 'Config': 'config'} - def __init__(self, charm=None, config=None, constraints=None, service=None): - ''' - charm : str - config : typing.Mapping[str, typing.Any] - constraints : Value - service : str - ''' - self.charm = charm - self.config = config - self.constraints = Value.from_json(constraints) - self.service = service - - -class ServiceMetricCredential(Type): - _toSchema = {'servicename': 'ServiceName', 'metriccredentials': 'MetricCredentials'} - _toPy = {'ServiceName': 'servicename', 'MetricCredentials': 'metriccredentials'} - def __init__(self, metriccredentials=None, servicename=None): - ''' - metriccredentials : typing.Sequence[int] - servicename : str - ''' - self.metriccredentials = metriccredentials - self.servicename = servicename - - -class ServiceMetricCredentials(Type): - _toSchema = {'creds': 'Creds'} - _toPy = {'Creds': 'creds'} - def __init__(self, creds=None): - ''' - creds : typing.Sequence[~ServiceMetricCredential] - ''' - self.creds = [ServiceMetricCredential.from_json(o) for o in creds or []] - - -class ServiceSet(Type): - _toSchema = {'servicename': 'ServiceName', 'options': 'Options'} - _toPy = {'Options': 'options', 'ServiceName': 'servicename'} - def __init__(self, options=None, servicename=None): - ''' - options : typing.Mapping[str, str] - servicename : str - ''' - self.options = options - self.servicename = servicename - - -class ServiceSetCharm(Type): - _toSchema = {'forceunits': 'forceunits', 'servicename': 'servicename', 'resourceids': 'resourceids', 'cs_channel': 'cs-channel', 'charmurl': 'charmurl', 'forceseries': 'forceseries'} - _toPy = {'cs-channel': 'cs_channel', 'forceunits': 'forceunits', 'servicename': 'servicename', 'resourceids': 'resourceids', 'charmurl': 'charmurl', 'forceseries': 'forceseries'} - def __init__(self, charmurl=None, cs_channel=None, forceseries=None, forceunits=None, resourceids=None, servicename=None): - ''' - charmurl : str - cs_channel : str - forceseries : bool - forceunits : bool - resourceids : typing.Mapping[str, str] - servicename : str - ''' - self.charmurl = charmurl - self.cs_channel = cs_channel - self.forceseries = forceseries - self.forceunits = forceunits - self.resourceids = resourceids - self.servicename = servicename - - -class ServiceUnexpose(Type): - _toSchema = {'servicename': 'ServiceName'} - _toPy = {'ServiceName': 'servicename'} - def __init__(self, servicename=None): - ''' - servicename : str - ''' - self.servicename = servicename - - -class ServiceUnset(Type): - _toSchema = {'servicename': 'ServiceName', 'options': 'Options'} - _toPy = {'Options': 'options', 'ServiceName': 'servicename'} - def __init__(self, options=None, servicename=None): - ''' - options : typing.Sequence[str] - servicename : str - ''' - self.options = options - self.servicename = servicename - - -class ServiceUpdate(Type): - _toSchema = {'minunits': 'MinUnits', 'settingsyaml': 'SettingsYAML', 'servicename': 'ServiceName', 'settingsstrings': 'SettingsStrings', 'forcecharmurl': 'ForceCharmUrl', 'constraints': 'Constraints', 'charmurl': 'CharmUrl', 'forceseries': 'ForceSeries'} - _toPy = {'Constraints': 'constraints', 'CharmUrl': 'charmurl', 'ForceSeries': 'forceseries', 'ForceCharmUrl': 'forcecharmurl', 'MinUnits': 'minunits', 'ServiceName': 'servicename', 'SettingsStrings': 'settingsstrings', 'SettingsYAML': 'settingsyaml'} - def __init__(self, charmurl=None, constraints=None, forcecharmurl=None, forceseries=None, minunits=None, servicename=None, settingsstrings=None, settingsyaml=None): - ''' - charmurl : str - constraints : Value - forcecharmurl : bool - forceseries : bool - minunits : int - servicename : str - settingsstrings : typing.Mapping[str, str] - settingsyaml : str - ''' - self.charmurl = charmurl - self.constraints = Value.from_json(constraints) - self.forcecharmurl = forcecharmurl - self.forceseries = forceseries - self.minunits = minunits - self.servicename = servicename - self.settingsstrings = settingsstrings - self.settingsyaml = settingsyaml - - -class ServicesDeploy(Type): - _toSchema = {'services': 'Services'} - _toPy = {'Services': 'services'} - def __init__(self, services=None): - ''' - services : typing.Sequence[~ServiceDeploy] - ''' - self.services = [ServiceDeploy.from_json(o) for o in services or []] - - -class SingularClaim(Type): - _toSchema = {'modeltag': 'ModelTag', 'controllertag': 'ControllerTag', 'duration': 'Duration'} - _toPy = {'Duration': 'duration', 'ControllerTag': 'controllertag', 'ModelTag': 'modeltag'} - def __init__(self, controllertag=None, duration=None, modeltag=None): - ''' - controllertag : str - duration : int - modeltag : str - ''' - self.controllertag = controllertag - self.duration = duration - self.modeltag = modeltag - - -class SingularClaims(Type): - _toSchema = {'claims': 'Claims'} - _toPy = {'Claims': 'claims'} - def __init__(self, claims=None): - ''' - claims : typing.Sequence[~SingularClaim] - ''' - self.claims = [SingularClaim.from_json(o) for o in claims or []] - - -class ListSpacesResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~Space] - ''' - self.results = [Space.from_json(o) for o in results or []] - - -class Space(Type): - _toSchema = {'name': 'Name', 'error': 'Error', 'subnets': 'Subnets'} - _toPy = {'Name': 'name', 'Subnets': 'subnets', 'Error': 'error'} - def __init__(self, error=None, name=None, subnets=None): - ''' - error : Error - name : str - subnets : typing.Sequence[~Subnet] - ''' - self.error = Error.from_json(error) - self.name = name - self.subnets = [Subnet.from_json(o) for o in subnets or []] - - -class StatusHistoryPruneArgs(Type): - _toSchema = {'maxlogsperentity': 'MaxLogsPerEntity'} - _toPy = {'MaxLogsPerEntity': 'maxlogsperentity'} - def __init__(self, maxlogsperentity=None): - ''' - maxlogsperentity : int - ''' - self.maxlogsperentity = maxlogsperentity - - -class FilesystemAttachmentInfo(Type): - _toSchema = {'read_only': 'read-only', 'mountpoint': 'mountpoint'} - _toPy = {'read-only': 'read_only', 'mountpoint': 'mountpoint'} - def __init__(self, mountpoint=None, read_only=None): - ''' - mountpoint : str - read_only : bool - ''' - self.mountpoint = mountpoint - self.read_only = read_only - - -class FilesystemDetails(Type): - _toSchema = {'info': 'info', 'volumetag': 'volumetag', 'machineattachments': 'machineattachments', 'storage': 'storage', 'filesystemtag': 'filesystemtag', 'status': 'status'} - _toPy = {'info': 'info', 'volumetag': 'volumetag', 'machineattachments': 'machineattachments', 'storage': 'storage', 'filesystemtag': 'filesystemtag', 'status': 'status'} - def __init__(self, filesystemtag=None, info=None, machineattachments=None, status=None, storage=None, volumetag=None): - ''' - filesystemtag : str - info : FilesystemInfo - machineattachments : typing.Mapping[str, ~FilesystemAttachmentInfo] - status : EntityStatus - storage : StorageDetails - volumetag : str - ''' - self.filesystemtag = filesystemtag - self.info = FilesystemInfo.from_json(info) - self.machineattachments = {k: FilesystemAttachmentInfo.from_json(v) for k, v in (machineattachments or dict()).items()} - self.status = EntityStatus.from_json(status) - self.storage = StorageDetails.from_json(storage) - self.volumetag = volumetag - - -class FilesystemDetailsListResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : typing.Sequence[~FilesystemDetails] - ''' - self.error = Error.from_json(error) - self.result = [FilesystemDetails.from_json(o) for o in result or []] - - -class FilesystemDetailsListResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~FilesystemDetailsListResult] - ''' - self.results = [FilesystemDetailsListResult.from_json(o) for o in results or []] - - -class FilesystemFilter(Type): - _toSchema = {'machines': 'machines'} - _toPy = {'machines': 'machines'} - def __init__(self, machines=None): - ''' - machines : typing.Sequence[str] - ''' - self.machines = machines - - -class FilesystemFilters(Type): - _toSchema = {'filters': 'filters'} - _toPy = {'filters': 'filters'} - def __init__(self, filters=None): - ''' - filters : typing.Sequence[~FilesystemFilter] - ''' - self.filters = [FilesystemFilter.from_json(o) for o in filters or []] - - -class FilesystemInfo(Type): - _toSchema = {'size': 'size', 'filesystemid': 'filesystemid'} - _toPy = {'size': 'size', 'filesystemid': 'filesystemid'} - def __init__(self, filesystemid=None, size=None): - ''' - filesystemid : str - size : int - ''' - self.filesystemid = filesystemid - self.size = size - - -class StorageAddParams(Type): - _toSchema = {'storagename': 'StorageName', 'storage': 'storage', 'unit': 'unit'} - _toPy = {'StorageName': 'storagename', 'storage': 'storage', 'unit': 'unit'} - def __init__(self, storagename=None, storage=None, unit=None): - ''' - storagename : str - storage : StorageConstraints - unit : str - ''' - self.storagename = storagename - self.storage = StorageConstraints.from_json(storage) - self.unit = unit - - -class StorageAttachmentDetails(Type): - _toSchema = {'storagetag': 'storagetag', 'machinetag': 'machinetag', 'location': 'location', 'unittag': 'unittag'} - _toPy = {'storagetag': 'storagetag', 'machinetag': 'machinetag', 'location': 'location', 'unittag': 'unittag'} - def __init__(self, location=None, machinetag=None, storagetag=None, unittag=None): - ''' - location : str - machinetag : str - storagetag : str - unittag : str - ''' - self.location = location - self.machinetag = machinetag - self.storagetag = storagetag - self.unittag = unittag - - -class StorageConstraints(Type): - _toSchema = {'pool': 'Pool', 'count': 'Count', 'size': 'Size'} - _toPy = {'Pool': 'pool', 'Count': 'count', 'Size': 'size'} - def __init__(self, count=None, pool=None, size=None): - ''' - count : int - pool : str - size : int - ''' - self.count = count - self.pool = pool - self.size = size - - -class StorageDetails(Type): - _toSchema = {'kind': 'kind', 'persistent': 'Persistent', 'attachments': 'attachments', 'storagetag': 'storagetag', 'ownertag': 'ownertag', 'status': 'status'} - _toPy = {'kind': 'kind', 'attachments': 'attachments', 'storagetag': 'storagetag', 'Persistent': 'persistent', 'ownertag': 'ownertag', 'status': 'status'} - def __init__(self, persistent=None, attachments=None, kind=None, ownertag=None, status=None, storagetag=None): - ''' - persistent : bool - attachments : typing.Mapping[str, ~StorageAttachmentDetails] - kind : int - ownertag : str - status : EntityStatus - storagetag : str - ''' - self.persistent = persistent - self.attachments = {k: StorageAttachmentDetails.from_json(v) for k, v in (attachments or dict()).items()} - self.kind = kind - self.ownertag = ownertag - self.status = EntityStatus.from_json(status) - self.storagetag = storagetag - - -class StorageDetailsListResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : typing.Sequence[~StorageDetails] - ''' - self.error = Error.from_json(error) - self.result = [StorageDetails.from_json(o) for o in result or []] - - -class StorageDetailsListResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~StorageDetailsListResult] - ''' - self.results = [StorageDetailsListResult.from_json(o) for o in results or []] - - -class StorageDetailsResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : StorageDetails - ''' - self.error = Error.from_json(error) - self.result = StorageDetails.from_json(result) - - -class StorageDetailsResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~StorageDetailsResult] - ''' - self.results = [StorageDetailsResult.from_json(o) for o in results or []] - - -class StorageFilter(Type): - _toSchema = {} - _toPy = {} - def __init__(self): - ''' - - ''' - pass - - -class StorageFilters(Type): - _toSchema = {'filters': 'filters'} - _toPy = {'filters': 'filters'} - def __init__(self, filters=None): - ''' - filters : typing.Sequence[~StorageFilter] - ''' - self.filters = [StorageFilter.from_json(o) for o in filters or []] - - -class StoragePool(Type): - _toSchema = {'attrs': 'attrs', 'name': 'name', 'provider': 'provider'} - _toPy = {'attrs': 'attrs', 'name': 'name', 'provider': 'provider'} - def __init__(self, attrs=None, name=None, provider=None): - ''' - attrs : typing.Mapping[str, typing.Any] - name : str - provider : str - ''' - self.attrs = attrs - self.name = name - self.provider = provider - - -class StoragePoolFilter(Type): - _toSchema = {'names': 'names', 'providers': 'providers'} - _toPy = {'names': 'names', 'providers': 'providers'} - def __init__(self, names=None, providers=None): - ''' - names : typing.Sequence[str] - providers : typing.Sequence[str] - ''' - self.names = names - self.providers = providers - - -class StoragePoolFilters(Type): - _toSchema = {'filters': 'filters'} - _toPy = {'filters': 'filters'} - def __init__(self, filters=None): - ''' - filters : typing.Sequence[~StoragePoolFilter] - ''' - self.filters = [StoragePoolFilter.from_json(o) for o in filters or []] - - -class StoragePoolsResult(Type): - _toSchema = {'storagepools': 'storagepools', 'error': 'error'} - _toPy = {'storagepools': 'storagepools', 'error': 'error'} - def __init__(self, error=None, storagepools=None): - ''' - error : Error - storagepools : typing.Sequence[~StoragePool] - ''' - self.error = Error.from_json(error) - self.storagepools = [StoragePool.from_json(o) for o in storagepools or []] - - -class StoragePoolsResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~StoragePoolsResult] - ''' - self.results = [StoragePoolsResult.from_json(o) for o in results or []] - - -class StoragesAddParams(Type): - _toSchema = {'storages': 'storages'} - _toPy = {'storages': 'storages'} - def __init__(self, storages=None): - ''' - storages : typing.Sequence[~StorageAddParams] - ''' - self.storages = [StorageAddParams.from_json(o) for o in storages or []] - - -class VolumeDetails(Type): - _toSchema = {'info': 'info', 'volumetag': 'volumetag', 'machineattachments': 'machineattachments', 'storage': 'storage', 'status': 'status'} - _toPy = {'info': 'info', 'volumetag': 'volumetag', 'machineattachments': 'machineattachments', 'storage': 'storage', 'status': 'status'} - def __init__(self, info=None, machineattachments=None, status=None, storage=None, volumetag=None): - ''' - info : VolumeInfo - machineattachments : typing.Mapping[str, ~VolumeAttachmentInfo] - status : EntityStatus - storage : StorageDetails - volumetag : str - ''' - self.info = VolumeInfo.from_json(info) - self.machineattachments = {k: VolumeAttachmentInfo.from_json(v) for k, v in (machineattachments or dict()).items()} - self.status = EntityStatus.from_json(status) - self.storage = StorageDetails.from_json(storage) - self.volumetag = volumetag - - -class VolumeDetailsListResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : typing.Sequence[~VolumeDetails] - ''' - self.error = Error.from_json(error) - self.result = [VolumeDetails.from_json(o) for o in result or []] - - -class VolumeDetailsListResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~VolumeDetailsListResult] - ''' - self.results = [VolumeDetailsListResult.from_json(o) for o in results or []] - - -class VolumeFilter(Type): - _toSchema = {'machines': 'machines'} - _toPy = {'machines': 'machines'} - def __init__(self, machines=None): - ''' - machines : typing.Sequence[str] - ''' - self.machines = machines - - -class VolumeFilters(Type): - _toSchema = {'filters': 'filters'} - _toPy = {'filters': 'filters'} - def __init__(self, filters=None): - ''' - filters : typing.Sequence[~VolumeFilter] - ''' - self.filters = [VolumeFilter.from_json(o) for o in filters or []] - - -class BlockDeviceResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : BlockDevice - ''' - self.error = Error.from_json(error) - self.result = BlockDevice.from_json(result) - - -class BlockDeviceResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~BlockDeviceResult] - ''' - self.results = [BlockDeviceResult.from_json(o) for o in results or []] - - -class Filesystem(Type): - _toSchema = {'info': 'info', 'volumetag': 'volumetag', 'filesystemtag': 'filesystemtag'} - _toPy = {'info': 'info', 'volumetag': 'volumetag', 'filesystemtag': 'filesystemtag'} - def __init__(self, filesystemtag=None, info=None, volumetag=None): - ''' - filesystemtag : str - info : FilesystemInfo - volumetag : str - ''' - self.filesystemtag = filesystemtag - self.info = FilesystemInfo.from_json(info) - self.volumetag = volumetag - - -class FilesystemAttachment(Type): - _toSchema = {'info': 'info', 'filesystemtag': 'filesystemtag', 'machinetag': 'machinetag'} - _toPy = {'info': 'info', 'filesystemtag': 'filesystemtag', 'machinetag': 'machinetag'} - def __init__(self, filesystemtag=None, info=None, machinetag=None): - ''' - filesystemtag : str - info : FilesystemAttachmentInfo - machinetag : str - ''' - self.filesystemtag = filesystemtag - self.info = FilesystemAttachmentInfo.from_json(info) - self.machinetag = machinetag - - -class FilesystemAttachmentParams(Type): - _toSchema = {'read_only': 'read-only', 'machinetag': 'machinetag', 'mountpoint': 'mountpoint', 'instanceid': 'instanceid', 'filesystemtag': 'filesystemtag', 'provider': 'provider', 'filesystemid': 'filesystemid'} - _toPy = {'read-only': 'read_only', 'machinetag': 'machinetag', 'mountpoint': 'mountpoint', 'instanceid': 'instanceid', 'filesystemtag': 'filesystemtag', 'provider': 'provider', 'filesystemid': 'filesystemid'} - def __init__(self, filesystemid=None, filesystemtag=None, instanceid=None, machinetag=None, mountpoint=None, provider=None, read_only=None): - ''' - filesystemid : str - filesystemtag : str - instanceid : str - machinetag : str - mountpoint : str - provider : str - read_only : bool - ''' - self.filesystemid = filesystemid - self.filesystemtag = filesystemtag - self.instanceid = instanceid - self.machinetag = machinetag - self.mountpoint = mountpoint - self.provider = provider - self.read_only = read_only - - -class FilesystemAttachmentParamsResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : FilesystemAttachmentParams - ''' - self.error = Error.from_json(error) - self.result = FilesystemAttachmentParams.from_json(result) - - -class FilesystemAttachmentParamsResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~FilesystemAttachmentParamsResult] - ''' - self.results = [FilesystemAttachmentParamsResult.from_json(o) for o in results or []] - - -class FilesystemAttachmentResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : FilesystemAttachment - ''' - self.error = Error.from_json(error) - self.result = FilesystemAttachment.from_json(result) - - -class FilesystemAttachmentResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~FilesystemAttachmentResult] - ''' - self.results = [FilesystemAttachmentResult.from_json(o) for o in results or []] - - -class FilesystemAttachments(Type): - _toSchema = {'filesystemattachments': 'filesystemattachments'} - _toPy = {'filesystemattachments': 'filesystemattachments'} - def __init__(self, filesystemattachments=None): - ''' - filesystemattachments : typing.Sequence[~FilesystemAttachment] - ''' - self.filesystemattachments = [FilesystemAttachment.from_json(o) for o in filesystemattachments or []] - - -class FilesystemParams(Type): - _toSchema = {'volumetag': 'volumetag', 'attachment': 'attachment', 'size': 'size', 'attributes': 'attributes', 'filesystemtag': 'filesystemtag', 'provider': 'provider', 'tags': 'tags'} - _toPy = {'volumetag': 'volumetag', 'attachment': 'attachment', 'size': 'size', 'attributes': 'attributes', 'filesystemtag': 'filesystemtag', 'provider': 'provider', 'tags': 'tags'} - def __init__(self, attachment=None, attributes=None, filesystemtag=None, provider=None, size=None, tags=None, volumetag=None): - ''' - attachment : FilesystemAttachmentParams - attributes : typing.Mapping[str, typing.Any] - filesystemtag : str - provider : str - size : int - tags : typing.Mapping[str, str] - volumetag : str - ''' - self.attachment = FilesystemAttachmentParams.from_json(attachment) - self.attributes = attributes - self.filesystemtag = filesystemtag - self.provider = provider - self.size = size - self.tags = tags - self.volumetag = volumetag - - -class FilesystemParamsResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : FilesystemParams - ''' - self.error = Error.from_json(error) - self.result = FilesystemParams.from_json(result) - - -class FilesystemParamsResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~FilesystemParamsResult] - ''' - self.results = [FilesystemParamsResult.from_json(o) for o in results or []] - - -class FilesystemResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : Filesystem - ''' - self.error = Error.from_json(error) - self.result = Filesystem.from_json(result) - - -class FilesystemResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~FilesystemResult] - ''' - self.results = [FilesystemResult.from_json(o) for o in results or []] - - -class Filesystems(Type): - _toSchema = {'filesystems': 'filesystems'} - _toPy = {'filesystems': 'filesystems'} - def __init__(self, filesystems=None): - ''' - filesystems : typing.Sequence[~Filesystem] - ''' - self.filesystems = [Filesystem.from_json(o) for o in filesystems or []] - - -class MachineStorageIds(Type): - _toSchema = {'ids': 'ids'} - _toPy = {'ids': 'ids'} - def __init__(self, ids=None): - ''' - ids : typing.Sequence[~MachineStorageId] - ''' - self.ids = [MachineStorageId.from_json(o) for o in ids or []] - - -class MachineStorageIdsWatchResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~MachineStorageIdsWatchResult] - ''' - self.results = [MachineStorageIdsWatchResult.from_json(o) for o in results or []] - - -class VolumeAttachment(Type): - _toSchema = {'info': 'info', 'volumetag': 'volumetag', 'machinetag': 'machinetag'} - _toPy = {'info': 'info', 'volumetag': 'volumetag', 'machinetag': 'machinetag'} - def __init__(self, info=None, machinetag=None, volumetag=None): - ''' - info : VolumeAttachmentInfo - machinetag : str - volumetag : str - ''' - self.info = VolumeAttachmentInfo.from_json(info) - self.machinetag = machinetag - self.volumetag = volumetag - - -class VolumeAttachmentParamsResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : VolumeAttachmentParams - ''' - self.error = Error.from_json(error) - self.result = VolumeAttachmentParams.from_json(result) - - -class VolumeAttachmentParamsResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~VolumeAttachmentParamsResult] - ''' - self.results = [VolumeAttachmentParamsResult.from_json(o) for o in results or []] - - -class VolumeAttachmentResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : VolumeAttachment - ''' - self.error = Error.from_json(error) - self.result = VolumeAttachment.from_json(result) - - -class VolumeAttachmentResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~VolumeAttachmentResult] - ''' - self.results = [VolumeAttachmentResult.from_json(o) for o in results or []] - - -class VolumeAttachments(Type): - _toSchema = {'volumeattachments': 'volumeattachments'} - _toPy = {'volumeattachments': 'volumeattachments'} - def __init__(self, volumeattachments=None): - ''' - volumeattachments : typing.Sequence[~VolumeAttachment] - ''' - self.volumeattachments = [VolumeAttachment.from_json(o) for o in volumeattachments or []] - - -class VolumeParamsResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : VolumeParams - ''' - self.error = Error.from_json(error) - self.result = VolumeParams.from_json(result) - - -class VolumeParamsResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~VolumeParamsResult] - ''' - self.results = [VolumeParamsResult.from_json(o) for o in results or []] - - -class VolumeResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : Volume - ''' - self.error = Error.from_json(error) - self.result = Volume.from_json(result) - - -class VolumeResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~VolumeResult] - ''' - self.results = [VolumeResult.from_json(o) for o in results or []] - - -class Volumes(Type): - _toSchema = {'volumes': 'volumes'} - _toPy = {'volumes': 'volumes'} - def __init__(self, volumes=None): - ''' - volumes : typing.Sequence[~Volume] - ''' - self.volumes = [Volume.from_json(o) for o in volumes or []] - - -class SpaceResult(Type): - _toSchema = {'tag': 'Tag', 'error': 'Error'} - _toPy = {'Error': 'error', 'Tag': 'tag'} - def __init__(self, error=None, tag=None): - ''' - error : Error - tag : str - ''' - self.error = Error.from_json(error) - self.tag = tag - - -class SpaceResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~SpaceResult] - ''' - self.results = [SpaceResult.from_json(o) for o in results or []] - - -class ZoneResult(Type): - _toSchema = {'available': 'Available', 'name': 'Name', 'error': 'Error'} - _toPy = {'Error': 'error', 'Name': 'name', 'Available': 'available'} - def __init__(self, available=None, error=None, name=None): - ''' - available : bool - error : Error - name : str - ''' - self.available = available - self.error = Error.from_json(error) - self.name = name - - -class ZoneResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~ZoneResult] - ''' - self.results = [ZoneResult.from_json(o) for o in results or []] - - -class UndertakerModelInfo(Type): - _toSchema = {'globalname': 'GlobalName', 'life': 'Life', 'issystem': 'IsSystem', 'name': 'Name', 'uuid': 'UUID'} - _toPy = {'Name': 'name', 'Life': 'life', 'GlobalName': 'globalname', 'IsSystem': 'issystem', 'UUID': 'uuid'} - def __init__(self, globalname=None, issystem=None, life=None, name=None, uuid=None): - ''' - globalname : str - issystem : bool - life : str - name : str - uuid : str - ''' - self.globalname = globalname - self.issystem = issystem - self.life = life - self.name = name - self.uuid = uuid - - -class UndertakerModelInfoResult(Type): - _toSchema = {'error': 'Error', 'result': 'Result'} - _toPy = {'Error': 'error', 'Result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : UndertakerModelInfo - ''' - self.error = Error.from_json(error) - self.result = UndertakerModelInfo.from_json(result) - - -class CharmURL(Type): - _toSchema = {'url': 'URL'} - _toPy = {'URL': 'url'} - def __init__(self, url=None): - ''' - url : str - ''' - self.url = url - - -class CharmURLs(Type): - _toSchema = {'urls': 'URLs'} - _toPy = {'URLs': 'urls'} - def __init__(self, urls=None): - ''' - urls : typing.Sequence[~CharmURL] - ''' - self.urls = [CharmURL.from_json(o) for o in urls or []] - - -class ConfigSettingsResult(Type): - _toSchema = {'settings': 'Settings', 'error': 'Error'} - _toPy = {'Error': 'error', 'Settings': 'settings'} - def __init__(self, error=None, settings=None): - ''' - error : Error - settings : typing.Mapping[str, typing.Any] - ''' - self.error = Error.from_json(error) - self.settings = settings - - -class ConfigSettingsResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~ConfigSettingsResult] - ''' - self.results = [ConfigSettingsResult.from_json(o) for o in results or []] - - -class Endpoint(Type): - _toSchema = {'relation': 'Relation', 'servicename': 'ServiceName'} - _toPy = {'Relation': 'relation', 'ServiceName': 'servicename'} - def __init__(self, relation=None, servicename=None): - ''' - relation : Relation - servicename : str - ''' - self.relation = Relation.from_json(relation) - self.servicename = servicename - - -class EntitiesCharmURL(Type): - _toSchema = {'entities': 'Entities'} - _toPy = {'Entities': 'entities'} - def __init__(self, entities=None): - ''' - entities : typing.Sequence[~EntityCharmURL] - ''' - self.entities = [EntityCharmURL.from_json(o) for o in entities or []] - - -class EntitiesPortRanges(Type): - _toSchema = {'entities': 'Entities'} - _toPy = {'Entities': 'entities'} - def __init__(self, entities=None): - ''' - entities : typing.Sequence[~EntityPortRange] - ''' - self.entities = [EntityPortRange.from_json(o) for o in entities or []] - - -class EntityCharmURL(Type): - _toSchema = {'tag': 'Tag', 'charmurl': 'CharmURL'} - _toPy = {'Tag': 'tag', 'CharmURL': 'charmurl'} - def __init__(self, charmurl=None, tag=None): - ''' - charmurl : str - tag : str - ''' - self.charmurl = charmurl - self.tag = tag - - -class EntityPortRange(Type): - _toSchema = {'protocol': 'Protocol', 'toport': 'ToPort', 'tag': 'Tag', 'fromport': 'FromPort'} - _toPy = {'FromPort': 'fromport', 'Protocol': 'protocol', 'Tag': 'tag', 'ToPort': 'toport'} - def __init__(self, fromport=None, protocol=None, tag=None, toport=None): - ''' - fromport : int - protocol : str - tag : str - toport : int - ''' - self.fromport = fromport - self.protocol = protocol - self.tag = tag - self.toport = toport - - -class GetLeadershipSettingsBulkResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~GetLeadershipSettingsResult] - ''' - self.results = [GetLeadershipSettingsResult.from_json(o) for o in results or []] - - -class GetLeadershipSettingsResult(Type): - _toSchema = {'settings': 'Settings', 'error': 'Error'} - _toPy = {'Error': 'error', 'Settings': 'settings'} - def __init__(self, error=None, settings=None): - ''' - error : Error - settings : typing.Mapping[str, str] - ''' - self.error = Error.from_json(error) - self.settings = settings - - -class IntResult(Type): - _toSchema = {'error': 'Error', 'result': 'Result'} - _toPy = {'Error': 'error', 'Result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : int - ''' - self.error = Error.from_json(error) - self.result = result - - -class IntResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~IntResult] - ''' - self.results = [IntResult.from_json(o) for o in results or []] - - -class MergeLeadershipSettingsBulkParams(Type): - _toSchema = {'params': 'Params'} - _toPy = {'Params': 'params'} - def __init__(self, params=None): - ''' - params : typing.Sequence[~MergeLeadershipSettingsParam] - ''' - self.params = [MergeLeadershipSettingsParam.from_json(o) for o in params or []] - - -class MergeLeadershipSettingsParam(Type): - _toSchema = {'settings': 'Settings', 'servicetag': 'ServiceTag'} - _toPy = {'ServiceTag': 'servicetag', 'Settings': 'settings'} - def __init__(self, servicetag=None, settings=None): - ''' - servicetag : str - settings : typing.Mapping[str, str] - ''' - self.servicetag = servicetag - self.settings = settings - - -class ModelResult(Type): - _toSchema = {'uuid': 'UUID', 'name': 'Name', 'error': 'Error'} - _toPy = {'Name': 'name', 'UUID': 'uuid', 'Error': 'error'} - def __init__(self, error=None, name=None, uuid=None): - ''' - error : Error - name : str - uuid : str - ''' - self.error = Error.from_json(error) - self.name = name - self.uuid = uuid - - -class RelationIds(Type): - _toSchema = {'relationids': 'RelationIds'} - _toPy = {'RelationIds': 'relationids'} - def __init__(self, relationids=None): - ''' - relationids : typing.Sequence[int] - ''' - self.relationids = relationids - - -class RelationResult(Type): - _toSchema = {'life': 'Life', 'endpoint': 'Endpoint', 'id_': 'Id', 'key': 'Key', 'error': 'Error'} - _toPy = {'Error': 'error', 'Id': 'id_', 'Life': 'life', 'Endpoint': 'endpoint', 'Key': 'key'} - def __init__(self, endpoint=None, error=None, id_=None, key=None, life=None): - ''' - endpoint : Endpoint - error : Error - id_ : int - key : str - life : str - ''' - self.endpoint = Endpoint.from_json(endpoint) - self.error = Error.from_json(error) - self.id_ = id_ - self.key = key - self.life = life - - -class RelationResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~RelationResult] - ''' - self.results = [RelationResult.from_json(o) for o in results or []] - - -class RelationUnit(Type): - _toSchema = {'relation': 'Relation', 'unit': 'Unit'} - _toPy = {'Relation': 'relation', 'Unit': 'unit'} - def __init__(self, relation=None, unit=None): - ''' - relation : str - unit : str - ''' - self.relation = relation - self.unit = unit - - -class RelationUnitPair(Type): - _toSchema = {'relation': 'Relation', 'remoteunit': 'RemoteUnit', 'localunit': 'LocalUnit'} - _toPy = {'Relation': 'relation', 'LocalUnit': 'localunit', 'RemoteUnit': 'remoteunit'} - def __init__(self, localunit=None, relation=None, remoteunit=None): - ''' - localunit : str - relation : str - remoteunit : str - ''' - self.localunit = localunit - self.relation = relation - self.remoteunit = remoteunit - - -class RelationUnitPairs(Type): - _toSchema = {'relationunitpairs': 'RelationUnitPairs'} - _toPy = {'RelationUnitPairs': 'relationunitpairs'} - def __init__(self, relationunitpairs=None): - ''' - relationunitpairs : typing.Sequence[~RelationUnitPair] - ''' - self.relationunitpairs = [RelationUnitPair.from_json(o) for o in relationunitpairs or []] - - -class RelationUnitSettings(Type): - _toSchema = {'relation': 'Relation', 'settings': 'Settings', 'unit': 'Unit'} - _toPy = {'Relation': 'relation', 'Settings': 'settings', 'Unit': 'unit'} - def __init__(self, relation=None, settings=None, unit=None): - ''' - relation : str - settings : typing.Mapping[str, str] - unit : str - ''' - self.relation = relation - self.settings = settings - self.unit = unit - - -class RelationUnits(Type): - _toSchema = {'relationunits': 'RelationUnits'} - _toPy = {'RelationUnits': 'relationunits'} - def __init__(self, relationunits=None): - ''' - relationunits : typing.Sequence[~RelationUnit] - ''' - self.relationunits = [RelationUnit.from_json(o) for o in relationunits or []] - - -class RelationUnitsSettings(Type): - _toSchema = {'relationunits': 'RelationUnits'} - _toPy = {'RelationUnits': 'relationunits'} - def __init__(self, relationunits=None): - ''' - relationunits : typing.Sequence[~RelationUnitSettings] - ''' - self.relationunits = [RelationUnitSettings.from_json(o) for o in relationunits or []] - - -class RelationUnitsWatchResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~RelationUnitsWatchResult] - ''' - self.results = [RelationUnitsWatchResult.from_json(o) for o in results or []] - - -class ResolvedModeResult(Type): - _toSchema = {'mode': 'Mode', 'error': 'Error'} - _toPy = {'Error': 'error', 'Mode': 'mode'} - def __init__(self, error=None, mode=None): - ''' - error : Error - mode : str - ''' - self.error = Error.from_json(error) - self.mode = mode - - -class ResolvedModeResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~ResolvedModeResult] - ''' - self.results = [ResolvedModeResult.from_json(o) for o in results or []] - - -class ServiceStatusResult(Type): - _toSchema = {'service': 'Service', 'units': 'Units', 'error': 'Error'} - _toPy = {'Error': 'error', 'Units': 'units', 'Service': 'service'} - def __init__(self, error=None, service=None, units=None): - ''' - error : Error - service : StatusResult - units : typing.Mapping[str, ~StatusResult] - ''' - self.error = Error.from_json(error) - self.service = StatusResult.from_json(service) - self.units = {k: StatusResult.from_json(v) for k, v in (units or dict()).items()} - - -class ServiceStatusResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~ServiceStatusResult] - ''' - self.results = [ServiceStatusResult.from_json(o) for o in results or []] - - -class SettingsResult(Type): - _toSchema = {'settings': 'Settings', 'error': 'Error'} - _toPy = {'Error': 'error', 'Settings': 'settings'} - def __init__(self, error=None, settings=None): - ''' - error : Error - settings : typing.Mapping[str, str] - ''' - self.error = Error.from_json(error) - self.settings = settings - - -class SettingsResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~SettingsResult] - ''' - self.results = [SettingsResult.from_json(o) for o in results or []] - - -class StorageAttachment(Type): - _toSchema = {'kind': 'Kind', 'life': 'Life', 'location': 'Location', 'storagetag': 'StorageTag', 'unittag': 'UnitTag', 'ownertag': 'OwnerTag'} - _toPy = {'StorageTag': 'storagetag', 'UnitTag': 'unittag', 'Location': 'location', 'Kind': 'kind', 'Life': 'life', 'OwnerTag': 'ownertag'} - def __init__(self, kind=None, life=None, location=None, ownertag=None, storagetag=None, unittag=None): - ''' - kind : int - life : str - location : str - ownertag : str - storagetag : str - unittag : str - ''' - self.kind = kind - self.life = life - self.location = location - self.ownertag = ownertag - self.storagetag = storagetag - self.unittag = unittag - - -class StorageAttachmentId(Type): - _toSchema = {'storagetag': 'storagetag', 'unittag': 'unittag'} - _toPy = {'storagetag': 'storagetag', 'unittag': 'unittag'} - def __init__(self, storagetag=None, unittag=None): - ''' - storagetag : str - unittag : str - ''' - self.storagetag = storagetag - self.unittag = unittag - - -class StorageAttachmentIds(Type): - _toSchema = {'ids': 'ids'} - _toPy = {'ids': 'ids'} - def __init__(self, ids=None): - ''' - ids : typing.Sequence[~StorageAttachmentId] - ''' - self.ids = [StorageAttachmentId.from_json(o) for o in ids or []] - - -class StorageAttachmentIdsResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : StorageAttachmentIds - ''' - self.error = Error.from_json(error) - self.result = StorageAttachmentIds.from_json(result) - - -class StorageAttachmentIdsResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~StorageAttachmentIdsResult] - ''' - self.results = [StorageAttachmentIdsResult.from_json(o) for o in results or []] - - -class StorageAttachmentResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : StorageAttachment - ''' - self.error = Error.from_json(error) - self.result = StorageAttachment.from_json(result) - - -class StorageAttachmentResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~StorageAttachmentResult] - ''' - self.results = [StorageAttachmentResult.from_json(o) for o in results or []] - - -class StringBoolResult(Type): - _toSchema = {'ok': 'Ok', 'error': 'Error', 'result': 'Result'} - _toPy = {'Ok': 'ok', 'Error': 'error', 'Result': 'result'} - def __init__(self, error=None, ok=None, result=None): - ''' - error : Error - ok : bool - result : str - ''' - self.error = Error.from_json(error) - self.ok = ok - self.result = result - - -class StringBoolResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~StringBoolResult] - ''' - self.results = [StringBoolResult.from_json(o) for o in results or []] - - -class UnitNetworkConfig(Type): - _toSchema = {'unittag': 'UnitTag', 'bindingname': 'BindingName'} - _toPy = {'BindingName': 'bindingname', 'UnitTag': 'unittag'} - def __init__(self, bindingname=None, unittag=None): - ''' - bindingname : str - unittag : str - ''' - self.bindingname = bindingname - self.unittag = unittag - - -class UnitNetworkConfigResult(Type): - _toSchema = {'info': 'Info', 'error': 'Error'} - _toPy = {'Error': 'error', 'Info': 'info'} - def __init__(self, error=None, info=None): - ''' - error : Error - info : typing.Sequence[~NetworkConfig] - ''' - self.error = Error.from_json(error) - self.info = [NetworkConfig.from_json(o) for o in info or []] - - -class UnitNetworkConfigResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~UnitNetworkConfigResult] - ''' - self.results = [UnitNetworkConfigResult.from_json(o) for o in results or []] - - -class UnitsNetworkConfig(Type): - _toSchema = {'args': 'Args'} - _toPy = {'Args': 'args'} - def __init__(self, args=None): - ''' - args : typing.Sequence[~UnitNetworkConfig] - ''' - self.args = [UnitNetworkConfig.from_json(o) for o in args or []] - - -class EntitiesVersion(Type): - _toSchema = {'agenttools': 'AgentTools'} - _toPy = {'AgentTools': 'agenttools'} - def __init__(self, agenttools=None): - ''' - agenttools : typing.Sequence[~EntityVersion] - ''' - self.agenttools = [EntityVersion.from_json(o) for o in agenttools or []] - - -class EntityVersion(Type): - _toSchema = {'tools': 'Tools', 'tag': 'Tag'} - _toPy = {'Tools': 'tools', 'Tag': 'tag'} - def __init__(self, tag=None, tools=None): - ''' - tag : str - tools : Version - ''' - self.tag = tag - self.tools = Version.from_json(tools) - - -class VersionResult(Type): - _toSchema = {'error': 'Error', 'version': 'Version'} - _toPy = {'Version': 'version', 'Error': 'error'} - def __init__(self, error=None, version=None): - ''' - error : Error - version : Number - ''' - self.error = Error.from_json(error) - self.version = Number.from_json(version) - - -class VersionResults(Type): - _toSchema = {'results': 'Results'} - _toPy = {'Results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~VersionResult] - ''' - self.results = [VersionResult.from_json(o) for o in results or []] - - -class AddUser(Type): - _toSchema = {'shared_model_tags': 'shared-model-tags', 'model_access_permission': 'model-access-permission', 'username': 'username', 'display_name': 'display-name', 'password': 'password'} - _toPy = {'shared-model-tags': 'shared_model_tags', 'display-name': 'display_name', 'username': 'username', 'model-access-permission': 'model_access_permission', 'password': 'password'} - def __init__(self, display_name=None, model_access_permission=None, password=None, shared_model_tags=None, username=None): - ''' - display_name : str - model_access_permission : str - password : str - shared_model_tags : typing.Sequence[str] - username : str - ''' - self.display_name = display_name - self.model_access_permission = model_access_permission - self.password = password - self.shared_model_tags = shared_model_tags - self.username = username - - -class AddUserResult(Type): - _toSchema = {'secret_key': 'secret-key', 'tag': 'tag', 'error': 'error'} - _toPy = {'tag': 'tag', 'error': 'error', 'secret-key': 'secret_key'} - def __init__(self, error=None, secret_key=None, tag=None): - ''' - error : Error - secret_key : typing.Sequence[int] - tag : str - ''' - self.error = Error.from_json(error) - self.secret_key = secret_key - self.tag = tag - - -class AddUserResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~AddUserResult] - ''' - self.results = [AddUserResult.from_json(o) for o in results or []] - - -class AddUsers(Type): - _toSchema = {'users': 'users'} - _toPy = {'users': 'users'} - def __init__(self, users=None): - ''' - users : typing.Sequence[~AddUser] - ''' - self.users = [AddUser.from_json(o) for o in users or []] - - -class MacaroonResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : Macaroon - ''' - self.error = Error.from_json(error) - self.result = Macaroon.from_json(result) - - -class MacaroonResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~MacaroonResult] - ''' - self.results = [MacaroonResult.from_json(o) for o in results or []] - - -class UserInfo(Type): - _toSchema = {'date_created': 'date-created', 'disabled': 'disabled', 'last_connection': 'last-connection', 'created_by': 'created-by', 'username': 'username', 'display_name': 'display-name'} - _toPy = {'disabled': 'disabled', 'username': 'username', 'last-connection': 'last_connection', 'display-name': 'display_name', 'created-by': 'created_by', 'date-created': 'date_created'} - def __init__(self, created_by=None, date_created=None, disabled=None, display_name=None, last_connection=None, username=None): - ''' - created_by : str - date_created : str - disabled : bool - display_name : str - last_connection : str - username : str - ''' - self.created_by = created_by - self.date_created = date_created - self.disabled = disabled - self.display_name = display_name - self.last_connection = last_connection - self.username = username - - -class UserInfoRequest(Type): - _toSchema = {'entities': 'entities', 'include_disabled': 'include-disabled'} - _toPy = {'include-disabled': 'include_disabled', 'entities': 'entities'} - def __init__(self, entities=None, include_disabled=None): - ''' - entities : typing.Sequence[~Entity] - include_disabled : bool - ''' - self.entities = [Entity.from_json(o) for o in entities or []] - self.include_disabled = include_disabled - - -class UserInfoResult(Type): - _toSchema = {'error': 'error', 'result': 'result'} - _toPy = {'error': 'error', 'result': 'result'} - def __init__(self, error=None, result=None): - ''' - error : Error - result : UserInfo - ''' - self.error = Error.from_json(error) - self.result = UserInfo.from_json(result) - - -class UserInfoResults(Type): - _toSchema = {'results': 'results'} - _toPy = {'results': 'results'} - def __init__(self, results=None): - ''' - results : typing.Sequence[~UserInfoResult] - ''' - self.results = [UserInfoResult.from_json(o) for o in results or []] - - -class Action(Type): - name = 'Action' - version = 1 - schema = {'definitions': {'Action': {'additionalProperties': False, - 'properties': {'name': {'type': 'string'}, - 'parameters': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'receiver': {'type': 'string'}, - 'tag': {'type': 'string'}}, - 'required': ['tag', 'receiver', 'name'], - 'type': 'object'}, - 'ActionResult': {'additionalProperties': False, - 'properties': {'action': {'$ref': '#/definitions/Action'}, - 'completed': {'format': 'date-time', - 'type': 'string'}, - 'enqueued': {'format': 'date-time', - 'type': 'string'}, - 'error': {'$ref': '#/definitions/Error'}, - 'message': {'type': 'string'}, - 'output': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'started': {'format': 'date-time', - 'type': 'string'}, - 'status': {'type': 'string'}}, - 'type': 'object'}, - 'ActionResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'Actions': {'additionalProperties': False, - 'properties': {'actions': {'items': {'$ref': '#/definitions/Action'}, - 'type': 'array'}}, - 'type': 'object'}, - 'ActionsByName': {'additionalProperties': False, - 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'}, - 'type': 'array'}, - 'error': {'$ref': '#/definitions/Error'}, - 'name': {'type': 'string'}}, - 'type': 'object'}, - 'ActionsByNames': {'additionalProperties': False, - 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByName'}, - 'type': 'array'}}, - 'type': 'object'}, - 'ActionsByReceiver': {'additionalProperties': False, - 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'}, - 'type': 'array'}, - 'error': {'$ref': '#/definitions/Error'}, - 'receiver': {'type': 'string'}}, - 'type': 'object'}, - 'ActionsByReceivers': {'additionalProperties': False, - 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByReceiver'}, - 'type': 'array'}}, - 'type': 'object'}, - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'FindActionsByNames': {'additionalProperties': False, - 'properties': {'names': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'type': 'object'}, - 'FindTags': {'additionalProperties': False, - 'properties': {'prefixes': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['prefixes'], - 'type': 'object'}, - 'FindTagsResults': {'additionalProperties': False, - 'properties': {'matches': {'patternProperties': {'.*': {'items': {'$ref': '#/definitions/Entity'}, - 'type': 'array'}}, - 'type': 'object'}}, - 'required': ['matches'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'RunParams': {'additionalProperties': False, - 'properties': {'Commands': {'type': 'string'}, - 'Machines': {'items': {'type': 'string'}, - 'type': 'array'}, - 'Services': {'items': {'type': 'string'}, - 'type': 'array'}, - 'Timeout': {'type': 'integer'}, - 'Units': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['Commands', - 'Timeout', - 'Machines', - 'Services', - 'Units'], - 'type': 'object'}, - 'ServiceCharmActionsResult': {'additionalProperties': False, - 'properties': {'actions': {'$ref': '#/definitions/Actions'}, - 'error': {'$ref': '#/definitions/Error'}, - 'servicetag': {'type': 'string'}}, - 'type': 'object'}, - 'ServicesCharmActionsResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/ServiceCharmActionsResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ActionResults'}}, - 'type': 'object'}, - 'Cancel': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ActionResults'}}, - 'type': 'object'}, - 'Enqueue': {'properties': {'Params': {'$ref': '#/definitions/Actions'}, - 'Result': {'$ref': '#/definitions/ActionResults'}}, - 'type': 'object'}, - 'FindActionTagsByPrefix': {'properties': {'Params': {'$ref': '#/definitions/FindTags'}, - 'Result': {'$ref': '#/definitions/FindTagsResults'}}, - 'type': 'object'}, - 'FindActionsByNames': {'properties': {'Params': {'$ref': '#/definitions/FindActionsByNames'}, - 'Result': {'$ref': '#/definitions/ActionsByNames'}}, - 'type': 'object'}, - 'ListAll': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ActionsByReceivers'}}, - 'type': 'object'}, - 'ListCompleted': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ActionsByReceivers'}}, - 'type': 'object'}, - 'ListPending': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ActionsByReceivers'}}, - 'type': 'object'}, - 'ListRunning': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ActionsByReceivers'}}, - 'type': 'object'}, - 'Run': {'properties': {'Params': {'$ref': '#/definitions/RunParams'}, - 'Result': {'$ref': '#/definitions/ActionResults'}}, - 'type': 'object'}, - 'RunOnAllMachines': {'properties': {'Params': {'$ref': '#/definitions/RunParams'}, - 'Result': {'$ref': '#/definitions/ActionResults'}}, - 'type': 'object'}, - 'ServicesCharmActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ServicesCharmActionsResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ActionResults) - async def Actions(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ActionResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Action', Request='Actions', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ActionResults) - async def Cancel(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ActionResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Action', Request='Cancel', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ActionResults) - async def Enqueue(self, actions): - ''' - actions : typing.Sequence[~Action] - Returns -> typing.Sequence[~ActionResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Action', Request='Enqueue', Version=1, Params=params) - params['actions'] = actions - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(FindTagsResults) - async def FindActionTagsByPrefix(self, prefixes): - ''' - prefixes : typing.Sequence[str] - Returns -> typing.Sequence[~Entity] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Action', Request='FindActionTagsByPrefix', Version=1, Params=params) - params['prefixes'] = prefixes - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ActionsByNames) - async def FindActionsByNames(self, names): - ''' - names : typing.Sequence[str] - Returns -> typing.Sequence[~ActionsByName] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Action', Request='FindActionsByNames', Version=1, Params=params) - params['names'] = names - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ActionsByReceivers) - async def ListAll(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ActionsByReceiver] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Action', Request='ListAll', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ActionsByReceivers) - async def ListCompleted(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ActionsByReceiver] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Action', Request='ListCompleted', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ActionsByReceivers) - async def ListPending(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ActionsByReceiver] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Action', Request='ListPending', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ActionsByReceivers) - async def ListRunning(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ActionsByReceiver] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Action', Request='ListRunning', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ActionResults) - async def Run(self, commands, machines, services, timeout, units): - ''' - commands : str - machines : typing.Sequence[str] - services : typing.Sequence[str] - timeout : int - units : typing.Sequence[str] - Returns -> typing.Sequence[~ActionResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Action', Request='Run', Version=1, Params=params) - params['Commands'] = commands - params['Machines'] = machines - params['Services'] = services - params['Timeout'] = timeout - params['Units'] = units - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ActionResults) - async def RunOnAllMachines(self, commands, machines, services, timeout, units): - ''' - commands : str - machines : typing.Sequence[str] - services : typing.Sequence[str] - timeout : int - units : typing.Sequence[str] - Returns -> typing.Sequence[~ActionResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Action', Request='RunOnAllMachines', Version=1, Params=params) - params['Commands'] = commands - params['Machines'] = machines - params['Services'] = services - params['Timeout'] = timeout - params['Units'] = units - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ServicesCharmActionsResults) - async def ServicesCharmActions(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ServiceCharmActionsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Action', Request='ServicesCharmActions', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - -class Addresser(Type): - name = 'Addresser' - version = 2 - schema = {'definitions': {'BoolResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'type': 'boolean'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'EntitiesWatchResult': {'additionalProperties': False, - 'properties': {'Changes': {'items': {'type': 'string'}, - 'type': 'array'}, - 'EntityWatcherId': {'type': 'string'}, - 'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['EntityWatcherId', - 'Changes', - 'Error'], - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'CanDeallocateAddresses': {'properties': {'Result': {'$ref': '#/definitions/BoolResult'}}, - 'type': 'object'}, - 'CleanupIPAddresses': {'properties': {'Result': {'$ref': '#/definitions/ErrorResult'}}, - 'type': 'object'}, - 'WatchIPAddresses': {'properties': {'Result': {'$ref': '#/definitions/EntitiesWatchResult'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(BoolResult) - async def CanDeallocateAddresses(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), bool] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Addresser', Request='CanDeallocateAddresses', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResult) - async def CleanupIPAddresses(self): - ''' - - Returns -> Error - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Addresser', Request='CleanupIPAddresses', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(EntitiesWatchResult) - async def WatchIPAddresses(self): - ''' - - Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Addresser', Request='WatchIPAddresses', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - -class Agent(Type): - name = 'Agent' - version = 2 - schema = {'definitions': {'AgentGetEntitiesResult': {'additionalProperties': False, - 'properties': {'ContainerType': {'type': 'string'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'Jobs': {'items': {'type': 'string'}, - 'type': 'array'}, - 'Life': {'type': 'string'}}, - 'required': ['Life', - 'Jobs', - 'ContainerType', - 'Error'], - 'type': 'object'}, - 'AgentGetEntitiesResults': {'additionalProperties': False, - 'properties': {'Entities': {'items': {'$ref': '#/definitions/AgentGetEntitiesResult'}, - 'type': 'array'}}, - 'required': ['Entities'], - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'IsMasterResult': {'additionalProperties': False, - 'properties': {'Master': {'type': 'boolean'}}, - 'required': ['Master'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'ModelConfigResult': {'additionalProperties': False, - 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}}, - 'required': ['Config'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - 'type': 'object'}, - 'StateServingInfo': {'additionalProperties': False, - 'properties': {'APIPort': {'type': 'integer'}, - 'CAPrivateKey': {'type': 'string'}, - 'Cert': {'type': 'string'}, - 'PrivateKey': {'type': 'string'}, - 'SharedSecret': {'type': 'string'}, - 'StatePort': {'type': 'integer'}, - 'SystemIdentity': {'type': 'string'}}, - 'required': ['APIPort', - 'StatePort', - 'Cert', - 'PrivateKey', - 'CAPrivateKey', - 'SharedSecret', - 'SystemIdentity'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'ClearReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'GetEntities': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/AgentGetEntitiesResults'}}, - 'type': 'object'}, - 'IsMaster': {'properties': {'Result': {'$ref': '#/definitions/IsMasterResult'}}, - 'type': 'object'}, - 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}}, - 'type': 'object'}, - 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'StateServingInfo': {'properties': {'Result': {'$ref': '#/definitions/StateServingInfo'}}, - 'type': 'object'}, - 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ErrorResults) - async def ClearReboot(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Agent', Request='ClearReboot', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(AgentGetEntitiesResults) - async def GetEntities(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~AgentGetEntitiesResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Agent', Request='GetEntities', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(IsMasterResult) - async def IsMaster(self): - ''' - - Returns -> bool - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Agent', Request='IsMaster', Version=2, 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='Agent', Request='ModelConfig', Version=2, 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='Agent', Request='SetPasswords', Version=2, Params=params) - params['Changes'] = changes - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StateServingInfo) - async def StateServingInfo(self): - ''' - - Returns -> typing.Union[int, str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Agent', Request='StateServingInfo', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResult) - async def WatchForModelConfigChanges(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Agent', Request='WatchForModelConfigChanges', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - -class AgentTools(Type): - name = 'AgentTools' - version = 1 - schema = {'properties': {'UpdateToolsAvailable': {'type': 'object'}}, 'type': 'object'} - - - @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 AllModelWatcher(Type): - name = 'AllModelWatcher' - version = 2 - 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'} - - - @ReturnMapping(AllWatcherNextResults) - async def Next(self): - ''' - - Returns -> typing.Sequence[~Delta] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='AllModelWatcher', Request='Next', Version=2, 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='AllModelWatcher', Request='Stop', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - -class AllWatcher(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'} - - - @ReturnMapping(AllWatcherNextResults) - async def Next(self): - ''' - - Returns -> typing.Sequence[~Delta] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='AllWatcher', Request='Next', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @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 Annotations(Type): - name = 'Annotations' - version = 2 - schema = {'definitions': {'AnnotationsGetResult': {'additionalProperties': False, - 'properties': {'Annotations': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}, - 'EntityTag': {'type': 'string'}, - 'Error': {'$ref': '#/definitions/ErrorResult'}}, - 'required': ['EntityTag', - 'Annotations', - 'Error'], - 'type': 'object'}, - 'AnnotationsGetResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/AnnotationsGetResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'AnnotationsSet': {'additionalProperties': False, - 'properties': {'Annotations': {'items': {'$ref': '#/definitions/EntityAnnotations'}, - 'type': 'array'}}, - 'required': ['Annotations'], - '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'}, - 'EntityAnnotations': {'additionalProperties': False, - 'properties': {'Annotations': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}, - 'EntityTag': {'type': 'string'}}, - 'required': ['EntityTag', 'Annotations'], - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'Get': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/AnnotationsGetResults'}}, - 'type': 'object'}, - 'Set': {'properties': {'Params': {'$ref': '#/definitions/AnnotationsSet'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(AnnotationsGetResults) - async def Get(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~AnnotationsGetResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Annotations', Request='Get', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def Set(self, annotations): - ''' - annotations : typing.Sequence[~EntityAnnotations] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Annotations', Request='Set', Version=2, Params=params) - params['Annotations'] = annotations - reply = await self.rpc(msg) - return reply - - -class Backups(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': {'CACert': {'type': 'string'}, - 'CAPrivateKey': {'type': 'string'}, - 'Checksum': {'type': 'string'}, - 'ChecksumFormat': {'type': 'string'}, - 'Finished': {'format': 'date-time', - 'type': 'string'}, - 'Hostname': {'type': 'string'}, - 'ID': {'type': 'string'}, - 'Machine': {'type': 'string'}, - 'Model': {'type': 'string'}, - 'Notes': {'type': 'string'}, - 'Size': {'type': 'integer'}, - 'Started': {'format': 'date-time', - 'type': 'string'}, - 'Stored': {'format': 'date-time', - 'type': 'string'}, - 'Version': {'$ref': '#/definitions/Number'}}, - 'required': ['ID', - 'Checksum', - 'ChecksumFormat', - 'Size', - 'Stored', - 'Started', - 'Finished', - 'Notes', - 'Model', - 'Machine', - 'Hostname', - 'Version', - 'CACert', - 'CAPrivateKey'], - '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': {'BackupId': {'type': 'string'}}, - 'required': ['BackupId'], - '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'} - - - @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='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='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() - 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): - ''' - - Returns -> typing.Sequence[~BackupsMetadataResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Backups', Request='List', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def PrepareRestore(self): - ''' - - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Backups', Request='PrepareRestore', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def Remove(self, id_): - ''' - id_ : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Backups', Request='Remove', Version=1, Params=params) - params['ID'] = id_ - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def Restore(self, backupid): - ''' - backupid : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Backups', Request='Restore', Version=1, Params=params) - params['BackupId'] = backupid - reply = await self.rpc(msg) - return reply - - -class Block(Type): - name = 'Block' - version = 2 - schema = {'definitions': {'Block': {'additionalProperties': False, - 'properties': {'id': {'type': 'string'}, - 'message': {'type': 'string'}, - 'tag': {'type': 'string'}, - 'type': {'type': 'string'}}, - 'required': ['id', 'tag', 'type'], - 'type': 'object'}, - 'BlockResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'$ref': '#/definitions/Block'}}, - 'required': ['result'], - 'type': 'object'}, - 'BlockResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/BlockResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'BlockSwitchParams': {'additionalProperties': False, - 'properties': {'message': {'type': 'string'}, - 'type': {'type': 'string'}}, - 'required': ['type'], - 'type': 'object'}, - 'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'List': {'properties': {'Result': {'$ref': '#/definitions/BlockResults'}}, - 'type': 'object'}, - 'SwitchBlockOff': {'properties': {'Params': {'$ref': '#/definitions/BlockSwitchParams'}, - 'Result': {'$ref': '#/definitions/ErrorResult'}}, - 'type': 'object'}, - 'SwitchBlockOn': {'properties': {'Params': {'$ref': '#/definitions/BlockSwitchParams'}, - 'Result': {'$ref': '#/definitions/ErrorResult'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(BlockResults) - async def List(self): - ''' - - Returns -> typing.Sequence[~BlockResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Block', Request='List', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResult) - async def SwitchBlockOff(self, message, type_): - ''' - message : str - type_ : str - Returns -> Error - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Block', Request='SwitchBlockOff', Version=2, Params=params) - params['message'] = message - params['type'] = type_ - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResult) - async def SwitchBlockOn(self, message, type_): - ''' - message : str - type_ : str - Returns -> Error - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Block', Request='SwitchBlockOn', Version=2, Params=params) - params['message'] = message - params['type'] = type_ - reply = await self.rpc(msg) - return reply - - -class CharmRevisionUpdater(Type): - name = 'CharmRevisionUpdater' - version = 1 - schema = {'definitions': {'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'UpdateLatestRevisions': {'properties': {'Result': {'$ref': '#/definitions/ErrorResult'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ErrorResult) - async def UpdateLatestRevisions(self): - ''' - - Returns -> Error - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='CharmRevisionUpdater', Request='UpdateLatestRevisions', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - -class Charms(Type): - name = 'Charms' - version = 2 - schema = {'definitions': {'CharmInfo': {'additionalProperties': False, - 'properties': {'CharmURL': {'type': 'string'}}, - 'required': ['CharmURL'], - 'type': 'object'}, - 'CharmsList': {'additionalProperties': False, - 'properties': {'Names': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['Names'], - 'type': 'object'}, - 'CharmsListResult': {'additionalProperties': False, - 'properties': {'CharmURLs': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['CharmURLs'], - 'type': 'object'}, - 'IsMeteredResult': {'additionalProperties': False, - 'properties': {'Metered': {'type': 'boolean'}}, - 'required': ['Metered'], - 'type': 'object'}}, - 'properties': {'CharmInfo': {'properties': {'Params': {'$ref': '#/definitions/CharmInfo'}, - 'Result': {'$ref': '#/definitions/CharmInfo'}}, - 'type': 'object'}, - 'IsMetered': {'properties': {'Params': {'$ref': '#/definitions/CharmInfo'}, - 'Result': {'$ref': '#/definitions/IsMeteredResult'}}, - 'type': 'object'}, - 'List': {'properties': {'Params': {'$ref': '#/definitions/CharmsList'}, - 'Result': {'$ref': '#/definitions/CharmsListResult'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(CharmInfo) - async def CharmInfo(self, charmurl): - ''' - charmurl : str - Returns -> str - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Charms', Request='CharmInfo', Version=2, Params=params) - params['CharmURL'] = charmurl - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(IsMeteredResult) - async def IsMetered(self, charmurl): - ''' - charmurl : str - Returns -> bool - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Charms', Request='IsMetered', Version=2, Params=params) - params['CharmURL'] = charmurl - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(CharmsListResult) - async def List(self, names): - ''' - names : typing.Sequence[str] - Returns -> typing.Sequence[str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Charms', Request='List', Version=2, Params=params) - params['Names'] = names - reply = await self.rpc(msg) - return reply - - -class Cleaner(Type): - name = 'Cleaner' - version = 2 - schema = {'definitions': {'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'Cleanup': {'type': 'object'}, - 'WatchCleanups': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(None) - async def Cleanup(self): - ''' - - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Cleaner', Request='Cleanup', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResult) - async def WatchCleanups(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Cleaner', Request='WatchCleanups', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - -class Client(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'}, - 'CharmStoreMacaroon': {'$ref': '#/definitions/Macaroon'}, - 'URL': {'type': 'string'}}, - 'required': ['URL', - 'Channel', - 'CharmStoreMacaroon'], - 'type': 'object'}, - 'AddMachineParams': {'additionalProperties': False, - 'properties': {'Addrs': {'items': {'$ref': '#/definitions/Address'}, - 'type': 'array'}, - 'Constraints': {'$ref': '#/definitions/Value'}, - 'ContainerType': {'type': 'string'}, - 'Disks': {'items': {'$ref': '#/definitions/Constraints'}, - 'type': 'array'}, - 'HardwareCharacteristics': {'$ref': '#/definitions/HardwareCharacteristics'}, - 'InstanceId': {'type': 'string'}, - 'Jobs': {'items': {'type': 'string'}, - 'type': 'array'}, - 'Nonce': {'type': 'string'}, - 'ParentId': {'type': 'string'}, - 'Placement': {'$ref': '#/definitions/Placement'}, - 'Series': {'type': 'string'}}, - 'required': ['Series', - 'Constraints', - 'Jobs', - 'Disks', - 'Placement', - 'ParentId', - 'ContainerType', - 'InstanceId', - 'Nonce', - 'HardwareCharacteristics', - 'Addrs'], - 'type': 'object'}, - 'AddMachines': {'additionalProperties': False, - 'properties': {'MachineParams': {'items': {'$ref': '#/definitions/AddMachineParams'}, - 'type': 'array'}}, - 'required': ['MachineParams'], - 'type': 'object'}, - 'AddMachinesResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Machine': {'type': 'string'}}, - 'required': ['Machine', 'Error'], - 'type': 'object'}, - 'AddMachinesResults': {'additionalProperties': False, - 'properties': {'Machines': {'items': {'$ref': '#/definitions/AddMachinesResult'}, - 'type': 'array'}}, - 'required': ['Machines'], - 'type': 'object'}, - 'Address': {'additionalProperties': False, - 'properties': {'Scope': {'type': 'string'}, - 'SpaceName': {'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': {'AllWatcherId': {'type': 'string'}}, - 'required': ['AllWatcherId'], - 'type': 'object'}, - 'Binary': {'additionalProperties': False, - 'properties': {'Arch': {'type': 'string'}, - 'Number': {'$ref': '#/definitions/Number'}, - 'Series': {'type': 'string'}}, - 'required': ['Number', 'Series', 'Arch'], - 'type': 'object'}, - 'BundleChangesChange': {'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'}, - 'CharmInfo': {'additionalProperties': False, - 'properties': {'CharmURL': {'type': 'string'}}, - 'required': ['CharmURL'], - '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'}, - 'MachineNames': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['MachineNames', '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', - 'Err'], - 'type': 'object'}, - 'EndpointStatus': {'additionalProperties': False, - 'properties': {'Name': {'type': 'string'}, - 'Role': {'type': 'string'}, - 'ServiceName': {'type': 'string'}, - 'Subordinate': {'type': 'boolean'}}, - 'required': ['ServiceName', - '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', - 'Data', - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['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'}, - 'MajorVersion': {'type': 'integer'}, - 'MinorVersion': {'type': 'integer'}, - 'Number': {'$ref': '#/definitions/Number'}, - 'Series': {'type': 'string'}}, - 'required': ['Number', - 'MajorVersion', - 'MinorVersion', - 'Arch', - 'Series'], - 'type': 'object'}, - 'FindToolsResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'List': {'items': {'$ref': '#/definitions/Tools'}, - 'type': 'array'}}, - 'required': ['List', 'Error'], - 'type': 'object'}, - 'FullStatus': {'additionalProperties': False, - 'properties': {'AvailableVersion': {'type': 'string'}, - 'Machines': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}}, - 'type': 'object'}, - 'ModelName': {'type': 'string'}, - 'Relations': {'items': {'$ref': '#/definitions/RelationStatus'}, - 'type': 'array'}, - 'Services': {'patternProperties': {'.*': {'$ref': '#/definitions/ServiceStatus'}}, - 'type': 'object'}}, - 'required': ['ModelName', - 'AvailableVersion', - 'Machines', - 'Services', - 'Relations'], - 'type': 'object'}, - 'GetBundleChangesParams': {'additionalProperties': False, - 'properties': {'yaml': {'type': 'string'}}, - 'required': ['yaml'], - 'type': 'object'}, - 'GetBundleChangesResults': {'additionalProperties': False, - 'properties': {'changes': {'items': {'$ref': '#/definitions/BundleChangesChange'}, - 'type': 'array'}, - 'errors': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'type': 'object'}, - 'GetConstraintsResults': {'additionalProperties': False, - 'properties': {'Constraints': {'$ref': '#/definitions/Value'}}, - 'required': ['Constraints'], - 'type': 'object'}, - 'HardwareCharacteristics': {'additionalProperties': False, - 'properties': {'Arch': {'type': 'string'}, - 'AvailabilityZone': {'type': 'string'}, - 'CpuCores': {'type': 'integer'}, - 'CpuPower': {'type': 'integer'}, - 'Mem': {'type': 'integer'}, - 'RootDisk': {'type': 'integer'}, - 'Tags': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'type': 'object'}, - 'HostPort': {'additionalProperties': False, - 'properties': {'Address': {'$ref': '#/definitions/Address'}, - 'Port': {'type': 'integer'}}, - 'required': ['Address', 'Port'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'MachineStatus': {'additionalProperties': False, - 'properties': {'AgentStatus': {'$ref': '#/definitions/DetailedStatus'}, - 'Containers': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}}, - 'type': 'object'}, - 'DNSName': {'type': 'string'}, - 'Hardware': {'type': 'string'}, - 'HasVote': {'type': 'boolean'}, - 'Id': {'type': 'string'}, - 'InstanceId': {'type': 'string'}, - 'InstanceStatus': {'$ref': '#/definitions/DetailedStatus'}, - 'Jobs': {'items': {'type': 'string'}, - 'type': 'array'}, - 'Series': {'type': 'string'}, - 'WantsVote': {'type': 'boolean'}}, - 'required': ['AgentStatus', - 'InstanceStatus', - 'DNSName', - 'InstanceId', - 'Series', - 'Id', - 'Containers', - 'Hardware', - 'Jobs', - 'HasVote', - 'WantsVote'], - 'type': 'object'}, - 'MeterStatus': {'additionalProperties': False, - 'properties': {'Color': {'type': 'string'}, - 'Message': {'type': 'string'}}, - 'required': ['Color', 'Message'], - 'type': 'object'}, - 'ModelConfigResults': {'additionalProperties': False, - 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}}, - 'required': ['Config'], - 'type': 'object'}, - 'ModelInfo': {'additionalProperties': False, - 'properties': {'DefaultSeries': {'type': 'string'}, - 'Life': {'type': 'string'}, - 'Name': {'type': 'string'}, - 'OwnerTag': {'type': 'string'}, - 'ProviderType': {'type': 'string'}, - 'ServerUUID': {'type': 'string'}, - 'Status': {'$ref': '#/definitions/EntityStatus'}, - 'UUID': {'type': 'string'}, - 'Users': {'items': {'$ref': '#/definitions/ModelUserInfo'}, - 'type': 'array'}}, - 'required': ['Name', - 'UUID', - 'ServerUUID', - 'ProviderType', - 'DefaultSeries', - 'OwnerTag', - 'Life', - 'Status', - 'Users'], - 'type': 'object'}, - 'ModelSet': {'additionalProperties': False, - 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}}, - 'required': ['Config'], - 'type': 'object'}, - 'ModelUnset': {'additionalProperties': False, - 'properties': {'Keys': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['Keys'], - 'type': 'object'}, - 'ModelUserInfo': {'additionalProperties': False, - 'properties': {'access': {'type': 'string'}, - 'displayname': {'type': 'string'}, - 'lastconnection': {'format': 'date-time', - 'type': 'string'}, - 'user': {'type': 'string'}}, - 'required': ['user', - 'displayname', - 'lastconnection', - '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'}, - 'Number': {'additionalProperties': False, - 'properties': {'Build': {'type': 'integer'}, - 'Major': {'type': 'integer'}, - 'Minor': {'type': 'integer'}, - 'Patch': {'type': 'integer'}, - 'Tag': {'type': 'string'}}, - 'required': ['Major', - 'Minor', - 'Tag', - 'Patch', - 'Build'], - 'type': 'object'}, - 'Placement': {'additionalProperties': False, - 'properties': {'Directive': {'type': 'string'}, - 'Scope': {'type': 'string'}}, - 'required': ['Scope', 'Directive'], - 'type': 'object'}, - 'PrivateAddress': {'additionalProperties': False, - 'properties': {'Target': {'type': 'string'}}, - 'required': ['Target'], - 'type': 'object'}, - 'PrivateAddressResults': {'additionalProperties': False, - 'properties': {'PrivateAddress': {'type': 'string'}}, - 'required': ['PrivateAddress'], - 'type': 'object'}, - 'ProvisioningScriptParams': {'additionalProperties': False, - 'properties': {'DataDir': {'type': 'string'}, - 'DisablePackageCommands': {'type': 'boolean'}, - 'MachineId': {'type': 'string'}, - 'Nonce': {'type': 'string'}}, - 'required': ['MachineId', - 'Nonce', - 'DataDir', - 'DisablePackageCommands'], - 'type': 'object'}, - 'ProvisioningScriptResult': {'additionalProperties': False, - 'properties': {'Script': {'type': 'string'}}, - 'required': ['Script'], - 'type': 'object'}, - 'PublicAddress': {'additionalProperties': False, - 'properties': {'Target': {'type': 'string'}}, - 'required': ['Target'], - 'type': 'object'}, - 'PublicAddressResults': {'additionalProperties': False, - 'properties': {'PublicAddress': {'type': 'string'}}, - 'required': ['PublicAddress'], - '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'}, - 'ResolveCharmResult': {'additionalProperties': False, - 'properties': {'Error': {'type': 'string'}, - 'URL': {'$ref': '#/definitions/URL'}}, - 'type': 'object'}, - 'ResolveCharmResults': {'additionalProperties': False, - 'properties': {'URLs': {'items': {'$ref': '#/definitions/ResolveCharmResult'}, - 'type': 'array'}}, - 'required': ['URLs'], - 'type': 'object'}, - 'ResolveCharms': {'additionalProperties': False, - 'properties': {'References': {'items': {'$ref': '#/definitions/URL'}, - 'type': 'array'}}, - 'required': ['References'], - 'type': 'object'}, - 'Resolved': {'additionalProperties': False, - 'properties': {'Retry': {'type': 'boolean'}, - 'UnitName': {'type': 'string'}}, - 'required': ['UnitName', 'Retry'], - 'type': 'object'}, - 'ServiceStatus': {'additionalProperties': False, - 'properties': {'CanUpgradeTo': {'type': 'string'}, - 'Charm': {'type': 'string'}, - 'Err': {'additionalProperties': True, - 'type': 'object'}, - 'Exposed': {'type': 'boolean'}, - 'Life': {'type': 'string'}, - 'MeterStatuses': {'patternProperties': {'.*': {'$ref': '#/definitions/MeterStatus'}}, - 'type': 'object'}, - 'Relations': {'patternProperties': {'.*': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'type': 'object'}, - 'Status': {'$ref': '#/definitions/DetailedStatus'}, - 'SubordinateTo': {'items': {'type': 'string'}, - 'type': 'array'}, - 'Units': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitStatus'}}, - 'type': 'object'}}, - 'required': ['Err', - 'Charm', - 'Exposed', - 'Life', - 'Relations', - 'CanUpgradeTo', - 'SubordinateTo', - 'Units', - 'MeterStatuses', - 'Status'], - 'type': 'object'}, - 'SetConstraints': {'additionalProperties': False, - 'properties': {'Constraints': {'$ref': '#/definitions/Value'}, - 'ServiceName': {'type': 'string'}}, - 'required': ['ServiceName', 'Constraints'], - 'type': 'object'}, - 'SetModelAgentVersion': {'additionalProperties': False, - 'properties': {'Version': {'$ref': '#/definitions/Number'}}, - 'required': ['Version'], - 'type': 'object'}, - 'StatusHistoryArgs': {'additionalProperties': False, - 'properties': {'Kind': {'type': 'string'}, - 'Name': {'type': 'string'}, - 'Size': {'type': 'integer'}}, - 'required': ['Kind', 'Size', 'Name'], - 'type': 'object'}, - 'StatusHistoryResults': {'additionalProperties': False, - 'properties': {'Statuses': {'items': {'$ref': '#/definitions/DetailedStatus'}, - 'type': 'array'}}, - 'required': ['Statuses'], - 'type': 'object'}, - 'StatusParams': {'additionalProperties': False, - 'properties': {'Patterns': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['Patterns'], - 'type': 'object'}, - 'Tools': {'additionalProperties': False, - 'properties': {'sha256': {'type': 'string'}, - 'size': {'type': 'integer'}, - 'url': {'type': 'string'}, - 'version': {'$ref': '#/definitions/Binary'}}, - 'required': ['version', 'url', 'size'], - 'type': 'object'}, - 'URL': {'additionalProperties': False, - 'properties': {'Channel': {'type': 'string'}, - 'Name': {'type': 'string'}, - 'Revision': {'type': 'integer'}, - 'Schema': {'type': 'string'}, - 'Series': {'type': 'string'}, - 'User': {'type': 'string'}}, - 'required': ['Schema', - 'User', - 'Name', - 'Revision', - 'Series', - 'Channel'], - 'type': 'object'}, - 'UnitStatus': {'additionalProperties': False, - 'properties': {'AgentStatus': {'$ref': '#/definitions/DetailedStatus'}, - 'Charm': {'type': 'string'}, - 'Machine': {'type': 'string'}, - 'OpenedPorts': {'items': {'type': 'string'}, - 'type': 'array'}, - 'PublicAddress': {'type': 'string'}, - 'Subordinates': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitStatus'}}, - 'type': 'object'}, - 'WorkloadStatus': {'$ref': '#/definitions/DetailedStatus'}}, - 'required': ['AgentStatus', - 'WorkloadStatus', - 'Machine', - 'OpenedPorts', - 'PublicAddress', - 'Charm', - 'Subordinates'], - 'type': 'object'}, - 'Value': {'additionalProperties': False, - 'properties': {'arch': {'type': 'string'}, - 'container': {'type': 'string'}, - 'cpu-cores': {'type': 'integer'}, - 'cpu-power': {'type': 'integer'}, - 'instance-type': {'type': 'string'}, - 'mem': {'type': 'integer'}, - 'root-disk': {'type': 'integer'}, - 'spaces': {'items': {'type': 'string'}, - 'type': 'array'}, - 'tags': {'items': {'type': 'string'}, - 'type': 'array'}, - 'virt-type': {'type': 'string'}}, - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}}, - 'type': 'object'}, - 'AbortCurrentUpgrade': {'type': 'object'}, - 'AddCharm': {'properties': {'Params': {'$ref': '#/definitions/AddCharm'}}, - 'type': 'object'}, - 'AddCharmWithAuthorization': {'properties': {'Params': {'$ref': '#/definitions/AddCharmWithAuthorization'}}, - 'type': 'object'}, - 'AddMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'}, - 'Result': {'$ref': '#/definitions/AddMachinesResults'}}, - 'type': 'object'}, - 'AddMachinesV2': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'}, - 'Result': {'$ref': '#/definitions/AddMachinesResults'}}, - 'type': 'object'}, - 'AgentVersion': {'properties': {'Result': {'$ref': '#/definitions/AgentVersionResult'}}, - 'type': 'object'}, - 'CharmInfo': {'properties': {'Params': {'$ref': '#/definitions/CharmInfo'}, - 'Result': {'$ref': '#/definitions/CharmInfo'}}, - 'type': 'object'}, - 'DestroyMachines': {'properties': {'Params': {'$ref': '#/definitions/DestroyMachines'}}, - 'type': 'object'}, - 'DestroyModel': {'type': 'object'}, - 'FindTools': {'properties': {'Params': {'$ref': '#/definitions/FindToolsParams'}, - 'Result': {'$ref': '#/definitions/FindToolsResult'}}, - 'type': 'object'}, - 'FullStatus': {'properties': {'Params': {'$ref': '#/definitions/StatusParams'}, - 'Result': {'$ref': '#/definitions/FullStatus'}}, - 'type': 'object'}, - 'GetBundleChanges': {'properties': {'Params': {'$ref': '#/definitions/GetBundleChangesParams'}, - 'Result': {'$ref': '#/definitions/GetBundleChangesResults'}}, - 'type': 'object'}, - 'GetModelConstraints': {'properties': {'Result': {'$ref': '#/definitions/GetConstraintsResults'}}, - 'type': 'object'}, - 'InjectMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'}, - 'Result': {'$ref': '#/definitions/AddMachinesResults'}}, - 'type': 'object'}, - 'ModelGet': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResults'}}, - 'type': 'object'}, - 'ModelInfo': {'properties': {'Result': {'$ref': '#/definitions/ModelInfo'}}, - 'type': 'object'}, - 'ModelSet': {'properties': {'Params': {'$ref': '#/definitions/ModelSet'}}, - 'type': 'object'}, - 'ModelUnset': {'properties': {'Params': {'$ref': '#/definitions/ModelUnset'}}, - 'type': 'object'}, - 'ModelUserInfo': {'properties': {'Result': {'$ref': '#/definitions/ModelUserInfoResults'}}, - 'type': 'object'}, - 'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/PrivateAddress'}, - 'Result': {'$ref': '#/definitions/PrivateAddressResults'}}, - 'type': 'object'}, - 'ProvisioningScript': {'properties': {'Params': {'$ref': '#/definitions/ProvisioningScriptParams'}, - 'Result': {'$ref': '#/definitions/ProvisioningScriptResult'}}, - 'type': 'object'}, - 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/PublicAddress'}, - 'Result': {'$ref': '#/definitions/PublicAddressResults'}}, - 'type': 'object'}, - 'ResolveCharms': {'properties': {'Params': {'$ref': '#/definitions/ResolveCharms'}, - 'Result': {'$ref': '#/definitions/ResolveCharmResults'}}, - 'type': 'object'}, - 'Resolved': {'properties': {'Params': {'$ref': '#/definitions/Resolved'}}, - 'type': 'object'}, - 'RetryProvisioning': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetModelAgentVersion': {'properties': {'Params': {'$ref': '#/definitions/SetModelAgentVersion'}}, - 'type': 'object'}, - 'SetModelConstraints': {'properties': {'Params': {'$ref': '#/definitions/SetConstraints'}}, - 'type': 'object'}, - 'StatusHistory': {'properties': {'Params': {'$ref': '#/definitions/StatusHistoryArgs'}, - 'Result': {'$ref': '#/definitions/StatusHistoryResults'}}, - 'type': 'object'}, - 'WatchAll': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherId'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(APIHostPortsResult) - async def APIHostPorts(self): - ''' - - Returns -> typing.Sequence[~HostPort] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='APIHostPorts', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def AbortCurrentUpgrade(self): - ''' - - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='AbortCurrentUpgrade', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def AddCharm(self, channel, url): - ''' - channel : str - url : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='AddCharm', Version=1, Params=params) - params['Channel'] = channel - params['URL'] = url - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def AddCharmWithAuthorization(self, channel, charmstoremacaroon, url): - ''' - channel : str - charmstoremacaroon : Macaroon - url : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='AddCharmWithAuthorization', Version=1, Params=params) - params['Channel'] = channel - params['CharmStoreMacaroon'] = charmstoremacaroon - params['URL'] = url - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(AddMachinesResults) - async def AddMachines(self, machineparams): - ''' - machineparams : typing.Sequence[~AddMachineParams] - Returns -> typing.Sequence[~AddMachinesResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='AddMachines', Version=1, Params=params) - params['MachineParams'] = machineparams - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(AddMachinesResults) - async def AddMachinesV2(self, machineparams): - ''' - machineparams : typing.Sequence[~AddMachineParams] - Returns -> typing.Sequence[~AddMachinesResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='AddMachinesV2', Version=1, Params=params) - params['MachineParams'] = machineparams - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(AgentVersionResult) - async def AgentVersion(self): - ''' - - Returns -> Number - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='AgentVersion', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(CharmInfo) - async def CharmInfo(self, charmurl): - ''' - charmurl : str - Returns -> str - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='CharmInfo', Version=1, Params=params) - params['CharmURL'] = charmurl - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def DestroyMachines(self, force, machinenames): - ''' - force : bool - machinenames : typing.Sequence[str] - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='DestroyMachines', Version=1, Params=params) - params['Force'] = force - params['MachineNames'] = machinenames - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def DestroyModel(self): - ''' - - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='DestroyModel', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(FindToolsResult) - async def FindTools(self, arch, majorversion, minorversion, number, series): - ''' - arch : str - majorversion : int - minorversion : int - number : Number - series : str - Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[~Tools]] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='FindTools', Version=1, Params=params) - params['Arch'] = arch - params['MajorVersion'] = majorversion - params['MinorVersion'] = minorversion - params['Number'] = number - params['Series'] = series - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(FullStatus) - async def FullStatus(self, patterns): - ''' - patterns : typing.Sequence[str] - Returns -> typing.Union[typing.Sequence[~RelationStatus], typing.Mapping[str, ~ServiceStatus]] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='FullStatus', Version=1, Params=params) - params['Patterns'] = patterns - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(GetBundleChangesResults) - async def GetBundleChanges(self, yaml): - ''' - yaml : str - Returns -> typing.Sequence[~BundleChangesChange] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='GetBundleChanges', Version=1, Params=params) - params['yaml'] = yaml - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(GetConstraintsResults) - async def GetModelConstraints(self): - ''' - - Returns -> Value - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='GetModelConstraints', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(AddMachinesResults) - async def InjectMachines(self, machineparams): - ''' - machineparams : typing.Sequence[~AddMachineParams] - Returns -> typing.Sequence[~AddMachinesResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='InjectMachines', Version=1, Params=params) - params['MachineParams'] = machineparams - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ModelConfigResults) - async def ModelGet(self): - ''' - - Returns -> typing.Mapping[str, typing.Any] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='ModelGet', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ModelInfo) - async def ModelInfo(self): - ''' - - Returns -> typing.Union[_ForwardRef('EntityStatus'), typing.Sequence[~ModelUserInfo]] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='ModelInfo', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def ModelSet(self, config): - ''' - config : typing.Mapping[str, typing.Any] - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='ModelSet', Version=1, Params=params) - params['Config'] = config - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def ModelUnset(self, keys): - ''' - keys : typing.Sequence[str] - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='ModelUnset', Version=1, Params=params) - params['Keys'] = keys - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ModelUserInfoResults) - async def ModelUserInfo(self): - ''' - - Returns -> typing.Sequence[~ModelUserInfoResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='ModelUserInfo', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(PrivateAddressResults) - async def PrivateAddress(self, target): - ''' - target : str - Returns -> str - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='PrivateAddress', Version=1, Params=params) - params['Target'] = target - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ProvisioningScriptResult) - async def ProvisioningScript(self, datadir, disablepackagecommands, machineid, nonce): - ''' - datadir : str - disablepackagecommands : bool - machineid : str - nonce : str - Returns -> str - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='ProvisioningScript', Version=1, Params=params) - params['DataDir'] = datadir - params['DisablePackageCommands'] = disablepackagecommands - params['MachineId'] = machineid - params['Nonce'] = nonce - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(PublicAddressResults) - async def PublicAddress(self, target): - ''' - target : str - Returns -> str - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='PublicAddress', Version=1, Params=params) - params['Target'] = target - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ResolveCharmResults) - async def ResolveCharms(self, references): - ''' - references : typing.Sequence[~URL] - Returns -> typing.Sequence[~ResolveCharmResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='ResolveCharms', Version=1, Params=params) - params['References'] = references - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def Resolved(self, retry, unitname): - ''' - retry : bool - unitname : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='Resolved', Version=1, Params=params) - params['Retry'] = retry - params['UnitName'] = unitname - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def RetryProvisioning(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='RetryProvisioning', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def SetModelAgentVersion(self, build, major, minor, patch, tag): - ''' - build : int - major : int - minor : int - patch : int - tag : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='SetModelAgentVersion', Version=1, Params=params) - params['Build'] = build - params['Major'] = major - params['Minor'] = minor - params['Patch'] = patch - params['Tag'] = tag - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def SetModelConstraints(self, constraints, servicename): - ''' - constraints : Value - servicename : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='SetModelConstraints', Version=1, Params=params) - params['Constraints'] = constraints - params['ServiceName'] = servicename - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StatusHistoryResults) - async def StatusHistory(self, kind, name, size): - ''' - kind : str - name : str - size : int - Returns -> typing.Sequence[~DetailedStatus] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='StatusHistory', Version=1, Params=params) - params['Kind'] = kind - params['Name'] = name - params['Size'] = size - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(AllWatcherId) - async def WatchAll(self): - ''' - - Returns -> str - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Client', Request='WatchAll', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - -class Controller(Type): - name = 'Controller' - version = 2 - schema = {'definitions': {'AllWatcherId': {'additionalProperties': False, - 'properties': {'AllWatcherId': {'type': 'string'}}, - 'required': ['AllWatcherId'], - 'type': 'object'}, - 'DestroyControllerArgs': {'additionalProperties': False, - 'properties': {'destroy-models': {'type': 'boolean'}}, - 'required': ['destroy-models'], - 'type': 'object'}, - 'Entities': {'additionalProperties': False, - 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'}, - 'type': 'array'}}, - 'required': ['Entities'], - 'type': 'object'}, - 'Entity': {'additionalProperties': False, - 'properties': {'Tag': {'type': 'string'}}, - 'required': ['Tag'], - 'type': 'object'}, - 'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'InitiateModelMigrationArgs': {'additionalProperties': False, - 'properties': {'specs': {'items': {'$ref': '#/definitions/ModelMigrationSpec'}, - 'type': 'array'}}, - 'required': ['specs'], - 'type': 'object'}, - 'InitiateModelMigrationResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'id': {'type': 'string'}, - 'model-tag': {'type': 'string'}}, - 'required': ['model-tag', - 'error', - 'id'], - 'type': 'object'}, - 'InitiateModelMigrationResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/InitiateModelMigrationResult'}, - 'type': 'array'}}, - 'required': ['results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'Model': {'additionalProperties': False, - 'properties': {'Name': {'type': 'string'}, - 'OwnerTag': {'type': 'string'}, - 'UUID': {'type': 'string'}}, - 'required': ['Name', 'UUID', 'OwnerTag'], - 'type': 'object'}, - 'ModelBlockInfo': {'additionalProperties': False, - 'properties': {'blocks': {'items': {'type': 'string'}, - 'type': 'array'}, - 'model-uuid': {'type': 'string'}, - 'name': {'type': 'string'}, - 'owner-tag': {'type': 'string'}}, - 'required': ['name', - 'model-uuid', - 'owner-tag', - 'blocks'], - 'type': 'object'}, - 'ModelBlockInfoList': {'additionalProperties': False, - 'properties': {'models': {'items': {'$ref': '#/definitions/ModelBlockInfo'}, - 'type': 'array'}}, - 'type': 'object'}, - 'ModelConfigResults': {'additionalProperties': False, - 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}}, - 'required': ['Config'], - 'type': 'object'}, - 'ModelMigrationSpec': {'additionalProperties': False, - 'properties': {'model-tag': {'type': 'string'}, - 'target-info': {'$ref': '#/definitions/ModelMigrationTargetInfo'}}, - 'required': ['model-tag', - 'target-info'], - 'type': 'object'}, - 'ModelMigrationTargetInfo': {'additionalProperties': False, - 'properties': {'addrs': {'items': {'type': 'string'}, - 'type': 'array'}, - 'auth-tag': {'type': 'string'}, - 'ca-cert': {'type': 'string'}, - 'controller-tag': {'type': 'string'}, - 'password': {'type': 'string'}}, - 'required': ['controller-tag', - 'addrs', - 'ca-cert', - 'auth-tag', - 'password'], - 'type': 'object'}, - 'ModelStatus': {'additionalProperties': False, - 'properties': {'hosted-machine-count': {'type': 'integer'}, - 'life': {'type': 'string'}, - 'model-tag': {'type': 'string'}, - 'owner-tag': {'type': 'string'}, - 'service-count': {'type': 'integer'}}, - 'required': ['model-tag', - 'life', - 'hosted-machine-count', - 'service-count', - 'owner-tag'], - 'type': 'object'}, - 'ModelStatusResults': {'additionalProperties': False, - 'properties': {'models': {'items': {'$ref': '#/definitions/ModelStatus'}, - 'type': 'array'}}, - 'required': ['models'], - 'type': 'object'}, - 'RemoveBlocksArgs': {'additionalProperties': False, - 'properties': {'all': {'type': 'boolean'}}, - 'required': ['all'], - 'type': 'object'}, - 'UserModel': {'additionalProperties': False, - 'properties': {'LastConnection': {'format': 'date-time', - 'type': 'string'}, - 'Model': {'$ref': '#/definitions/Model'}}, - 'required': ['Model', 'LastConnection'], - 'type': 'object'}, - 'UserModelList': {'additionalProperties': False, - 'properties': {'UserModels': {'items': {'$ref': '#/definitions/UserModel'}, - 'type': 'array'}}, - 'required': ['UserModels'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'AllModels': {'properties': {'Result': {'$ref': '#/definitions/UserModelList'}}, - 'type': 'object'}, - 'DestroyController': {'properties': {'Params': {'$ref': '#/definitions/DestroyControllerArgs'}}, - 'type': 'object'}, - 'InitiateModelMigration': {'properties': {'Params': {'$ref': '#/definitions/InitiateModelMigrationArgs'}, - 'Result': {'$ref': '#/definitions/InitiateModelMigrationResults'}}, - 'type': 'object'}, - 'ListBlockedModels': {'properties': {'Result': {'$ref': '#/definitions/ModelBlockInfoList'}}, - 'type': 'object'}, - 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResults'}}, - 'type': 'object'}, - 'ModelStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ModelStatusResults'}}, - 'type': 'object'}, - 'RemoveBlocks': {'properties': {'Params': {'$ref': '#/definitions/RemoveBlocksArgs'}}, - 'type': 'object'}, - 'WatchAllModels': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherId'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(UserModelList) - async def AllModels(self): - ''' - - Returns -> typing.Sequence[~UserModel] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Controller', Request='AllModels', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def DestroyController(self, destroy_models): - ''' - destroy_models : bool - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Controller', Request='DestroyController', Version=2, Params=params) - params['destroy-models'] = destroy_models - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(InitiateModelMigrationResults) - async def InitiateModelMigration(self, specs): - ''' - specs : typing.Sequence[~ModelMigrationSpec] - Returns -> typing.Sequence[~InitiateModelMigrationResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Controller', Request='InitiateModelMigration', Version=2, Params=params) - params['specs'] = specs - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ModelBlockInfoList) - async def ListBlockedModels(self): - ''' - - Returns -> typing.Sequence[~ModelBlockInfo] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Controller', Request='ListBlockedModels', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ModelConfigResults) - async def ModelConfig(self): - ''' - - Returns -> typing.Mapping[str, typing.Any] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Controller', Request='ModelConfig', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ModelStatusResults) - async def ModelStatus(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ModelStatus] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Controller', Request='ModelStatus', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def RemoveBlocks(self, all_): - ''' - all_ : bool - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Controller', Request='RemoveBlocks', Version=2, Params=params) - params['all'] = all_ - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(AllWatcherId) - async def WatchAllModels(self): - ''' - - Returns -> str - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Controller', Request='WatchAllModels', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - -class Deployer(Type): - name = 'Deployer' - version = 1 - schema = {'definitions': {'APIHostPortsResult': {'additionalProperties': False, - 'properties': {'Servers': {'items': {'items': {'$ref': '#/definitions/HostPort'}, - 'type': 'array'}, - 'type': 'array'}}, - 'required': ['Servers'], - 'type': 'object'}, - 'Address': {'additionalProperties': False, - 'properties': {'Scope': {'type': 'string'}, - 'SpaceName': {'type': 'string'}, - 'Type': {'type': 'string'}, - 'Value': {'type': 'string'}}, - 'required': ['Value', 'Type', 'Scope'], - 'type': 'object'}, - 'BytesResult': {'additionalProperties': False, - 'properties': {'Result': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['Result'], - 'type': 'object'}, - 'DeployerConnectionValues': {'additionalProperties': False, - 'properties': {'APIAddresses': {'items': {'type': 'string'}, - 'type': 'array'}, - 'StateAddresses': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['StateAddresses', - 'APIAddresses'], - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['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'}, - 'LifeResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Life': {'type': 'string'}}, - 'required': ['Life', 'Error'], - 'type': 'object'}, - 'LifeResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - 'type': 'object'}, - 'StringResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'type': 'string'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'StringsResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'StringsWatchResult': {'additionalProperties': False, - 'properties': {'Changes': {'items': {'type': 'string'}, - 'type': 'array'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'StringsWatcherId': {'type': 'string'}}, - 'required': ['StringsWatcherId', - 'Changes', - 'Error'], - 'type': 'object'}, - 'StringsWatchResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}}, - 'type': 'object'}, - 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}}, - 'type': 'object'}, - 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}}, - 'type': 'object'}, - 'ConnectionInfo': {'properties': {'Result': {'$ref': '#/definitions/DeployerConnectionValues'}}, - 'type': 'object'}, - 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/LifeResults'}}, - 'type': 'object'}, - 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}}, - 'type': 'object'}, - 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'StateAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}}, - '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='Deployer', 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='Deployer', Request='APIHostPorts', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(BytesResult) - async def CACert(self): - ''' - - Returns -> typing.Sequence[int] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Deployer', Request='CACert', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(DeployerConnectionValues) - async def ConnectionInfo(self): - ''' - - Returns -> typing.Sequence[str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Deployer', Request='ConnectionInfo', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @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='Deployer', 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='Deployer', 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='Deployer', Request='Remove', Version=1, Params=params) - params['Entities'] = entities - 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='Deployer', Request='SetPasswords', Version=1, Params=params) - params['Changes'] = changes - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsResult) - async def StateAddresses(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Deployer', Request='StateAddresses', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResult) - async def WatchAPIHostPorts(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Deployer', Request='WatchAPIHostPorts', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @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='Deployer', Request='WatchUnits', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - -class DiscoverSpaces(Type): - name = 'DiscoverSpaces' - version = 2 - schema = {'definitions': {'AddSubnetParams': {'additionalProperties': False, - 'properties': {'SpaceTag': {'type': 'string'}, - 'SubnetProviderId': {'type': 'string'}, - 'SubnetTag': {'type': 'string'}, - 'Zones': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['SpaceTag'], - 'type': 'object'}, - 'AddSubnetsParams': {'additionalProperties': False, - 'properties': {'Subnets': {'items': {'$ref': '#/definitions/AddSubnetParams'}, - 'type': 'array'}}, - 'required': ['Subnets'], - 'type': 'object'}, - 'CreateSpaceParams': {'additionalProperties': False, - 'properties': {'ProviderId': {'type': 'string'}, - 'Public': {'type': 'boolean'}, - 'SpaceTag': {'type': 'string'}, - 'SubnetTags': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['SubnetTags', - 'SpaceTag', - 'Public'], - 'type': 'object'}, - 'CreateSpacesParams': {'additionalProperties': False, - 'properties': {'Spaces': {'items': {'$ref': '#/definitions/CreateSpaceParams'}, - 'type': 'array'}}, - 'required': ['Spaces'], - 'type': 'object'}, - 'DiscoverSpacesResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ProviderSpace'}, - 'type': 'array'}}, - 'required': ['Results'], - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'ListSubnetsResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/Subnet'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'ModelConfigResult': {'additionalProperties': False, - 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}}, - 'required': ['Config'], - 'type': 'object'}, - 'ProviderSpace': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Name': {'type': 'string'}, - 'ProviderId': {'type': 'string'}, - 'Subnets': {'items': {'$ref': '#/definitions/Subnet'}, - 'type': 'array'}}, - 'required': ['Name', - 'ProviderId', - 'Subnets'], - 'type': 'object'}, - 'Subnet': {'additionalProperties': False, - 'properties': {'CIDR': {'type': 'string'}, - 'Life': {'type': 'string'}, - 'ProviderId': {'type': 'string'}, - 'SpaceTag': {'type': 'string'}, - 'StaticRangeHighIP': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'StaticRangeLowIP': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'Status': {'type': 'string'}, - 'VLANTag': {'type': 'integer'}, - 'Zones': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['CIDR', - 'VLANTag', - 'Life', - 'SpaceTag', - 'Zones'], - 'type': 'object'}, - 'SubnetsFilters': {'additionalProperties': False, - 'properties': {'SpaceTag': {'type': 'string'}, - 'Zone': {'type': 'string'}}, - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'AddSubnets': {'properties': {'Params': {'$ref': '#/definitions/AddSubnetsParams'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'CreateSpaces': {'properties': {'Params': {'$ref': '#/definitions/CreateSpacesParams'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'ListSpaces': {'properties': {'Result': {'$ref': '#/definitions/DiscoverSpacesResults'}}, - 'type': 'object'}, - 'ListSubnets': {'properties': {'Params': {'$ref': '#/definitions/SubnetsFilters'}, - 'Result': {'$ref': '#/definitions/ListSubnetsResults'}}, - 'type': 'object'}, - 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ErrorResults) - async def AddSubnets(self, subnets): - ''' - subnets : typing.Sequence[~AddSubnetParams] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='DiscoverSpaces', Request='AddSubnets', Version=2, Params=params) - params['Subnets'] = subnets - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def CreateSpaces(self, spaces): - ''' - spaces : typing.Sequence[~CreateSpaceParams] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='DiscoverSpaces', Request='CreateSpaces', Version=2, Params=params) - params['Spaces'] = spaces - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(DiscoverSpacesResults) - async def ListSpaces(self): - ''' - - Returns -> typing.Sequence[~ProviderSpace] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='DiscoverSpaces', Request='ListSpaces', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ListSubnetsResults) - async def ListSubnets(self, spacetag, zone): - ''' - spacetag : str - zone : str - Returns -> typing.Sequence[~Subnet] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='DiscoverSpaces', Request='ListSubnets', Version=2, Params=params) - params['SpaceTag'] = spacetag - params['Zone'] = zone - 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='DiscoverSpaces', Request='ModelConfig', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - -class DiskManager(Type): - name = 'DiskManager' - version = 2 - schema = {'definitions': {'BlockDevice': {'additionalProperties': False, - 'properties': {'BusAddress': {'type': 'string'}, - 'DeviceLinks': {'items': {'type': 'string'}, - 'type': 'array'}, - 'DeviceName': {'type': 'string'}, - 'FilesystemType': {'type': 'string'}, - 'HardwareId': {'type': 'string'}, - 'InUse': {'type': 'boolean'}, - 'Label': {'type': 'string'}, - 'MountPoint': {'type': 'string'}, - 'Size': {'type': 'integer'}, - 'UUID': {'type': 'string'}}, - 'required': ['DeviceName', - 'DeviceLinks', - 'Label', - 'UUID', - 'HardwareId', - 'BusAddress', - 'Size', - 'FilesystemType', - 'InUse', - 'MountPoint'], - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'MachineBlockDevices': {'additionalProperties': False, - 'properties': {'blockdevices': {'items': {'$ref': '#/definitions/BlockDevice'}, - 'type': 'array'}, - 'machine': {'type': 'string'}}, - 'required': ['machine'], - 'type': 'object'}, - 'SetMachineBlockDevices': {'additionalProperties': False, - 'properties': {'machineblockdevices': {'items': {'$ref': '#/definitions/MachineBlockDevices'}, - 'type': 'array'}}, - 'required': ['machineblockdevices'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'SetMachineBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/SetMachineBlockDevices'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ErrorResults) - async def SetMachineBlockDevices(self, machineblockdevices): - ''' - machineblockdevices : typing.Sequence[~MachineBlockDevices] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='DiskManager', Request='SetMachineBlockDevices', Version=2, Params=params) - params['machineblockdevices'] = machineblockdevices - reply = await self.rpc(msg) - return reply - - -class EntityWatcher(Type): - name = 'EntityWatcher' - version = 2 - schema = {'definitions': {'EntitiesWatchResult': {'additionalProperties': False, - 'properties': {'Changes': {'items': {'type': 'string'}, - 'type': 'array'}, - 'EntityWatcherId': {'type': 'string'}, - 'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['EntityWatcherId', - 'Changes', - 'Error'], - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/EntitiesWatchResult'}}, - 'type': 'object'}, - 'Stop': {'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(EntitiesWatchResult) - async def Next(self): - ''' - - Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='EntityWatcher', Request='Next', Version=2, 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='EntityWatcher', Request='Stop', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - -class FilesystemAttachmentsWatcher(Type): - name = 'FilesystemAttachmentsWatcher' - version = 2 - schema = {'definitions': {'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'MachineStorageId': {'additionalProperties': False, - 'properties': {'attachmenttag': {'type': 'string'}, - 'machinetag': {'type': 'string'}}, - 'required': ['machinetag', - 'attachmenttag'], - 'type': 'object'}, - 'MachineStorageIdsWatchResult': {'additionalProperties': False, - 'properties': {'Changes': {'items': {'$ref': '#/definitions/MachineStorageId'}, - 'type': 'array'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'MachineStorageIdsWatcherId': {'type': 'string'}}, - 'required': ['MachineStorageIdsWatcherId', - 'Changes', - 'Error'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResult'}}, - 'type': 'object'}, - 'Stop': {'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(MachineStorageIdsWatchResult) - async def Next(self): - ''' - - Returns -> typing.Union[typing.Sequence[~MachineStorageId], _ForwardRef('Error')] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='FilesystemAttachmentsWatcher', Request='Next', Version=2, 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='FilesystemAttachmentsWatcher', Request='Stop', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - -class Firewaller(Type): - name = 'Firewaller' - version = 2 - schema = {'definitions': {'BoolResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'type': 'boolean'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'BoolResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/BoolResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Entities': {'additionalProperties': False, - 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'}, - 'type': 'array'}}, - 'required': ['Entities'], - 'type': 'object'}, - 'Entity': {'additionalProperties': False, - 'properties': {'Tag': {'type': 'string'}}, - 'required': ['Tag'], - 'type': 'object'}, - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'LifeResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Life': {'type': 'string'}}, - 'required': ['Life', 'Error'], - 'type': 'object'}, - 'LifeResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'MachinePortRange': {'additionalProperties': False, - 'properties': {'PortRange': {'$ref': '#/definitions/PortRange'}, - 'RelationTag': {'type': 'string'}, - 'UnitTag': {'type': 'string'}}, - 'required': ['UnitTag', - 'RelationTag', - 'PortRange'], - 'type': 'object'}, - 'MachinePorts': {'additionalProperties': False, - 'properties': {'MachineTag': {'type': 'string'}, - 'SubnetTag': {'type': 'string'}}, - 'required': ['MachineTag', 'SubnetTag'], - 'type': 'object'}, - 'MachinePortsParams': {'additionalProperties': False, - 'properties': {'Params': {'items': {'$ref': '#/definitions/MachinePorts'}, - 'type': 'array'}}, - 'required': ['Params'], - 'type': 'object'}, - 'MachinePortsResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Ports': {'items': {'$ref': '#/definitions/MachinePortRange'}, - 'type': 'array'}}, - 'required': ['Error', 'Ports'], - 'type': 'object'}, - 'MachinePortsResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/MachinePortsResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'ModelConfigResult': {'additionalProperties': False, - 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}}, - 'required': ['Config'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - 'type': 'object'}, - 'NotifyWatchResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'PortRange': {'additionalProperties': False, - 'properties': {'FromPort': {'type': 'integer'}, - 'Protocol': {'type': 'string'}, - 'ToPort': {'type': 'integer'}}, - 'required': ['FromPort', 'ToPort', 'Protocol'], - 'type': 'object'}, - 'StringResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'type': 'string'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'StringResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'StringsResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'StringsResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'StringsWatchResult': {'additionalProperties': False, - 'properties': {'Changes': {'items': {'type': 'string'}, - 'type': 'array'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'StringsWatcherId': {'type': 'string'}}, - 'required': ['StringsWatcherId', - 'Changes', - 'Error'], - 'type': 'object'}, - 'StringsWatchResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'GetAssignedMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringResults'}}, - 'type': 'object'}, - 'GetExposed': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/BoolResults'}}, - 'type': 'object'}, - 'GetMachineActiveSubnets': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringsResults'}}, - 'type': 'object'}, - 'GetMachinePorts': {'properties': {'Params': {'$ref': '#/definitions/MachinePortsParams'}, - 'Result': {'$ref': '#/definitions/MachinePortsResults'}}, - 'type': 'object'}, - 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringResults'}}, - 'type': 'object'}, - 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/LifeResults'}}, - 'type': 'object'}, - 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}}, - 'type': 'object'}, - 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, - 'type': 'object'}, - 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, - 'type': 'object'}, - 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}}, - 'type': 'object'}, - 'WatchOpenedPorts': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringsWatchResults'}}, - 'type': 'object'}, - 'WatchUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringsWatchResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(StringResults) - async def GetAssignedMachine(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Firewaller', Request='GetAssignedMachine', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(BoolResults) - async def GetExposed(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~BoolResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Firewaller', Request='GetExposed', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsResults) - async def GetMachineActiveSubnets(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Firewaller', Request='GetMachineActiveSubnets', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(MachinePortsResults) - async def GetMachinePorts(self, params): - ''' - params : typing.Sequence[~MachinePorts] - Returns -> typing.Sequence[~MachinePortsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Firewaller', Request='GetMachinePorts', Version=2, Params=params) - params['Params'] = params - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringResults) - async def InstanceId(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Firewaller', Request='InstanceId', Version=2, 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='Firewaller', Request='Life', Version=2, Params=params) - params['Entities'] = entities - 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='Firewaller', Request='ModelConfig', Version=2, Params=params) - - 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='Firewaller', Request='Watch', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResult) - async def WatchForModelConfigChanges(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Firewaller', Request='WatchForModelConfigChanges', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsWatchResult) - async def WatchModelMachines(self): - ''' - - Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Firewaller', Request='WatchModelMachines', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsWatchResults) - async def WatchOpenedPorts(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringsWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Firewaller', Request='WatchOpenedPorts', Version=2, Params=params) - params['Entities'] = entities - 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='Firewaller', Request='WatchUnits', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - -class HighAvailability(Type): - name = 'HighAvailability' - version = 2 - schema = {'definitions': {'Address': {'additionalProperties': False, - 'properties': {'Scope': {'type': 'string'}, - 'SpaceName': {'type': 'string'}, - 'SpaceProviderId': {'type': 'string'}, - 'Type': {'type': 'string'}, - 'Value': {'type': 'string'}}, - 'required': ['Value', - 'Type', - 'Scope', - 'SpaceName', - 'SpaceProviderId'], - 'type': 'object'}, - 'ControllersChangeResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'$ref': '#/definitions/ControllersChanges'}}, - 'required': ['Result', 'Error'], - 'type': 'object'}, - 'ControllersChangeResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ControllersChangeResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'ControllersChanges': {'additionalProperties': False, - 'properties': {'added': {'items': {'type': 'string'}, - 'type': 'array'}, - 'converted': {'items': {'type': 'string'}, - 'type': 'array'}, - 'demoted': {'items': {'type': 'string'}, - 'type': 'array'}, - 'maintained': {'items': {'type': 'string'}, - 'type': 'array'}, - 'promoted': {'items': {'type': 'string'}, - 'type': 'array'}, - 'removed': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'type': 'object'}, - 'ControllersSpec': {'additionalProperties': False, - 'properties': {'ModelTag': {'type': 'string'}, - 'constraints': {'$ref': '#/definitions/Value'}, - 'num-controllers': {'type': 'integer'}, - 'placement': {'items': {'type': 'string'}, - 'type': 'array'}, - 'series': {'type': 'string'}}, - 'required': ['ModelTag', - 'num-controllers'], - 'type': 'object'}, - 'ControllersSpecs': {'additionalProperties': False, - 'properties': {'Specs': {'items': {'$ref': '#/definitions/ControllersSpec'}, - 'type': 'array'}}, - 'required': ['Specs'], - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'HAMember': {'additionalProperties': False, - 'properties': {'PublicAddress': {'$ref': '#/definitions/Address'}, - 'Series': {'type': 'string'}, - 'Tag': {'type': 'string'}}, - 'required': ['Tag', 'PublicAddress', 'Series'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'Member': {'additionalProperties': False, - 'properties': {'Address': {'type': 'string'}, - 'Arbiter': {'type': 'boolean'}, - 'BuildIndexes': {'type': 'boolean'}, - 'Hidden': {'type': 'boolean'}, - 'Id': {'type': 'integer'}, - 'Priority': {'type': 'number'}, - 'SlaveDelay': {'type': 'integer'}, - 'Tags': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}, - 'Votes': {'type': 'integer'}}, - 'required': ['Id', - 'Address', - 'Arbiter', - 'BuildIndexes', - 'Hidden', - 'Priority', - 'Tags', - 'SlaveDelay', - 'Votes'], - 'type': 'object'}, - 'MongoUpgradeResults': {'additionalProperties': False, - 'properties': {'Master': {'$ref': '#/definitions/HAMember'}, - 'Members': {'items': {'$ref': '#/definitions/HAMember'}, - 'type': 'array'}, - 'RsMembers': {'items': {'$ref': '#/definitions/Member'}, - 'type': 'array'}}, - 'required': ['RsMembers', - 'Master', - 'Members'], - 'type': 'object'}, - 'ResumeReplicationParams': {'additionalProperties': False, - 'properties': {'Members': {'items': {'$ref': '#/definitions/Member'}, - 'type': 'array'}}, - 'required': ['Members'], - 'type': 'object'}, - 'UpgradeMongoParams': {'additionalProperties': False, - 'properties': {'Target': {'$ref': '#/definitions/Version'}}, - 'required': ['Target'], - 'type': 'object'}, - 'Value': {'additionalProperties': False, - 'properties': {'arch': {'type': 'string'}, - 'container': {'type': 'string'}, - 'cpu-cores': {'type': 'integer'}, - 'cpu-power': {'type': 'integer'}, - 'instance-type': {'type': 'string'}, - 'mem': {'type': 'integer'}, - 'root-disk': {'type': 'integer'}, - 'spaces': {'items': {'type': 'string'}, - 'type': 'array'}, - 'tags': {'items': {'type': 'string'}, - 'type': 'array'}, - 'virt-type': {'type': 'string'}}, - 'type': 'object'}, - 'Version': {'additionalProperties': False, - 'properties': {'Major': {'type': 'integer'}, - 'Minor': {'type': 'integer'}, - 'Patch': {'type': 'string'}, - 'StorageEngine': {'type': 'string'}}, - 'required': ['Major', - 'Minor', - 'Patch', - 'StorageEngine'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'EnableHA': {'properties': {'Params': {'$ref': '#/definitions/ControllersSpecs'}, - 'Result': {'$ref': '#/definitions/ControllersChangeResults'}}, - 'type': 'object'}, - 'ResumeHAReplicationAfterUpgrade': {'properties': {'Params': {'$ref': '#/definitions/ResumeReplicationParams'}}, - 'type': 'object'}, - 'StopHAReplicationForUpgrade': {'properties': {'Params': {'$ref': '#/definitions/UpgradeMongoParams'}, - 'Result': {'$ref': '#/definitions/MongoUpgradeResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ControllersChangeResults) - async def EnableHA(self, specs): - ''' - specs : typing.Sequence[~ControllersSpec] - Returns -> typing.Sequence[~ControllersChangeResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='HighAvailability', Request='EnableHA', Version=2, Params=params) - params['Specs'] = specs - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def ResumeHAReplicationAfterUpgrade(self, members): - ''' - members : typing.Sequence[~Member] - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='HighAvailability', Request='ResumeHAReplicationAfterUpgrade', Version=2, Params=params) - params['Members'] = members - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(MongoUpgradeResults) - async def StopHAReplicationForUpgrade(self, major, minor, patch, storageengine): - ''' - major : int - minor : int - patch : str - storageengine : str - Returns -> typing.Union[_ForwardRef('HAMember'), typing.Sequence[~Member]] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='HighAvailability', Request='StopHAReplicationForUpgrade', Version=2, Params=params) - params['Major'] = major - params['Minor'] = minor - params['Patch'] = patch - params['StorageEngine'] = storageengine - reply = await self.rpc(msg) - return reply - - -class HostKeyReporter(Type): - name = 'HostKeyReporter' - version = 1 - schema = {'definitions': {'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'SSHHostKeySet': {'additionalProperties': False, - 'properties': {'entity-keys': {'items': {'$ref': '#/definitions/SSHHostKeys'}, - 'type': 'array'}}, - 'required': ['entity-keys'], - 'type': 'object'}, - 'SSHHostKeys': {'additionalProperties': False, - 'properties': {'public-keys': {'items': {'type': 'string'}, - 'type': 'array'}, - 'tag': {'type': 'string'}}, - 'required': ['tag', 'public-keys'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'ReportKeys': {'properties': {'Params': {'$ref': '#/definitions/SSHHostKeySet'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ErrorResults) - async def ReportKeys(self, entity_keys): - ''' - entity_keys : typing.Sequence[~SSHHostKeys] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='HostKeyReporter', Request='ReportKeys', Version=1, Params=params) - params['entity-keys'] = entity_keys - reply = await self.rpc(msg) - return reply - - -class ImageManager(Type): - name = 'ImageManager' - version = 2 - schema = {'definitions': {'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'ImageFilterParams': {'additionalProperties': False, - 'properties': {'images': {'items': {'$ref': '#/definitions/ImageSpec'}, - 'type': 'array'}}, - 'required': ['images'], - 'type': 'object'}, - 'ImageMetadata': {'additionalProperties': False, - 'properties': {'arch': {'type': 'string'}, - 'created': {'format': 'date-time', - 'type': 'string'}, - 'kind': {'type': 'string'}, - 'series': {'type': 'string'}, - 'url': {'type': 'string'}}, - 'required': ['kind', - 'arch', - 'series', - 'url', - 'created'], - 'type': 'object'}, - 'ImageSpec': {'additionalProperties': False, - 'properties': {'arch': {'type': 'string'}, - 'kind': {'type': 'string'}, - 'series': {'type': 'string'}}, - 'required': ['kind', 'arch', 'series'], - 'type': 'object'}, - 'ListImageResult': {'additionalProperties': False, - 'properties': {'result': {'items': {'$ref': '#/definitions/ImageMetadata'}, - 'type': 'array'}}, - 'required': ['result'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'DeleteImages': {'properties': {'Params': {'$ref': '#/definitions/ImageFilterParams'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'ListImages': {'properties': {'Params': {'$ref': '#/definitions/ImageFilterParams'}, - 'Result': {'$ref': '#/definitions/ListImageResult'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ErrorResults) - async def DeleteImages(self, images): - ''' - images : typing.Sequence[~ImageSpec] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='ImageManager', Request='DeleteImages', Version=2, Params=params) - params['images'] = images - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ListImageResult) - async def ListImages(self, images): - ''' - images : typing.Sequence[~ImageSpec] - Returns -> typing.Sequence[~ImageMetadata] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='ImageManager', Request='ListImages', Version=2, Params=params) - params['images'] = images - reply = await self.rpc(msg) - return reply - - -class ImageMetadata(Type): - name = 'ImageMetadata' - version = 2 - schema = {'definitions': {'CloudImageMetadata': {'additionalProperties': False, - 'properties': {'arch': {'type': 'string'}, - 'image_id': {'type': 'string'}, - 'priority': {'type': 'integer'}, - 'region': {'type': 'string'}, - 'root_storage_size': {'type': 'integer'}, - 'root_storage_type': {'type': 'string'}, - 'series': {'type': 'string'}, - 'source': {'type': 'string'}, - 'stream': {'type': 'string'}, - 'version': {'type': 'string'}, - 'virt_type': {'type': 'string'}}, - 'required': ['image_id', - 'region', - 'version', - 'series', - 'arch', - 'source', - 'priority'], - 'type': 'object'}, - 'CloudImageMetadataList': {'additionalProperties': False, - 'properties': {'metadata': {'items': {'$ref': '#/definitions/CloudImageMetadata'}, - 'type': 'array'}}, - 'type': 'object'}, - 'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'ImageMetadataFilter': {'additionalProperties': False, - 'properties': {'arches': {'items': {'type': 'string'}, - 'type': 'array'}, - 'region': {'type': 'string'}, - 'root-storage-type': {'type': 'string'}, - 'series': {'items': {'type': 'string'}, - 'type': 'array'}, - 'stream': {'type': 'string'}, - 'virt_type': {'type': 'string'}}, - 'type': 'object'}, - 'ListCloudImageMetadataResult': {'additionalProperties': False, - 'properties': {'result': {'items': {'$ref': '#/definitions/CloudImageMetadata'}, - 'type': 'array'}}, - 'required': ['result'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'MetadataImageIds': {'additionalProperties': False, - 'properties': {'image_ids': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['image_ids'], - 'type': 'object'}, - 'MetadataSaveParams': {'additionalProperties': False, - 'properties': {'metadata': {'items': {'$ref': '#/definitions/CloudImageMetadataList'}, - 'type': 'array'}}, - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'Delete': {'properties': {'Params': {'$ref': '#/definitions/MetadataImageIds'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'List': {'properties': {'Params': {'$ref': '#/definitions/ImageMetadataFilter'}, - 'Result': {'$ref': '#/definitions/ListCloudImageMetadataResult'}}, - 'type': 'object'}, - 'Save': {'properties': {'Params': {'$ref': '#/definitions/MetadataSaveParams'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'UpdateFromPublishedImages': {'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ErrorResults) - async def Delete(self, image_ids): - ''' - image_ids : typing.Sequence[str] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='ImageMetadata', Request='Delete', Version=2, Params=params) - params['image_ids'] = image_ids - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ListCloudImageMetadataResult) - async def List(self, arches, region, root_storage_type, series, stream, virt_type): - ''' - arches : typing.Sequence[str] - region : str - root_storage_type : str - series : typing.Sequence[str] - stream : str - virt_type : str - Returns -> typing.Sequence[~CloudImageMetadata] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='ImageMetadata', Request='List', Version=2, Params=params) - params['arches'] = arches - params['region'] = region - params['root-storage-type'] = root_storage_type - params['series'] = series - params['stream'] = stream - params['virt_type'] = virt_type - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def Save(self, metadata): - ''' - metadata : typing.Sequence[~CloudImageMetadataList] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='ImageMetadata', Request='Save', Version=2, Params=params) - params['metadata'] = metadata - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def UpdateFromPublishedImages(self): - ''' - - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='ImageMetadata', Request='UpdateFromPublishedImages', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - -class InstancePoller(Type): - name = 'InstancePoller' - version = 2 - schema = {'definitions': {'Address': {'additionalProperties': False, - 'properties': {'Scope': {'type': 'string'}, - 'SpaceName': {'type': 'string'}, - 'Type': {'type': 'string'}, - 'Value': {'type': 'string'}}, - 'required': ['Value', 'Type', 'Scope'], - 'type': 'object'}, - 'BoolResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'type': 'boolean'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'BoolResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/BoolResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Entities': {'additionalProperties': False, - 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'}, - 'type': 'array'}}, - 'required': ['Entities'], - 'type': 'object'}, - 'Entity': {'additionalProperties': False, - 'properties': {'Tag': {'type': 'string'}}, - 'required': ['Tag'], - 'type': 'object'}, - 'EntityStatusArgs': {'additionalProperties': False, - 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'Info': {'type': 'string'}, - 'Status': {'type': 'string'}, - 'Tag': {'type': 'string'}}, - 'required': ['Tag', - 'Status', - 'Info', - 'Data'], - 'type': 'object'}, - 'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'LifeResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Life': {'type': 'string'}}, - 'required': ['Life', 'Error'], - 'type': 'object'}, - 'LifeResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'MachineAddresses': {'additionalProperties': False, - 'properties': {'Addresses': {'items': {'$ref': '#/definitions/Address'}, - 'type': 'array'}, - 'Tag': {'type': 'string'}}, - 'required': ['Tag', 'Addresses'], - 'type': 'object'}, - 'MachineAddressesResult': {'additionalProperties': False, - 'properties': {'Addresses': {'items': {'$ref': '#/definitions/Address'}, - 'type': 'array'}, - 'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error', 'Addresses'], - 'type': 'object'}, - 'MachineAddressesResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/MachineAddressesResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'ModelConfigResult': {'additionalProperties': False, - 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}}, - 'required': ['Config'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - 'type': 'object'}, - 'SetMachinesAddresses': {'additionalProperties': False, - 'properties': {'MachineAddresses': {'items': {'$ref': '#/definitions/MachineAddresses'}, - 'type': 'array'}}, - 'required': ['MachineAddresses'], - 'type': 'object'}, - 'SetStatus': {'additionalProperties': False, - 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'}, - 'type': 'array'}}, - 'required': ['Entities'], - 'type': 'object'}, - 'StatusResult': {'additionalProperties': False, - 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'Id': {'type': 'string'}, - 'Info': {'type': 'string'}, - 'Life': {'type': 'string'}, - 'Since': {'format': 'date-time', - 'type': 'string'}, - 'Status': {'type': 'string'}}, - 'required': ['Error', - 'Id', - 'Life', - 'Status', - 'Info', - 'Data', - 'Since'], - 'type': 'object'}, - 'StatusResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StatusResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'StringResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'type': 'string'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'StringResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'StringsWatchResult': {'additionalProperties': False, - 'properties': {'Changes': {'items': {'type': 'string'}, - 'type': 'array'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'StringsWatcherId': {'type': 'string'}}, - 'required': ['StringsWatcherId', - 'Changes', - 'Error'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'AreManuallyProvisioned': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/BoolResults'}}, - 'type': 'object'}, - 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringResults'}}, - 'type': 'object'}, - 'InstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StatusResults'}}, - 'type': 'object'}, - 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/LifeResults'}}, - 'type': 'object'}, - 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}}, - 'type': 'object'}, - 'ProviderAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/MachineAddressesResults'}}, - 'type': 'object'}, - 'SetInstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetProviderAddresses': {'properties': {'Params': {'$ref': '#/definitions/SetMachinesAddresses'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'Status': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StatusResults'}}, - 'type': 'object'}, - 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, - 'type': 'object'}, - 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(BoolResults) - async def AreManuallyProvisioned(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~BoolResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='InstancePoller', Request='AreManuallyProvisioned', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringResults) - async def InstanceId(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='InstancePoller', Request='InstanceId', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StatusResults) - async def InstanceStatus(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StatusResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='InstancePoller', Request='InstanceStatus', Version=2, 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='InstancePoller', Request='Life', Version=2, Params=params) - params['Entities'] = entities - 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='InstancePoller', Request='ModelConfig', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(MachineAddressesResults) - async def ProviderAddresses(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~MachineAddressesResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='InstancePoller', Request='ProviderAddresses', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetInstanceStatus(self, entities): - ''' - entities : typing.Sequence[~EntityStatusArgs] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='InstancePoller', Request='SetInstanceStatus', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetProviderAddresses(self, machineaddresses): - ''' - machineaddresses : typing.Sequence[~MachineAddresses] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='InstancePoller', Request='SetProviderAddresses', Version=2, Params=params) - params['MachineAddresses'] = machineaddresses - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StatusResults) - async def Status(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StatusResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='InstancePoller', Request='Status', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResult) - async def WatchForModelConfigChanges(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='InstancePoller', Request='WatchForModelConfigChanges', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsWatchResult) - async def WatchModelMachines(self): - ''' - - Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='InstancePoller', Request='WatchModelMachines', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - -class KeyManager(Type): - name = 'KeyManager' - 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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'ListSSHKeys': {'additionalProperties': False, - 'properties': {'Entities': {'$ref': '#/definitions/Entities'}, - 'Mode': {'type': 'boolean'}}, - 'required': ['Entities', 'Mode'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'ModifyUserSSHKeys': {'additionalProperties': False, - 'properties': {'Keys': {'items': {'type': 'string'}, - 'type': 'array'}, - 'User': {'type': 'string'}}, - 'required': ['User', 'Keys'], - 'type': 'object'}, - 'StringsResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'StringsResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'AddKeys': {'properties': {'Params': {'$ref': '#/definitions/ModifyUserSSHKeys'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'DeleteKeys': {'properties': {'Params': {'$ref': '#/definitions/ModifyUserSSHKeys'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'ImportKeys': {'properties': {'Params': {'$ref': '#/definitions/ModifyUserSSHKeys'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'ListKeys': {'properties': {'Params': {'$ref': '#/definitions/ListSSHKeys'}, - 'Result': {'$ref': '#/definitions/StringsResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ErrorResults) - async def AddKeys(self, keys, user): - ''' - keys : typing.Sequence[str] - user : str - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='KeyManager', Request='AddKeys', Version=1, Params=params) - params['Keys'] = keys - params['User'] = user - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def DeleteKeys(self, keys, user): - ''' - keys : typing.Sequence[str] - user : str - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='KeyManager', Request='DeleteKeys', Version=1, Params=params) - params['Keys'] = keys - params['User'] = user - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def ImportKeys(self, keys, user): - ''' - keys : typing.Sequence[str] - user : str - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='KeyManager', Request='ImportKeys', Version=1, Params=params) - params['Keys'] = keys - params['User'] = user - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsResults) - async def ListKeys(self, entities, mode): - ''' - entities : Entities - mode : bool - Returns -> typing.Sequence[~StringsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='KeyManager', Request='ListKeys', Version=1, Params=params) - params['Entities'] = entities - params['Mode'] = mode - reply = await self.rpc(msg) - return reply - - -class KeyUpdater(Type): - name = 'KeyUpdater' - 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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - 'type': 'object'}, - 'NotifyWatchResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'StringsResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'StringsResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'AuthorisedKeys': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringsResults'}}, - 'type': 'object'}, - 'WatchAuthorisedKeys': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(StringsResults) - async def AuthorisedKeys(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='KeyUpdater', Request='AuthorisedKeys', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResults) - async def WatchAuthorisedKeys(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~NotifyWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='KeyUpdater', Request='WatchAuthorisedKeys', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - -class LeadershipService(Type): - name = 'LeadershipService' - version = 2 - schema = {'definitions': {'ClaimLeadershipBulkParams': {'additionalProperties': False, - 'properties': {'Params': {'items': {'$ref': '#/definitions/ClaimLeadershipParams'}, - 'type': 'array'}}, - 'required': ['Params'], - 'type': 'object'}, - 'ClaimLeadershipBulkResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'ClaimLeadershipParams': {'additionalProperties': False, - 'properties': {'DurationSeconds': {'type': 'number'}, - 'ServiceTag': {'type': 'string'}, - 'UnitTag': {'type': 'string'}}, - 'required': ['ServiceTag', - 'UnitTag', - 'DurationSeconds'], - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'ServiceTag': {'additionalProperties': False, - 'properties': {'Name': {'type': 'string'}}, - 'required': ['Name'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'BlockUntilLeadershipReleased': {'properties': {'Params': {'$ref': '#/definitions/ServiceTag'}, - 'Result': {'$ref': '#/definitions/ErrorResult'}}, - 'type': 'object'}, - 'ClaimLeadership': {'properties': {'Params': {'$ref': '#/definitions/ClaimLeadershipBulkParams'}, - 'Result': {'$ref': '#/definitions/ClaimLeadershipBulkResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ErrorResult) - async def BlockUntilLeadershipReleased(self, name): - ''' - name : str - Returns -> Error - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='LeadershipService', Request='BlockUntilLeadershipReleased', Version=2, Params=params) - params['Name'] = name - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ClaimLeadershipBulkResults) - async def ClaimLeadership(self, params): - ''' - params : typing.Sequence[~ClaimLeadershipParams] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='LeadershipService', Request='ClaimLeadership', Version=2, Params=params) - params['Params'] = params - reply = await self.rpc(msg) - return reply - - -class LifeFlag(Type): - name = 'LifeFlag' - 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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'LifeResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Life': {'type': 'string'}}, - 'required': ['Life', 'Error'], - 'type': 'object'}, - 'LifeResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - 'type': 'object'}, - 'NotifyWatchResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/LifeResults'}}, - 'type': 'object'}, - 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @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='LifeFlag', 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='LifeFlag', Request='Watch', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - -class Logger(Type): - name = 'Logger' - 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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - 'type': 'object'}, - 'NotifyWatchResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'StringResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'type': 'string'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'StringResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'LoggingConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringResults'}}, - 'type': 'object'}, - 'WatchLoggingConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(StringResults) - async def LoggingConfig(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Logger', Request='LoggingConfig', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResults) - async def WatchLoggingConfig(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~NotifyWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Logger', Request='WatchLoggingConfig', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - -class MachineActions(Type): - name = 'MachineActions' - version = 1 - schema = {'definitions': {'Action': {'additionalProperties': False, - 'properties': {'name': {'type': 'string'}, - 'parameters': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'receiver': {'type': 'string'}, - 'tag': {'type': 'string'}}, - 'required': ['tag', 'receiver', 'name'], - 'type': 'object'}, - 'ActionExecutionResult': {'additionalProperties': False, - 'properties': {'actiontag': {'type': 'string'}, - 'message': {'type': 'string'}, - 'results': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'status': {'type': 'string'}}, - 'required': ['actiontag', 'status'], - 'type': 'object'}, - 'ActionExecutionResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/ActionExecutionResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'ActionResult': {'additionalProperties': False, - 'properties': {'action': {'$ref': '#/definitions/Action'}, - 'completed': {'format': 'date-time', - 'type': 'string'}, - 'enqueued': {'format': 'date-time', - 'type': 'string'}, - 'error': {'$ref': '#/definitions/Error'}, - 'message': {'type': 'string'}, - 'output': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'started': {'format': 'date-time', - 'type': 'string'}, - 'status': {'type': 'string'}}, - 'type': 'object'}, - 'ActionResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'ActionsByReceiver': {'additionalProperties': False, - 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'}, - 'type': 'array'}, - 'error': {'$ref': '#/definitions/Error'}, - 'receiver': {'type': 'string'}}, - 'type': 'object'}, - 'ActionsByReceivers': {'additionalProperties': False, - 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByReceiver'}, - 'type': 'array'}}, - 'type': 'object'}, - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'StringsWatchResult': {'additionalProperties': False, - 'properties': {'Changes': {'items': {'type': 'string'}, - 'type': 'array'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'StringsWatcherId': {'type': 'string'}}, - 'required': ['StringsWatcherId', - 'Changes', - 'Error'], - 'type': 'object'}, - 'StringsWatchResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ActionResults'}}, - 'type': 'object'}, - 'BeginActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'FinishActions': {'properties': {'Params': {'$ref': '#/definitions/ActionExecutionResults'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'RunningActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ActionsByReceivers'}}, - 'type': 'object'}, - 'WatchActionNotifications': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringsWatchResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ActionResults) - async def Actions(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ActionResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MachineActions', Request='Actions', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def BeginActions(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MachineActions', Request='BeginActions', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def FinishActions(self, results): - ''' - results : typing.Sequence[~ActionExecutionResult] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MachineActions', Request='FinishActions', Version=1, Params=params) - params['results'] = results - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ActionsByReceivers) - async def RunningActions(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ActionsByReceiver] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MachineActions', Request='RunningActions', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsWatchResults) - async def WatchActionNotifications(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringsWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MachineActions', Request='WatchActionNotifications', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - -class MachineManager(Type): - name = 'MachineManager' - version = 2 - schema = {'definitions': {'AddMachineParams': {'additionalProperties': False, - 'properties': {'Addrs': {'items': {'$ref': '#/definitions/Address'}, - 'type': 'array'}, - 'Constraints': {'$ref': '#/definitions/Value'}, - 'ContainerType': {'type': 'string'}, - 'Disks': {'items': {'$ref': '#/definitions/Constraints'}, - 'type': 'array'}, - 'HardwareCharacteristics': {'$ref': '#/definitions/HardwareCharacteristics'}, - 'InstanceId': {'type': 'string'}, - 'Jobs': {'items': {'type': 'string'}, - 'type': 'array'}, - 'Nonce': {'type': 'string'}, - 'ParentId': {'type': 'string'}, - 'Placement': {'$ref': '#/definitions/Placement'}, - 'Series': {'type': 'string'}}, - 'required': ['Series', - 'Constraints', - 'Jobs', - 'Disks', - 'Placement', - 'ParentId', - 'ContainerType', - 'InstanceId', - 'Nonce', - 'HardwareCharacteristics', - 'Addrs'], - 'type': 'object'}, - 'AddMachines': {'additionalProperties': False, - 'properties': {'MachineParams': {'items': {'$ref': '#/definitions/AddMachineParams'}, - 'type': 'array'}}, - 'required': ['MachineParams'], - 'type': 'object'}, - 'AddMachinesResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Machine': {'type': 'string'}}, - 'required': ['Machine', 'Error'], - 'type': 'object'}, - 'AddMachinesResults': {'additionalProperties': False, - 'properties': {'Machines': {'items': {'$ref': '#/definitions/AddMachinesResult'}, - 'type': 'array'}}, - 'required': ['Machines'], - 'type': 'object'}, - 'Address': {'additionalProperties': False, - 'properties': {'Scope': {'type': 'string'}, - 'SpaceName': {'type': 'string'}, - 'Type': {'type': 'string'}, - 'Value': {'type': 'string'}}, - 'required': ['Value', 'Type', 'Scope'], - 'type': 'object'}, - 'Constraints': {'additionalProperties': False, - 'properties': {'Count': {'type': 'integer'}, - 'Pool': {'type': 'string'}, - 'Size': {'type': 'integer'}}, - 'required': ['Pool', 'Size', 'Count'], - 'type': 'object'}, - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'HardwareCharacteristics': {'additionalProperties': False, - 'properties': {'Arch': {'type': 'string'}, - 'AvailabilityZone': {'type': 'string'}, - 'CpuCores': {'type': 'integer'}, - 'CpuPower': {'type': 'integer'}, - 'Mem': {'type': 'integer'}, - 'RootDisk': {'type': 'integer'}, - 'Tags': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'Placement': {'additionalProperties': False, - 'properties': {'Directive': {'type': 'string'}, - 'Scope': {'type': 'string'}}, - 'required': ['Scope', 'Directive'], - 'type': 'object'}, - 'Value': {'additionalProperties': False, - 'properties': {'arch': {'type': 'string'}, - 'container': {'type': 'string'}, - 'cpu-cores': {'type': 'integer'}, - 'cpu-power': {'type': 'integer'}, - 'instance-type': {'type': 'string'}, - 'mem': {'type': 'integer'}, - 'root-disk': {'type': 'integer'}, - 'spaces': {'items': {'type': 'string'}, - 'type': 'array'}, - 'tags': {'items': {'type': 'string'}, - 'type': 'array'}, - 'virt-type': {'type': 'string'}}, - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'AddMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'}, - 'Result': {'$ref': '#/definitions/AddMachinesResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(AddMachinesResults) - async def AddMachines(self, machineparams): - ''' - machineparams : typing.Sequence[~AddMachineParams] - Returns -> typing.Sequence[~AddMachinesResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MachineManager', Request='AddMachines', Version=2, Params=params) - params['MachineParams'] = machineparams - reply = await self.rpc(msg) - return reply - - -class Machiner(Type): - name = 'Machiner' - 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'}, - 'SpaceName': {'type': 'string'}, - 'Type': {'type': 'string'}, - 'Value': {'type': 'string'}}, - 'required': ['Value', 'Type', 'Scope'], - 'type': 'object'}, - 'BytesResult': {'additionalProperties': False, - 'properties': {'Result': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['Result'], - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['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'}, - 'JobsResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Jobs': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['Jobs', 'Error'], - 'type': 'object'}, - 'JobsResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/JobsResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'LifeResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Life': {'type': 'string'}}, - 'required': ['Life', 'Error'], - 'type': 'object'}, - 'LifeResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'MachineAddresses': {'additionalProperties': False, - 'properties': {'Addresses': {'items': {'$ref': '#/definitions/Address'}, - 'type': 'array'}, - 'Tag': {'type': 'string'}}, - 'required': ['Tag', 'Addresses'], - 'type': 'object'}, - 'NetworkConfig': {'additionalProperties': False, - 'properties': {'Address': {'type': 'string'}, - 'CIDR': {'type': 'string'}, - 'ConfigType': {'type': 'string'}, - 'DNSSearchDomains': {'items': {'type': 'string'}, - 'type': 'array'}, - 'DNSServers': {'items': {'type': 'string'}, - 'type': 'array'}, - 'DeviceIndex': {'type': 'integer'}, - 'Disabled': {'type': 'boolean'}, - 'GatewayAddress': {'type': 'string'}, - 'InterfaceName': {'type': 'string'}, - 'InterfaceType': {'type': 'string'}, - 'MACAddress': {'type': 'string'}, - 'MTU': {'type': 'integer'}, - 'NoAutoStart': {'type': 'boolean'}, - 'ParentInterfaceName': {'type': 'string'}, - 'ProviderAddressId': {'type': 'string'}, - 'ProviderId': {'type': 'string'}, - 'ProviderSpaceId': {'type': 'string'}, - 'ProviderSubnetId': {'type': 'string'}, - 'ProviderVLANId': {'type': 'string'}, - 'VLANTag': {'type': 'integer'}}, - 'required': ['DeviceIndex', - 'MACAddress', - 'CIDR', - 'MTU', - 'ProviderId', - 'ProviderSubnetId', - 'ProviderSpaceId', - 'ProviderAddressId', - 'ProviderVLANId', - 'VLANTag', - 'InterfaceName', - 'ParentInterfaceName', - 'InterfaceType', - 'Disabled'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - 'type': 'object'}, - 'NotifyWatchResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'SetMachineNetworkConfig': {'additionalProperties': False, - 'properties': {'Config': {'items': {'$ref': '#/definitions/NetworkConfig'}, - 'type': 'array'}, - 'Tag': {'type': 'string'}}, - 'required': ['Tag', 'Config'], - 'type': 'object'}, - 'SetMachinesAddresses': {'additionalProperties': False, - 'properties': {'MachineAddresses': {'items': {'$ref': '#/definitions/MachineAddresses'}, - 'type': 'array'}}, - 'required': ['MachineAddresses'], - 'type': 'object'}, - 'SetStatus': {'additionalProperties': False, - 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'}, - 'type': 'array'}}, - 'required': ['Entities'], - 'type': 'object'}, - 'StringResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'type': 'string'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'StringsResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}}, - 'type': 'object'}, - 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}}, - 'type': 'object'}, - 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}}, - 'type': 'object'}, - 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'Jobs': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/JobsResults'}}, - 'type': 'object'}, - 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/LifeResults'}}, - 'type': 'object'}, - 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}}, - 'type': 'object'}, - 'SetMachineAddresses': {'properties': {'Params': {'$ref': '#/definitions/SetMachinesAddresses'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetObservedNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/SetMachineNetworkConfig'}}, - 'type': 'object'}, - 'SetProviderNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, - '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'}}, - '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='Machiner', 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='Machiner', Request='APIHostPorts', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(BytesResult) - async def CACert(self): - ''' - - Returns -> typing.Sequence[int] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Machiner', Request='CACert', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def EnsureDead(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Machiner', Request='EnsureDead', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(JobsResults) - async def Jobs(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~JobsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Machiner', Request='Jobs', 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='Machiner', 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='Machiner', Request='ModelUUID', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetMachineAddresses(self, machineaddresses): - ''' - machineaddresses : typing.Sequence[~MachineAddresses] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Machiner', Request='SetMachineAddresses', Version=1, Params=params) - params['MachineAddresses'] = machineaddresses - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def SetObservedNetworkConfig(self, config, tag): - ''' - config : typing.Sequence[~NetworkConfig] - tag : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Machiner', Request='SetObservedNetworkConfig', Version=1, Params=params) - params['Config'] = config - params['Tag'] = tag - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetProviderNetworkConfig(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Machiner', Request='SetProviderNetworkConfig', Version=1, Params=params) - params['Entities'] = entities - 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='Machiner', Request='SetStatus', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def UpdateStatus(self, entities): - ''' - entities : typing.Sequence[~EntityStatusArgs] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Machiner', Request='UpdateStatus', 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='Machiner', 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[_ForwardRef('Error'), str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Machiner', Request='WatchAPIHostPorts', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - -class MeterStatus(Type): - name = 'MeterStatus' - 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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'MeterStatusResult': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'Info': {'type': 'string'}}, - 'required': ['Code', 'Info', 'Error'], - 'type': 'object'}, - 'MeterStatusResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/MeterStatusResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - 'type': 'object'}, - 'NotifyWatchResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'GetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/MeterStatusResults'}}, - 'type': 'object'}, - 'WatchMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(MeterStatusResults) - async def GetMeterStatus(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~MeterStatusResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MeterStatus', Request='GetMeterStatus', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResults) - async def WatchMeterStatus(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~NotifyWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MeterStatus', Request='WatchMeterStatus', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - -class MetricsAdder(Type): - name = 'MetricsAdder' - version = 2 - schema = {'definitions': {'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'Metric': {'additionalProperties': False, - 'properties': {'Key': {'type': 'string'}, - 'Time': {'format': 'date-time', - 'type': 'string'}, - 'Value': {'type': 'string'}}, - 'required': ['Key', 'Value', 'Time'], - 'type': 'object'}, - 'MetricBatch': {'additionalProperties': False, - 'properties': {'CharmURL': {'type': 'string'}, - 'Created': {'format': 'date-time', - 'type': 'string'}, - 'Metrics': {'items': {'$ref': '#/definitions/Metric'}, - 'type': 'array'}, - 'UUID': {'type': 'string'}}, - 'required': ['UUID', - 'CharmURL', - 'Created', - 'Metrics'], - 'type': 'object'}, - 'MetricBatchParam': {'additionalProperties': False, - 'properties': {'Batch': {'$ref': '#/definitions/MetricBatch'}, - 'Tag': {'type': 'string'}}, - 'required': ['Tag', 'Batch'], - 'type': 'object'}, - 'MetricBatchParams': {'additionalProperties': False, - 'properties': {'Batches': {'items': {'$ref': '#/definitions/MetricBatchParam'}, - 'type': 'array'}}, - 'required': ['Batches'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'AddMetricBatches': {'properties': {'Params': {'$ref': '#/definitions/MetricBatchParams'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ErrorResults) - async def AddMetricBatches(self, batches): - ''' - batches : typing.Sequence[~MetricBatchParam] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MetricsAdder', Request='AddMetricBatches', Version=2, Params=params) - params['Batches'] = batches - reply = await self.rpc(msg) - return reply - - -class MetricsDebug(Type): - name = 'MetricsDebug' - 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'}, - 'EntityMetrics': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'metrics': {'items': {'$ref': '#/definitions/MetricResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'MeterStatusParam': {'additionalProperties': False, - 'properties': {'code': {'type': 'string'}, - 'info': {'type': 'string'}, - 'tag': {'type': 'string'}}, - 'required': ['tag', 'code', 'info'], - 'type': 'object'}, - 'MeterStatusParams': {'additionalProperties': False, - 'properties': {'statues': {'items': {'$ref': '#/definitions/MeterStatusParam'}, - 'type': 'array'}}, - 'required': ['statues'], - 'type': 'object'}, - 'MetricResult': {'additionalProperties': False, - 'properties': {'key': {'type': 'string'}, - 'time': {'format': 'date-time', - 'type': 'string'}, - 'value': {'type': 'string'}}, - 'required': ['time', 'key', 'value'], - 'type': 'object'}, - 'MetricResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/EntityMetrics'}, - 'type': 'array'}}, - 'required': ['results'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'GetMetrics': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/MetricResults'}}, - 'type': 'object'}, - 'SetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/MeterStatusParams'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(MetricResults) - async def GetMetrics(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~EntityMetrics] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MetricsDebug', Request='GetMetrics', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetMeterStatus(self, statues): - ''' - statues : typing.Sequence[~MeterStatusParam] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MetricsDebug', Request='SetMeterStatus', Version=1, Params=params) - params['statues'] = statues - reply = await self.rpc(msg) - return reply - - -class MetricsManager(Type): - name = 'MetricsManager' - 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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'CleanupOldMetrics': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SendMetrics': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ErrorResults) - async def CleanupOldMetrics(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MetricsManager', Request='CleanupOldMetrics', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SendMetrics(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MetricsManager', Request='SendMetrics', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - -class MigrationFlag(Type): - name = 'MigrationFlag' - 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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - 'type': 'object'}, - 'NotifyWatchResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'PhaseResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'phase': {'type': 'string'}}, - 'required': ['phase', 'Error'], - 'type': 'object'}, - 'PhaseResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/PhaseResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'Phase': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/PhaseResults'}}, - 'type': 'object'}, - 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(PhaseResults) - async def Phase(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~PhaseResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MigrationFlag', Request='Phase', 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='MigrationFlag', Request='Watch', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - -class MigrationMaster(Type): - name = 'MigrationMaster' - version = 1 - schema = {'definitions': {'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'FullMigrationStatus': {'additionalProperties': False, - 'properties': {'attempt': {'type': 'integer'}, - 'phase': {'type': 'string'}, - 'spec': {'$ref': '#/definitions/ModelMigrationSpec'}}, - 'required': ['spec', - 'attempt', - 'phase'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'ModelMigrationSpec': {'additionalProperties': False, - 'properties': {'model-tag': {'type': 'string'}, - 'target-info': {'$ref': '#/definitions/ModelMigrationTargetInfo'}}, - 'required': ['model-tag', - 'target-info'], - 'type': 'object'}, - 'ModelMigrationTargetInfo': {'additionalProperties': False, - 'properties': {'addrs': {'items': {'type': 'string'}, - 'type': 'array'}, - 'auth-tag': {'type': 'string'}, - 'ca-cert': {'type': 'string'}, - 'controller-tag': {'type': 'string'}, - 'password': {'type': 'string'}}, - 'required': ['controller-tag', - 'addrs', - 'ca-cert', - 'auth-tag', - 'password'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - 'type': 'object'}, - 'SerializedModel': {'additionalProperties': False, - 'properties': {'bytes': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['bytes'], - 'type': 'object'}, - 'SetMigrationPhaseArgs': {'additionalProperties': False, - 'properties': {'phase': {'type': 'string'}}, - 'required': ['phase'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'Export': {'properties': {'Result': {'$ref': '#/definitions/SerializedModel'}}, - 'type': 'object'}, - 'GetMigrationStatus': {'properties': {'Result': {'$ref': '#/definitions/FullMigrationStatus'}}, - 'type': 'object'}, - 'SetPhase': {'properties': {'Params': {'$ref': '#/definitions/SetMigrationPhaseArgs'}}, - 'type': 'object'}, - 'Watch': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(SerializedModel) - async def Export(self): - ''' - - Returns -> typing.Sequence[int] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MigrationMaster', Request='Export', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(FullMigrationStatus) - async def GetMigrationStatus(self): - ''' - - Returns -> typing.Union[int, str, _ForwardRef('ModelMigrationSpec')] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MigrationMaster', Request='GetMigrationStatus', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def SetPhase(self, phase): - ''' - phase : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MigrationMaster', Request='SetPhase', Version=1, Params=params) - params['phase'] = phase - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResult) - async def Watch(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MigrationMaster', Request='Watch', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - -class MigrationMinion(Type): - name = 'MigrationMinion' - version = 1 - schema = {'definitions': {'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'Watch': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(NotifyWatchResult) - async def Watch(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MigrationMinion', Request='Watch', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - -class MigrationStatusWatcher(Type): - name = 'MigrationStatusWatcher' - version = 1 - schema = {'definitions': {'MigrationStatus': {'additionalProperties': False, - 'properties': {'attempt': {'type': 'integer'}, - 'phase': {'type': 'string'}, - 'source-api-addrs': {'items': {'type': 'string'}, - 'type': 'array'}, - 'source-ca-cert': {'type': 'string'}, - 'target-api-addrs': {'items': {'type': 'string'}, - 'type': 'array'}, - 'target-ca-cert': {'type': 'string'}}, - 'required': ['attempt', - 'phase', - 'source-api-addrs', - 'source-ca-cert', - 'target-api-addrs', - 'target-ca-cert'], - 'type': 'object'}}, - 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/MigrationStatus'}}, - 'type': 'object'}, - 'Stop': {'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(MigrationStatus) - async def Next(self): - ''' - - Returns -> typing.Union[int, typing.Sequence[str]] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MigrationStatusWatcher', 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='MigrationStatusWatcher', Request='Stop', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - -class MigrationTarget(Type): - name = 'MigrationTarget' - version = 1 - schema = {'definitions': {'ModelArgs': {'additionalProperties': False, - 'properties': {'model-tag': {'type': 'string'}}, - 'required': ['model-tag'], - 'type': 'object'}, - 'SerializedModel': {'additionalProperties': False, - 'properties': {'bytes': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['bytes'], - 'type': 'object'}}, - 'properties': {'Abort': {'properties': {'Params': {'$ref': '#/definitions/ModelArgs'}}, - 'type': 'object'}, - 'Activate': {'properties': {'Params': {'$ref': '#/definitions/ModelArgs'}}, - 'type': 'object'}, - 'Import': {'properties': {'Params': {'$ref': '#/definitions/SerializedModel'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(None) - async def Abort(self, model_tag): - ''' - model_tag : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MigrationTarget', Request='Abort', Version=1, Params=params) - params['model-tag'] = model_tag - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def Activate(self, model_tag): - ''' - model_tag : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MigrationTarget', Request='Activate', Version=1, Params=params) - params['model-tag'] = model_tag - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def Import(self, bytes_): - ''' - bytes_ : typing.Sequence[int] - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='MigrationTarget', Request='Import', Version=1, Params=params) - params['bytes'] = bytes_ - reply = await self.rpc(msg) - return reply - - -class ModelManager(Type): - name = 'ModelManager' - version = 2 - schema = {'definitions': {'Entities': {'additionalProperties': False, - 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'}, - 'type': 'array'}}, - 'required': ['Entities'], - 'type': 'object'}, - 'Entity': {'additionalProperties': False, - 'properties': {'Tag': {'type': 'string'}}, - 'required': ['Tag'], - 'type': 'object'}, - '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', - 'Data', - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'Model': {'additionalProperties': False, - 'properties': {'Name': {'type': 'string'}, - 'OwnerTag': {'type': 'string'}, - 'UUID': {'type': 'string'}}, - 'required': ['Name', 'UUID', 'OwnerTag'], - 'type': 'object'}, - 'ModelConfigResult': {'additionalProperties': False, - 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}}, - 'required': ['Config'], - 'type': 'object'}, - 'ModelCreateArgs': {'additionalProperties': False, - 'properties': {'Account': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'Config': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'OwnerTag': {'type': 'string'}}, - 'required': ['OwnerTag', - 'Account', - 'Config'], - 'type': 'object'}, - 'ModelInfo': {'additionalProperties': False, - 'properties': {'DefaultSeries': {'type': 'string'}, - 'Life': {'type': 'string'}, - 'Name': {'type': 'string'}, - 'OwnerTag': {'type': 'string'}, - 'ProviderType': {'type': 'string'}, - 'ServerUUID': {'type': 'string'}, - 'Status': {'$ref': '#/definitions/EntityStatus'}, - 'UUID': {'type': 'string'}, - 'Users': {'items': {'$ref': '#/definitions/ModelUserInfo'}, - 'type': 'array'}}, - 'required': ['Name', - 'UUID', - 'ServerUUID', - 'ProviderType', - 'DefaultSeries', - 'OwnerTag', - 'Life', - 'Status', - 'Users'], - 'type': 'object'}, - 'ModelInfoResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'$ref': '#/definitions/ModelInfo'}}, - 'type': 'object'}, - 'ModelInfoResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/ModelInfoResult'}, - 'type': 'array'}}, - 'required': ['results'], - 'type': 'object'}, - 'ModelSkeletonConfigArgs': {'additionalProperties': False, - 'properties': {'Provider': {'type': 'string'}, - 'Region': {'type': 'string'}}, - 'required': ['Provider', 'Region'], - 'type': 'object'}, - 'ModelUserInfo': {'additionalProperties': False, - 'properties': {'access': {'type': 'string'}, - 'displayname': {'type': 'string'}, - 'lastconnection': {'format': 'date-time', - 'type': 'string'}, - 'user': {'type': 'string'}}, - 'required': ['user', - 'displayname', - 'lastconnection', - 'access'], - 'type': 'object'}, - 'ModifyModelAccess': {'additionalProperties': False, - 'properties': {'access': {'type': 'string'}, - 'action': {'type': 'string'}, - 'model-tag': {'type': 'string'}, - 'user-tag': {'type': 'string'}}, - 'required': ['user-tag', - 'action', - 'access', - 'model-tag'], - 'type': 'object'}, - 'ModifyModelAccessRequest': {'additionalProperties': False, - 'properties': {'changes': {'items': {'$ref': '#/definitions/ModifyModelAccess'}, - 'type': 'array'}}, - 'required': ['changes'], - 'type': 'object'}, - 'UserModel': {'additionalProperties': False, - 'properties': {'LastConnection': {'format': 'date-time', - 'type': 'string'}, - 'Model': {'$ref': '#/definitions/Model'}}, - 'required': ['Model', 'LastConnection'], - 'type': 'object'}, - 'UserModelList': {'additionalProperties': False, - 'properties': {'UserModels': {'items': {'$ref': '#/definitions/UserModel'}, - 'type': 'array'}}, - 'required': ['UserModels'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'ConfigSkeleton': {'properties': {'Params': {'$ref': '#/definitions/ModelSkeletonConfigArgs'}, - 'Result': {'$ref': '#/definitions/ModelConfigResult'}}, - 'type': 'object'}, - 'CreateModel': {'properties': {'Params': {'$ref': '#/definitions/ModelCreateArgs'}, - 'Result': {'$ref': '#/definitions/Model'}}, - 'type': 'object'}, - 'ListModels': {'properties': {'Params': {'$ref': '#/definitions/Entity'}, - 'Result': {'$ref': '#/definitions/UserModelList'}}, - 'type': 'object'}, - 'ModelInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ModelInfoResults'}}, - 'type': 'object'}, - 'ModifyModelAccess': {'properties': {'Params': {'$ref': '#/definitions/ModifyModelAccessRequest'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ModelConfigResult) - async def ConfigSkeleton(self, provider, region): - ''' - provider : str - region : str - Returns -> typing.Mapping[str, typing.Any] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='ModelManager', Request='ConfigSkeleton', Version=2, Params=params) - params['Provider'] = provider - params['Region'] = region - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(Model) - async def CreateModel(self, account, config, ownertag): - ''' - account : typing.Mapping[str, typing.Any] - config : typing.Mapping[str, typing.Any] - ownertag : str - Returns -> - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='ModelManager', Request='CreateModel', Version=2, Params=params) - params['Account'] = account - params['Config'] = config - params['OwnerTag'] = ownertag - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(UserModelList) - async def ListModels(self, tag): - ''' - tag : str - Returns -> typing.Sequence[~UserModel] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='ModelManager', Request='ListModels', Version=2, Params=params) - params['Tag'] = tag - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ModelInfoResults) - async def ModelInfo(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ModelInfoResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='ModelManager', Request='ModelInfo', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def ModifyModelAccess(self, changes): - ''' - changes : typing.Sequence[~ModifyModelAccess] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='ModelManager', Request='ModifyModelAccess', Version=2, Params=params) - params['changes'] = changes - reply = await self.rpc(msg) - return reply - - -class NotifyWatcher(Type): - name = 'NotifyWatcher' - version = 1 - schema = {'properties': {'Next': {'type': 'object'}, 'Stop': {'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(None) - async def Next(self): - ''' - - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='NotifyWatcher', 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='NotifyWatcher', Request='Stop', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - -class Pinger(Type): - name = 'Pinger' - version = 1 - schema = {'properties': {'Ping': {'type': 'object'}, 'Stop': {'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(None) - async def Ping(self): - ''' - - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Pinger', Request='Ping', 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='Pinger', Request='Stop', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - -class Provisioner(Type): - name = 'Provisioner' - version = 2 - 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'}, - 'SpaceName': {'type': 'string'}, - 'Type': {'type': 'string'}, - 'Value': {'type': 'string'}}, - 'required': ['Value', 'Type', 'Scope'], - 'type': 'object'}, - 'Binary': {'additionalProperties': False, - 'properties': {'Arch': {'type': 'string'}, - 'Number': {'$ref': '#/definitions/Number'}, - 'Series': {'type': 'string'}}, - 'required': ['Number', 'Series', 'Arch'], - 'type': 'object'}, - 'BytesResult': {'additionalProperties': False, - 'properties': {'Result': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['Result'], - 'type': 'object'}, - 'CloudImageMetadata': {'additionalProperties': False, - 'properties': {'arch': {'type': 'string'}, - 'image_id': {'type': 'string'}, - 'priority': {'type': 'integer'}, - 'region': {'type': 'string'}, - 'root_storage_size': {'type': 'integer'}, - 'root_storage_type': {'type': 'string'}, - 'series': {'type': 'string'}, - 'source': {'type': 'string'}, - 'stream': {'type': 'string'}, - 'version': {'type': 'string'}, - 'virt_type': {'type': 'string'}}, - 'required': ['image_id', - 'region', - 'version', - 'series', - 'arch', - 'source', - 'priority'], - 'type': 'object'}, - 'ConstraintsResult': {'additionalProperties': False, - 'properties': {'Constraints': {'$ref': '#/definitions/Value'}, - 'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error', 'Constraints'], - 'type': 'object'}, - 'ConstraintsResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ConstraintsResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'ContainerConfig': {'additionalProperties': False, - 'properties': {'AllowLXCLoopMounts': {'type': 'boolean'}, - 'AptMirror': {'type': 'string'}, - 'AptProxy': {'$ref': '#/definitions/Settings'}, - 'AuthorizedKeys': {'type': 'string'}, - 'PreferIPv6': {'type': 'boolean'}, - 'ProviderType': {'type': 'string'}, - 'Proxy': {'$ref': '#/definitions/Settings'}, - 'SSLHostnameVerification': {'type': 'boolean'}, - 'UpdateBehavior': {'$ref': '#/definitions/UpdateBehavior'}}, - 'required': ['ProviderType', - 'AuthorizedKeys', - 'SSLHostnameVerification', - 'Proxy', - 'AptProxy', - 'AptMirror', - 'PreferIPv6', - 'AllowLXCLoopMounts', - 'UpdateBehavior'], - 'type': 'object'}, - 'ContainerManagerConfig': {'additionalProperties': False, - 'properties': {'ManagerConfig': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}}, - 'required': ['ManagerConfig'], - 'type': 'object'}, - 'ContainerManagerConfigParams': {'additionalProperties': False, - 'properties': {'Type': {'type': 'string'}}, - 'required': ['Type'], - 'type': 'object'}, - 'DistributionGroupResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'DistributionGroupResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/DistributionGroupResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Entities': {'additionalProperties': False, - 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'}, - 'type': 'array'}}, - 'required': ['Entities'], - 'type': 'object'}, - 'Entity': {'additionalProperties': False, - 'properties': {'Tag': {'type': 'string'}}, - 'required': ['Tag'], - 'type': 'object'}, - 'EntityPassword': {'additionalProperties': False, - 'properties': {'Password': {'type': 'string'}, - 'Tag': {'type': 'string'}}, - 'required': ['Tag', 'Password'], - 'type': 'object'}, - 'EntityPasswords': {'additionalProperties': False, - 'properties': {'Changes': {'items': {'$ref': '#/definitions/EntityPassword'}, - 'type': 'array'}}, - 'required': ['Changes'], - 'type': 'object'}, - 'EntityStatusArgs': {'additionalProperties': False, - 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'Info': {'type': 'string'}, - 'Status': {'type': 'string'}, - 'Tag': {'type': 'string'}}, - 'required': ['Tag', - 'Status', - 'Info', - 'Data'], - 'type': 'object'}, - 'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['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'}, - 'MajorVersion': {'type': 'integer'}, - 'MinorVersion': {'type': 'integer'}, - 'Number': {'$ref': '#/definitions/Number'}, - 'Series': {'type': 'string'}}, - 'required': ['Number', - 'MajorVersion', - 'MinorVersion', - 'Arch', - 'Series'], - 'type': 'object'}, - 'FindToolsResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'List': {'items': {'$ref': '#/definitions/Tools'}, - 'type': 'array'}}, - 'required': ['List', 'Error'], - 'type': 'object'}, - 'HardwareCharacteristics': {'additionalProperties': False, - 'properties': {'Arch': {'type': 'string'}, - 'AvailabilityZone': {'type': 'string'}, - 'CpuCores': {'type': 'integer'}, - 'CpuPower': {'type': 'integer'}, - 'Mem': {'type': 'integer'}, - 'RootDisk': {'type': 'integer'}, - 'Tags': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'type': 'object'}, - 'HostPort': {'additionalProperties': False, - 'properties': {'Address': {'$ref': '#/definitions/Address'}, - 'Port': {'type': 'integer'}}, - 'required': ['Address', 'Port'], - 'type': 'object'}, - 'InstanceInfo': {'additionalProperties': False, - 'properties': {'Characteristics': {'$ref': '#/definitions/HardwareCharacteristics'}, - 'InstanceId': {'type': 'string'}, - 'NetworkConfig': {'items': {'$ref': '#/definitions/NetworkConfig'}, - 'type': 'array'}, - 'Nonce': {'type': 'string'}, - 'Tag': {'type': 'string'}, - 'VolumeAttachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentInfo'}}, - 'type': 'object'}, - 'Volumes': {'items': {'$ref': '#/definitions/Volume'}, - 'type': 'array'}}, - 'required': ['Tag', - 'InstanceId', - 'Nonce', - 'Characteristics', - 'Volumes', - 'VolumeAttachments', - 'NetworkConfig'], - 'type': 'object'}, - 'InstancesInfo': {'additionalProperties': False, - 'properties': {'Machines': {'items': {'$ref': '#/definitions/InstanceInfo'}, - 'type': 'array'}}, - 'required': ['Machines'], - 'type': 'object'}, - 'LifeResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Life': {'type': 'string'}}, - 'required': ['Life', 'Error'], - 'type': 'object'}, - 'LifeResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'MachineContainers': {'additionalProperties': False, - 'properties': {'ContainerTypes': {'items': {'type': 'string'}, - 'type': 'array'}, - 'MachineTag': {'type': 'string'}}, - 'required': ['MachineTag', - 'ContainerTypes'], - 'type': 'object'}, - 'MachineContainersParams': {'additionalProperties': False, - 'properties': {'Params': {'items': {'$ref': '#/definitions/MachineContainers'}, - 'type': 'array'}}, - 'required': ['Params'], - 'type': 'object'}, - 'MachineNetworkConfigResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Info': {'items': {'$ref': '#/definitions/NetworkConfig'}, - 'type': 'array'}}, - 'required': ['Error', 'Info'], - 'type': 'object'}, - 'MachineNetworkConfigResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/MachineNetworkConfigResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'ModelConfigResult': {'additionalProperties': False, - 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}}, - 'required': ['Config'], - 'type': 'object'}, - 'NetworkConfig': {'additionalProperties': False, - 'properties': {'Address': {'type': 'string'}, - 'CIDR': {'type': 'string'}, - 'ConfigType': {'type': 'string'}, - 'DNSSearchDomains': {'items': {'type': 'string'}, - 'type': 'array'}, - 'DNSServers': {'items': {'type': 'string'}, - 'type': 'array'}, - 'DeviceIndex': {'type': 'integer'}, - 'Disabled': {'type': 'boolean'}, - 'GatewayAddress': {'type': 'string'}, - 'InterfaceName': {'type': 'string'}, - 'InterfaceType': {'type': 'string'}, - 'MACAddress': {'type': 'string'}, - 'MTU': {'type': 'integer'}, - 'NoAutoStart': {'type': 'boolean'}, - 'ParentInterfaceName': {'type': 'string'}, - 'ProviderAddressId': {'type': 'string'}, - 'ProviderId': {'type': 'string'}, - 'ProviderSpaceId': {'type': 'string'}, - 'ProviderSubnetId': {'type': 'string'}, - 'ProviderVLANId': {'type': 'string'}, - 'VLANTag': {'type': 'integer'}}, - 'required': ['DeviceIndex', - 'MACAddress', - 'CIDR', - 'MTU', - 'ProviderId', - 'ProviderSubnetId', - 'ProviderSpaceId', - 'ProviderAddressId', - 'ProviderVLANId', - 'VLANTag', - 'InterfaceName', - 'ParentInterfaceName', - 'InterfaceType', - 'Disabled'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - 'type': 'object'}, - 'Number': {'additionalProperties': False, - 'properties': {'Build': {'type': 'integer'}, - 'Major': {'type': 'integer'}, - 'Minor': {'type': 'integer'}, - 'Patch': {'type': 'integer'}, - 'Tag': {'type': 'string'}}, - 'required': ['Major', - 'Minor', - 'Tag', - 'Patch', - 'Build'], - 'type': 'object'}, - 'ProvisioningInfo': {'additionalProperties': False, - 'properties': {'Constraints': {'$ref': '#/definitions/Value'}, - 'EndpointBindings': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}, - 'ImageMetadata': {'items': {'$ref': '#/definitions/CloudImageMetadata'}, - 'type': 'array'}, - 'Jobs': {'items': {'type': 'string'}, - 'type': 'array'}, - 'Placement': {'type': 'string'}, - 'Series': {'type': 'string'}, - 'SubnetsToZones': {'patternProperties': {'.*': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'type': 'object'}, - 'Tags': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}, - 'Volumes': {'items': {'$ref': '#/definitions/VolumeParams'}, - 'type': 'array'}}, - 'required': ['Constraints', - 'Series', - 'Placement', - 'Jobs', - 'Volumes', - 'Tags', - 'SubnetsToZones', - 'ImageMetadata', - 'EndpointBindings'], - 'type': 'object'}, - 'ProvisioningInfoResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'$ref': '#/definitions/ProvisioningInfo'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'ProvisioningInfoResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ProvisioningInfoResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'SetStatus': {'additionalProperties': False, - 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'}, - 'type': 'array'}}, - 'required': ['Entities'], - 'type': 'object'}, - 'Settings': {'additionalProperties': False, - 'properties': {'Ftp': {'type': 'string'}, - 'Http': {'type': 'string'}, - 'Https': {'type': 'string'}, - 'NoProxy': {'type': 'string'}}, - 'required': ['Http', 'Https', 'Ftp', 'NoProxy'], - 'type': 'object'}, - 'StatusResult': {'additionalProperties': False, - 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'Id': {'type': 'string'}, - 'Info': {'type': 'string'}, - 'Life': {'type': 'string'}, - 'Since': {'format': 'date-time', - 'type': 'string'}, - 'Status': {'type': 'string'}}, - 'required': ['Error', - 'Id', - 'Life', - 'Status', - 'Info', - 'Data', - 'Since'], - 'type': 'object'}, - 'StatusResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StatusResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'StringResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'type': 'string'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'StringResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'StringsResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'StringsWatchResult': {'additionalProperties': False, - 'properties': {'Changes': {'items': {'type': 'string'}, - 'type': 'array'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'StringsWatcherId': {'type': 'string'}}, - 'required': ['StringsWatcherId', - 'Changes', - 'Error'], - 'type': 'object'}, - 'StringsWatchResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Tools': {'additionalProperties': False, - 'properties': {'sha256': {'type': 'string'}, - 'size': {'type': 'integer'}, - 'url': {'type': 'string'}, - 'version': {'$ref': '#/definitions/Binary'}}, - 'required': ['version', 'url', 'size'], - 'type': 'object'}, - 'ToolsResult': {'additionalProperties': False, - 'properties': {'DisableSSLHostnameVerification': {'type': 'boolean'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'ToolsList': {'items': {'$ref': '#/definitions/Tools'}, - 'type': 'array'}}, - 'required': ['ToolsList', - 'DisableSSLHostnameVerification', - 'Error'], - 'type': 'object'}, - 'ToolsResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ToolsResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'UpdateBehavior': {'additionalProperties': False, - 'properties': {'EnableOSRefreshUpdate': {'type': 'boolean'}, - 'EnableOSUpgrade': {'type': 'boolean'}}, - 'required': ['EnableOSRefreshUpdate', - 'EnableOSUpgrade'], - 'type': 'object'}, - 'Value': {'additionalProperties': False, - 'properties': {'arch': {'type': 'string'}, - 'container': {'type': 'string'}, - 'cpu-cores': {'type': 'integer'}, - 'cpu-power': {'type': 'integer'}, - 'instance-type': {'type': 'string'}, - 'mem': {'type': 'integer'}, - 'root-disk': {'type': 'integer'}, - 'spaces': {'items': {'type': 'string'}, - 'type': 'array'}, - 'tags': {'items': {'type': 'string'}, - 'type': 'array'}, - 'virt-type': {'type': 'string'}}, - 'type': 'object'}, - 'Volume': {'additionalProperties': False, - 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'}, - 'volumetag': {'type': 'string'}}, - 'required': ['volumetag', 'info'], - 'type': 'object'}, - 'VolumeAttachmentInfo': {'additionalProperties': False, - 'properties': {'busaddress': {'type': 'string'}, - 'devicelink': {'type': 'string'}, - 'devicename': {'type': 'string'}, - 'read-only': {'type': 'boolean'}}, - 'type': 'object'}, - 'VolumeAttachmentParams': {'additionalProperties': False, - 'properties': {'instanceid': {'type': 'string'}, - 'machinetag': {'type': 'string'}, - 'provider': {'type': 'string'}, - 'read-only': {'type': 'boolean'}, - 'volumeid': {'type': 'string'}, - 'volumetag': {'type': 'string'}}, - 'required': ['volumetag', - 'machinetag', - 'provider'], - 'type': 'object'}, - 'VolumeInfo': {'additionalProperties': False, - 'properties': {'hardwareid': {'type': 'string'}, - 'persistent': {'type': 'boolean'}, - 'size': {'type': 'integer'}, - 'volumeid': {'type': 'string'}}, - 'required': ['volumeid', 'size', 'persistent'], - 'type': 'object'}, - 'VolumeParams': {'additionalProperties': False, - 'properties': {'attachment': {'$ref': '#/definitions/VolumeAttachmentParams'}, - 'attributes': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'provider': {'type': 'string'}, - 'size': {'type': 'integer'}, - 'tags': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}, - 'volumetag': {'type': 'string'}}, - 'required': ['volumetag', 'size', 'provider'], - 'type': 'object'}, - 'WatchContainer': {'additionalProperties': False, - 'properties': {'ContainerType': {'type': 'string'}, - 'MachineTag': {'type': 'string'}}, - 'required': ['MachineTag', 'ContainerType'], - 'type': 'object'}, - 'WatchContainers': {'additionalProperties': False, - 'properties': {'Params': {'items': {'$ref': '#/definitions/WatchContainer'}, - 'type': 'array'}}, - 'required': ['Params'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}}, - 'type': 'object'}, - 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}}, - 'type': 'object'}, - 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}}, - 'type': 'object'}, - 'Constraints': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ConstraintsResults'}}, - 'type': 'object'}, - 'ContainerConfig': {'properties': {'Result': {'$ref': '#/definitions/ContainerConfig'}}, - 'type': 'object'}, - 'ContainerManagerConfig': {'properties': {'Params': {'$ref': '#/definitions/ContainerManagerConfigParams'}, - 'Result': {'$ref': '#/definitions/ContainerManagerConfig'}}, - 'type': 'object'}, - 'DistributionGroup': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/DistributionGroupResults'}}, - 'type': 'object'}, - 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'FindTools': {'properties': {'Params': {'$ref': '#/definitions/FindToolsParams'}, - 'Result': {'$ref': '#/definitions/FindToolsResult'}}, - 'type': 'object'}, - 'GetContainerInterfaceInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/MachineNetworkConfigResults'}}, - 'type': 'object'}, - 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringResults'}}, - 'type': 'object'}, - 'InstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StatusResults'}}, - 'type': 'object'}, - 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/LifeResults'}}, - 'type': 'object'}, - 'MachinesWithTransientErrors': {'properties': {'Result': {'$ref': '#/definitions/StatusResults'}}, - 'type': 'object'}, - 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}}, - 'type': 'object'}, - 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}}, - 'type': 'object'}, - 'PrepareContainerInterfaceInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/MachineNetworkConfigResults'}}, - 'type': 'object'}, - 'ProvisioningInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ProvisioningInfoResults'}}, - 'type': 'object'}, - 'ReleaseContainerAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'Series': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringResults'}}, - 'type': 'object'}, - 'SetInstanceInfo': {'properties': {'Params': {'$ref': '#/definitions/InstancesInfo'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetInstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetSupportedContainers': {'properties': {'Params': {'$ref': '#/definitions/MachineContainersParams'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'StateAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}}, - 'type': 'object'}, - 'Status': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StatusResults'}}, - 'type': 'object'}, - 'Tools': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ToolsResults'}}, - 'type': 'object'}, - 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, - 'type': 'object'}, - 'WatchAllContainers': {'properties': {'Params': {'$ref': '#/definitions/WatchContainers'}, - 'Result': {'$ref': '#/definitions/StringsWatchResults'}}, - 'type': 'object'}, - 'WatchContainers': {'properties': {'Params': {'$ref': '#/definitions/WatchContainers'}, - 'Result': {'$ref': '#/definitions/StringsWatchResults'}}, - 'type': 'object'}, - 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, - 'type': 'object'}, - 'WatchMachineErrorRetry': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, - 'type': 'object'}, - 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(StringsResult) - async def APIAddresses(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='APIAddresses', Version=2, 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='Provisioner', Request='APIHostPorts', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(BytesResult) - async def CACert(self): - ''' - - Returns -> typing.Sequence[int] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='CACert', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ConstraintsResults) - async def Constraints(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ConstraintsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='Constraints', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ContainerConfig) - async def ContainerConfig(self): - ''' - - Returns -> typing.Union[bool, str, _ForwardRef('Settings'), _ForwardRef('Settings'), _ForwardRef('UpdateBehavior')] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='ContainerConfig', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ContainerManagerConfig) - async def ContainerManagerConfig(self, type_): - ''' - type_ : str - Returns -> typing.Mapping[str, str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='ContainerManagerConfig', Version=2, Params=params) - params['Type'] = type_ - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(DistributionGroupResults) - async def DistributionGroup(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~DistributionGroupResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='DistributionGroup', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def EnsureDead(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='EnsureDead', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(FindToolsResult) - async def FindTools(self, arch, majorversion, minorversion, number, series): - ''' - arch : str - majorversion : int - minorversion : int - number : Number - series : str - Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[~Tools]] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='FindTools', Version=2, Params=params) - params['Arch'] = arch - params['MajorVersion'] = majorversion - params['MinorVersion'] = minorversion - params['Number'] = number - params['Series'] = series - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(MachineNetworkConfigResults) - async def GetContainerInterfaceInfo(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~MachineNetworkConfigResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='GetContainerInterfaceInfo', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringResults) - async def InstanceId(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='InstanceId', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StatusResults) - async def InstanceStatus(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StatusResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='InstanceStatus', Version=2, 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='Provisioner', Request='Life', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StatusResults) - async def MachinesWithTransientErrors(self): - ''' - - Returns -> typing.Sequence[~StatusResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='MachinesWithTransientErrors', Version=2, 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='Provisioner', Request='ModelConfig', Version=2, Params=params) - - 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='Provisioner', Request='ModelUUID', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(MachineNetworkConfigResults) - async def PrepareContainerInterfaceInfo(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~MachineNetworkConfigResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='PrepareContainerInterfaceInfo', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ProvisioningInfoResults) - async def ProvisioningInfo(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ProvisioningInfoResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='ProvisioningInfo', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def ReleaseContainerAddresses(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='ReleaseContainerAddresses', Version=2, Params=params) - params['Entities'] = entities - 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='Provisioner', Request='Remove', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringResults) - async def Series(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='Series', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetInstanceInfo(self, machines): - ''' - machines : typing.Sequence[~InstanceInfo] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='SetInstanceInfo', Version=2, Params=params) - params['Machines'] = machines - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetInstanceStatus(self, entities): - ''' - entities : typing.Sequence[~EntityStatusArgs] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='SetInstanceStatus', Version=2, Params=params) - params['Entities'] = entities - 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='Provisioner', Request='SetPasswords', Version=2, Params=params) - params['Changes'] = changes - 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='Provisioner', Request='SetStatus', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetSupportedContainers(self, params): - ''' - params : typing.Sequence[~MachineContainers] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='SetSupportedContainers', Version=2, Params=params) - params['Params'] = params - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsResult) - async def StateAddresses(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='StateAddresses', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StatusResults) - async def Status(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StatusResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='Status', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ToolsResults) - async def Tools(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ToolsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='Tools', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def UpdateStatus(self, entities): - ''' - entities : typing.Sequence[~EntityStatusArgs] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='UpdateStatus', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResult) - async def WatchAPIHostPorts(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='WatchAPIHostPorts', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsWatchResults) - async def WatchAllContainers(self, params): - ''' - params : typing.Sequence[~WatchContainer] - Returns -> typing.Sequence[~StringsWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='WatchAllContainers', Version=2, Params=params) - params['Params'] = params - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsWatchResults) - async def WatchContainers(self, params): - ''' - params : typing.Sequence[~WatchContainer] - Returns -> typing.Sequence[~StringsWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='WatchContainers', Version=2, Params=params) - params['Params'] = params - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResult) - async def WatchForModelConfigChanges(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='WatchForModelConfigChanges', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResult) - async def WatchMachineErrorRetry(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='WatchMachineErrorRetry', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsWatchResult) - async def WatchModelMachines(self): - ''' - - Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Provisioner', Request='WatchModelMachines', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - -class ProxyUpdater(Type): - name = 'ProxyUpdater' - 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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - 'type': 'object'}, - 'NotifyWatchResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'ProxyConfig': {'additionalProperties': False, - 'properties': {'FTP': {'type': 'string'}, - 'HTTP': {'type': 'string'}, - 'HTTPS': {'type': 'string'}, - 'NoProxy': {'type': 'string'}}, - 'required': ['HTTP', - 'HTTPS', - 'FTP', - 'NoProxy'], - 'type': 'object'}, - 'ProxyConfigResult': {'additionalProperties': False, - 'properties': {'APTProxySettings': {'$ref': '#/definitions/ProxyConfig'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'ProxySettings': {'$ref': '#/definitions/ProxyConfig'}}, - 'required': ['ProxySettings', - 'APTProxySettings'], - 'type': 'object'}, - 'ProxyConfigResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ProxyConfigResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'ProxyConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ProxyConfigResults'}}, - 'type': 'object'}, - 'WatchForProxyConfigAndAPIHostPortChanges': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ProxyConfigResults) - async def ProxyConfig(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ProxyConfigResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='ProxyUpdater', Request='ProxyConfig', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResults) - async def WatchForProxyConfigAndAPIHostPortChanges(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~NotifyWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='ProxyUpdater', Request='WatchForProxyConfigAndAPIHostPortChanges', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - -class Reboot(Type): - name = 'Reboot' - version = 2 - schema = {'definitions': {'Entities': {'additionalProperties': False, - 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'}, - 'type': 'array'}}, - 'required': ['Entities'], - 'type': 'object'}, - 'Entity': {'additionalProperties': False, - 'properties': {'Tag': {'type': 'string'}}, - 'required': ['Tag'], - 'type': 'object'}, - 'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - 'type': 'object'}, - 'RebootActionResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'type': 'string'}}, - 'type': 'object'}, - 'RebootActionResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/RebootActionResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'ClearReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'GetRebootAction': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/RebootActionResults'}}, - 'type': 'object'}, - 'RequestReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'WatchForRebootEvent': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ErrorResults) - async def ClearReboot(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Reboot', Request='ClearReboot', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(RebootActionResults) - async def GetRebootAction(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~RebootActionResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Reboot', Request='GetRebootAction', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def RequestReboot(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Reboot', Request='RequestReboot', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResult) - async def WatchForRebootEvent(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Reboot', Request='WatchForRebootEvent', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - -class RelationUnitsWatcher(Type): - name = 'RelationUnitsWatcher' - version = 1 - schema = {'definitions': {'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'RelationUnitsChange': {'additionalProperties': False, - 'properties': {'Changed': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitSettings'}}, - 'type': 'object'}, - 'Departed': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['Changed', 'Departed'], - 'type': 'object'}, - 'RelationUnitsWatchResult': {'additionalProperties': False, - 'properties': {'Changes': {'$ref': '#/definitions/RelationUnitsChange'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'RelationUnitsWatcherId': {'type': 'string'}}, - 'required': ['RelationUnitsWatcherId', - 'Changes', - 'Error'], - 'type': 'object'}, - 'UnitSettings': {'additionalProperties': False, - 'properties': {'Version': {'type': 'integer'}}, - 'required': ['Version'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/RelationUnitsWatchResult'}}, - 'type': 'object'}, - 'Stop': {'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(RelationUnitsWatchResult) - async def Next(self): - ''' - - Returns -> typing.Union[_ForwardRef('RelationUnitsChange'), _ForwardRef('Error'), str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='RelationUnitsWatcher', 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='RelationUnitsWatcher', Request='Stop', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - -class Resumer(Type): - name = 'Resumer' - version = 2 - schema = {'properties': {'ResumeTransactions': {'type': 'object'}}, 'type': 'object'} - - - @ReturnMapping(None) - async def ResumeTransactions(self): - ''' - - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Resumer', Request='ResumeTransactions', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - -class RetryStrategy(Type): - name = 'RetryStrategy' - 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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - 'type': 'object'}, - 'NotifyWatchResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'RetryStrategy': {'additionalProperties': False, - 'properties': {'JitterRetryTime': {'type': 'boolean'}, - 'MaxRetryTime': {'type': 'integer'}, - 'MinRetryTime': {'type': 'integer'}, - 'RetryTimeFactor': {'type': 'integer'}, - 'ShouldRetry': {'type': 'boolean'}}, - 'required': ['ShouldRetry', - 'MinRetryTime', - 'MaxRetryTime', - 'JitterRetryTime', - 'RetryTimeFactor'], - 'type': 'object'}, - 'RetryStrategyResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'$ref': '#/definitions/RetryStrategy'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'RetryStrategyResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/RetryStrategyResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'RetryStrategy': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/RetryStrategyResults'}}, - 'type': 'object'}, - 'WatchRetryStrategy': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(RetryStrategyResults) - async def RetryStrategy(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~RetryStrategyResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='RetryStrategy', Request='RetryStrategy', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResults) - async def WatchRetryStrategy(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~NotifyWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='RetryStrategy', Request='WatchRetryStrategy', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - -class SSHClient(Type): - name = 'SSHClient' - 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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'SSHAddressResult': {'additionalProperties': False, - 'properties': {'address': {'type': 'string'}, - 'error': {'$ref': '#/definitions/Error'}}, - 'type': 'object'}, - 'SSHAddressResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/SSHAddressResult'}, - 'type': 'array'}}, - 'required': ['results'], - 'type': 'object'}, - 'SSHProxyResult': {'additionalProperties': False, - 'properties': {'use-proxy': {'type': 'boolean'}}, - 'required': ['use-proxy'], - 'type': 'object'}, - 'SSHPublicKeysResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'public-keys': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'type': 'object'}, - 'SSHPublicKeysResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/SSHPublicKeysResult'}, - 'type': 'array'}}, - 'required': ['results'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/SSHAddressResults'}}, - 'type': 'object'}, - 'Proxy': {'properties': {'Result': {'$ref': '#/definitions/SSHProxyResult'}}, - 'type': 'object'}, - 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/SSHAddressResults'}}, - 'type': 'object'}, - 'PublicKeys': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/SSHPublicKeysResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(SSHAddressResults) - async def PrivateAddress(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~SSHAddressResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='SSHClient', Request='PrivateAddress', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(SSHProxyResult) - async def Proxy(self): - ''' - - Returns -> bool - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='SSHClient', Request='Proxy', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(SSHAddressResults) - async def PublicAddress(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~SSHAddressResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='SSHClient', Request='PublicAddress', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(SSHPublicKeysResults) - async def PublicKeys(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~SSHPublicKeysResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='SSHClient', Request='PublicKeys', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - -class Service(Type): - name = 'Service' - version = 3 - schema = {'definitions': {'AddRelation': {'additionalProperties': False, - 'properties': {'Endpoints': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['Endpoints'], - 'type': 'object'}, - 'AddRelationResults': {'additionalProperties': False, - 'properties': {'Endpoints': {'patternProperties': {'.*': {'$ref': '#/definitions/Relation'}}, - 'type': 'object'}}, - 'required': ['Endpoints'], - 'type': 'object'}, - 'AddServiceUnits': {'additionalProperties': False, - 'properties': {'NumUnits': {'type': 'integer'}, - 'Placement': {'items': {'$ref': '#/definitions/Placement'}, - 'type': 'array'}, - 'ServiceName': {'type': 'string'}}, - 'required': ['ServiceName', - 'NumUnits', - 'Placement'], - 'type': 'object'}, - 'AddServiceUnitsResults': {'additionalProperties': False, - 'properties': {'Units': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['Units'], - 'type': 'object'}, - 'Constraints': {'additionalProperties': False, - 'properties': {'Count': {'type': 'integer'}, - 'Pool': {'type': 'string'}, - 'Size': {'type': 'integer'}}, - 'required': ['Pool', 'Size', 'Count'], - 'type': 'object'}, - 'DestroyRelation': {'additionalProperties': False, - 'properties': {'Endpoints': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['Endpoints'], - 'type': 'object'}, - 'DestroyServiceUnits': {'additionalProperties': False, - 'properties': {'UnitNames': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['UnitNames'], - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'GetConstraintsResults': {'additionalProperties': False, - 'properties': {'Constraints': {'$ref': '#/definitions/Value'}}, - 'required': ['Constraints'], - 'type': 'object'}, - 'GetServiceConstraints': {'additionalProperties': False, - 'properties': {'ServiceName': {'type': 'string'}}, - 'required': ['ServiceName'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'Placement': {'additionalProperties': False, - 'properties': {'Directive': {'type': 'string'}, - 'Scope': {'type': 'string'}}, - 'required': ['Scope', 'Directive'], - 'type': 'object'}, - 'Relation': {'additionalProperties': False, - 'properties': {'Interface': {'type': 'string'}, - 'Limit': {'type': 'integer'}, - 'Name': {'type': 'string'}, - 'Optional': {'type': 'boolean'}, - 'Role': {'type': 'string'}, - 'Scope': {'type': 'string'}}, - 'required': ['Name', - 'Role', - 'Interface', - 'Optional', - 'Limit', - 'Scope'], - 'type': 'object'}, - 'ServiceCharmRelations': {'additionalProperties': False, - 'properties': {'ServiceName': {'type': 'string'}}, - 'required': ['ServiceName'], - 'type': 'object'}, - 'ServiceCharmRelationsResults': {'additionalProperties': False, - 'properties': {'CharmRelations': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['CharmRelations'], - 'type': 'object'}, - 'ServiceDeploy': {'additionalProperties': False, - 'properties': {'Channel': {'type': 'string'}, - 'CharmUrl': {'type': 'string'}, - 'Config': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}, - 'ConfigYAML': {'type': 'string'}, - 'Constraints': {'$ref': '#/definitions/Value'}, - 'EndpointBindings': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}, - 'NumUnits': {'type': 'integer'}, - 'Placement': {'items': {'$ref': '#/definitions/Placement'}, - 'type': 'array'}, - 'Resources': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}, - 'Series': {'type': 'string'}, - 'ServiceName': {'type': 'string'}, - 'Storage': {'patternProperties': {'.*': {'$ref': '#/definitions/Constraints'}}, - 'type': 'object'}}, - 'required': ['ServiceName', - 'Series', - 'CharmUrl', - 'Channel', - 'NumUnits', - 'Config', - 'ConfigYAML', - 'Constraints', - 'Placement', - 'Storage', - 'EndpointBindings', - 'Resources'], - 'type': 'object'}, - 'ServiceDestroy': {'additionalProperties': False, - 'properties': {'ServiceName': {'type': 'string'}}, - 'required': ['ServiceName'], - 'type': 'object'}, - 'ServiceExpose': {'additionalProperties': False, - 'properties': {'ServiceName': {'type': 'string'}}, - 'required': ['ServiceName'], - 'type': 'object'}, - 'ServiceGet': {'additionalProperties': False, - 'properties': {'ServiceName': {'type': 'string'}}, - 'required': ['ServiceName'], - 'type': 'object'}, - 'ServiceGetResults': {'additionalProperties': False, - 'properties': {'Charm': {'type': 'string'}, - 'Config': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'Constraints': {'$ref': '#/definitions/Value'}, - 'Service': {'type': 'string'}}, - 'required': ['Service', - 'Charm', - 'Config', - 'Constraints'], - 'type': 'object'}, - 'ServiceMetricCredential': {'additionalProperties': False, - 'properties': {'MetricCredentials': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'ServiceName': {'type': 'string'}}, - 'required': ['ServiceName', - 'MetricCredentials'], - 'type': 'object'}, - 'ServiceMetricCredentials': {'additionalProperties': False, - 'properties': {'Creds': {'items': {'$ref': '#/definitions/ServiceMetricCredential'}, - 'type': 'array'}}, - 'required': ['Creds'], - 'type': 'object'}, - 'ServiceSet': {'additionalProperties': False, - 'properties': {'Options': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}, - 'ServiceName': {'type': 'string'}}, - 'required': ['ServiceName', 'Options'], - 'type': 'object'}, - 'ServiceSetCharm': {'additionalProperties': False, - 'properties': {'charmurl': {'type': 'string'}, - 'cs-channel': {'type': 'string'}, - 'forceseries': {'type': 'boolean'}, - 'forceunits': {'type': 'boolean'}, - 'resourceids': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}, - 'servicename': {'type': 'string'}}, - 'required': ['servicename', - 'charmurl', - 'cs-channel', - 'forceunits', - 'forceseries', - 'resourceids'], - 'type': 'object'}, - 'ServiceUnexpose': {'additionalProperties': False, - 'properties': {'ServiceName': {'type': 'string'}}, - 'required': ['ServiceName'], - 'type': 'object'}, - 'ServiceUnset': {'additionalProperties': False, - 'properties': {'Options': {'items': {'type': 'string'}, - 'type': 'array'}, - 'ServiceName': {'type': 'string'}}, - 'required': ['ServiceName', 'Options'], - 'type': 'object'}, - 'ServiceUpdate': {'additionalProperties': False, - 'properties': {'CharmUrl': {'type': 'string'}, - 'Constraints': {'$ref': '#/definitions/Value'}, - 'ForceCharmUrl': {'type': 'boolean'}, - 'ForceSeries': {'type': 'boolean'}, - 'MinUnits': {'type': 'integer'}, - 'ServiceName': {'type': 'string'}, - 'SettingsStrings': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}, - 'SettingsYAML': {'type': 'string'}}, - 'required': ['ServiceName', - 'CharmUrl', - 'ForceCharmUrl', - 'ForceSeries', - 'MinUnits', - 'SettingsStrings', - 'SettingsYAML', - 'Constraints'], - 'type': 'object'}, - 'ServicesDeploy': {'additionalProperties': False, - 'properties': {'Services': {'items': {'$ref': '#/definitions/ServiceDeploy'}, - 'type': 'array'}}, - 'required': ['Services'], - 'type': 'object'}, - 'SetConstraints': {'additionalProperties': False, - 'properties': {'Constraints': {'$ref': '#/definitions/Value'}, - 'ServiceName': {'type': 'string'}}, - 'required': ['ServiceName', 'Constraints'], - 'type': 'object'}, - 'StringResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'type': 'string'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'Value': {'additionalProperties': False, - 'properties': {'arch': {'type': 'string'}, - 'container': {'type': 'string'}, - 'cpu-cores': {'type': 'integer'}, - 'cpu-power': {'type': 'integer'}, - 'instance-type': {'type': 'string'}, - 'mem': {'type': 'integer'}, - 'root-disk': {'type': 'integer'}, - 'spaces': {'items': {'type': 'string'}, - 'type': 'array'}, - 'tags': {'items': {'type': 'string'}, - 'type': 'array'}, - 'virt-type': {'type': 'string'}}, - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'AddRelation': {'properties': {'Params': {'$ref': '#/definitions/AddRelation'}, - 'Result': {'$ref': '#/definitions/AddRelationResults'}}, - 'type': 'object'}, - 'AddUnits': {'properties': {'Params': {'$ref': '#/definitions/AddServiceUnits'}, - 'Result': {'$ref': '#/definitions/AddServiceUnitsResults'}}, - 'type': 'object'}, - 'CharmRelations': {'properties': {'Params': {'$ref': '#/definitions/ServiceCharmRelations'}, - 'Result': {'$ref': '#/definitions/ServiceCharmRelationsResults'}}, - 'type': 'object'}, - 'Deploy': {'properties': {'Params': {'$ref': '#/definitions/ServicesDeploy'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'Destroy': {'properties': {'Params': {'$ref': '#/definitions/ServiceDestroy'}}, - 'type': 'object'}, - 'DestroyRelation': {'properties': {'Params': {'$ref': '#/definitions/DestroyRelation'}}, - 'type': 'object'}, - 'DestroyUnits': {'properties': {'Params': {'$ref': '#/definitions/DestroyServiceUnits'}}, - 'type': 'object'}, - 'Expose': {'properties': {'Params': {'$ref': '#/definitions/ServiceExpose'}}, - 'type': 'object'}, - 'Get': {'properties': {'Params': {'$ref': '#/definitions/ServiceGet'}, - 'Result': {'$ref': '#/definitions/ServiceGetResults'}}, - 'type': 'object'}, - 'GetCharmURL': {'properties': {'Params': {'$ref': '#/definitions/ServiceGet'}, - 'Result': {'$ref': '#/definitions/StringResult'}}, - 'type': 'object'}, - 'GetConstraints': {'properties': {'Params': {'$ref': '#/definitions/GetServiceConstraints'}, - 'Result': {'$ref': '#/definitions/GetConstraintsResults'}}, - 'type': 'object'}, - 'Set': {'properties': {'Params': {'$ref': '#/definitions/ServiceSet'}}, - 'type': 'object'}, - 'SetCharm': {'properties': {'Params': {'$ref': '#/definitions/ServiceSetCharm'}}, - 'type': 'object'}, - 'SetConstraints': {'properties': {'Params': {'$ref': '#/definitions/SetConstraints'}}, - 'type': 'object'}, - 'SetMetricCredentials': {'properties': {'Params': {'$ref': '#/definitions/ServiceMetricCredentials'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'Unexpose': {'properties': {'Params': {'$ref': '#/definitions/ServiceUnexpose'}}, - 'type': 'object'}, - 'Unset': {'properties': {'Params': {'$ref': '#/definitions/ServiceUnset'}}, - 'type': 'object'}, - 'Update': {'properties': {'Params': {'$ref': '#/definitions/ServiceUpdate'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(AddRelationResults) - async def AddRelation(self, endpoints): - ''' - endpoints : typing.Sequence[str] - Returns -> typing.Mapping[str, ~Relation] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Service', Request='AddRelation', Version=3, Params=params) - params['Endpoints'] = endpoints - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(AddServiceUnitsResults) - async def AddUnits(self, numunits, placement, servicename): - ''' - numunits : int - placement : typing.Sequence[~Placement] - servicename : str - Returns -> typing.Sequence[str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Service', Request='AddUnits', Version=3, Params=params) - params['NumUnits'] = numunits - params['Placement'] = placement - params['ServiceName'] = servicename - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ServiceCharmRelationsResults) - async def CharmRelations(self, servicename): - ''' - servicename : str - Returns -> typing.Sequence[str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Service', Request='CharmRelations', Version=3, Params=params) - params['ServiceName'] = servicename - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def Deploy(self, services): - ''' - services : typing.Sequence[~ServiceDeploy] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Service', Request='Deploy', Version=3, Params=params) - params['Services'] = services - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def Destroy(self, servicename): - ''' - servicename : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Service', Request='Destroy', Version=3, Params=params) - params['ServiceName'] = servicename - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def DestroyRelation(self, endpoints): - ''' - endpoints : typing.Sequence[str] - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Service', Request='DestroyRelation', Version=3, Params=params) - params['Endpoints'] = endpoints - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def DestroyUnits(self, unitnames): - ''' - unitnames : typing.Sequence[str] - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Service', Request='DestroyUnits', Version=3, Params=params) - params['UnitNames'] = unitnames - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def Expose(self, servicename): - ''' - servicename : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Service', Request='Expose', Version=3, Params=params) - params['ServiceName'] = servicename - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ServiceGetResults) - async def Get(self, servicename): - ''' - servicename : str - Returns -> typing.Union[str, typing.Mapping[str, typing.Any], _ForwardRef('Value')] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Service', Request='Get', Version=3, Params=params) - params['ServiceName'] = servicename - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringResult) - async def GetCharmURL(self, servicename): - ''' - servicename : str - Returns -> typing.Union[_ForwardRef('Error'), str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Service', Request='GetCharmURL', Version=3, Params=params) - params['ServiceName'] = servicename - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(GetConstraintsResults) - async def GetConstraints(self, servicename): - ''' - servicename : str - Returns -> Value - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Service', Request='GetConstraints', Version=3, Params=params) - params['ServiceName'] = servicename - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def Set(self, options, servicename): - ''' - options : typing.Mapping[str, str] - servicename : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Service', Request='Set', Version=3, Params=params) - params['Options'] = options - params['ServiceName'] = servicename - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def SetCharm(self, charmurl, cs_channel, forceseries, forceunits, resourceids, servicename): - ''' - charmurl : str - cs_channel : str - forceseries : bool - forceunits : bool - resourceids : typing.Mapping[str, str] - servicename : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Service', Request='SetCharm', Version=3, Params=params) - params['charmurl'] = charmurl - params['cs-channel'] = cs_channel - params['forceseries'] = forceseries - params['forceunits'] = forceunits - params['resourceids'] = resourceids - params['servicename'] = servicename - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def SetConstraints(self, constraints, servicename): - ''' - constraints : Value - servicename : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Service', Request='SetConstraints', Version=3, Params=params) - params['Constraints'] = constraints - params['ServiceName'] = servicename - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetMetricCredentials(self, creds): - ''' - creds : typing.Sequence[~ServiceMetricCredential] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Service', Request='SetMetricCredentials', Version=3, Params=params) - params['Creds'] = creds - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def Unexpose(self, servicename): - ''' - servicename : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Service', Request='Unexpose', Version=3, Params=params) - params['ServiceName'] = servicename - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def Unset(self, options, servicename): - ''' - options : typing.Sequence[str] - servicename : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Service', Request='Unset', Version=3, Params=params) - params['Options'] = options - params['ServiceName'] = servicename - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def Update(self, charmurl, constraints, forcecharmurl, forceseries, minunits, servicename, settingsstrings, settingsyaml): - ''' - charmurl : str - constraints : Value - forcecharmurl : bool - forceseries : bool - minunits : int - servicename : str - settingsstrings : typing.Mapping[str, str] - settingsyaml : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Service', Request='Update', Version=3, Params=params) - params['CharmUrl'] = charmurl - params['Constraints'] = constraints - params['ForceCharmUrl'] = forcecharmurl - params['ForceSeries'] = forceseries - params['MinUnits'] = minunits - params['ServiceName'] = servicename - params['SettingsStrings'] = settingsstrings - params['SettingsYAML'] = settingsyaml - reply = await self.rpc(msg) - return reply - - -class ServiceScaler(Type): - name = 'ServiceScaler' - 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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'StringsWatchResult': {'additionalProperties': False, - 'properties': {'Changes': {'items': {'type': 'string'}, - 'type': 'array'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'StringsWatcherId': {'type': 'string'}}, - 'required': ['StringsWatcherId', - 'Changes', - 'Error'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - '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'} - - - @ReturnMapping(ErrorResults) - async def Rescale(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='ServiceScaler', Request='Rescale', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsWatchResult) - async def Watch(self): - ''' - - Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='ServiceScaler', Request='Watch', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - -class Singular(Type): - name = 'Singular' - 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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'SingularClaim': {'additionalProperties': False, - 'properties': {'ControllerTag': {'type': 'string'}, - 'Duration': {'type': 'integer'}, - 'ModelTag': {'type': 'string'}}, - 'required': ['ModelTag', - 'ControllerTag', - 'Duration'], - 'type': 'object'}, - 'SingularClaims': {'additionalProperties': False, - 'properties': {'Claims': {'items': {'$ref': '#/definitions/SingularClaim'}, - 'type': 'array'}}, - 'required': ['Claims'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'Claim': {'properties': {'Params': {'$ref': '#/definitions/SingularClaims'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'Wait': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ErrorResults) - async def Claim(self, claims): - ''' - claims : typing.Sequence[~SingularClaim] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Singular', Request='Claim', Version=1, Params=params) - params['Claims'] = claims - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def Wait(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Singular', Request='Wait', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - -class Spaces(Type): - name = 'Spaces' - version = 2 - schema = {'definitions': {'CreateSpaceParams': {'additionalProperties': False, - 'properties': {'ProviderId': {'type': 'string'}, - 'Public': {'type': 'boolean'}, - 'SpaceTag': {'type': 'string'}, - 'SubnetTags': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['SubnetTags', - 'SpaceTag', - 'Public'], - 'type': 'object'}, - 'CreateSpacesParams': {'additionalProperties': False, - 'properties': {'Spaces': {'items': {'$ref': '#/definitions/CreateSpaceParams'}, - 'type': 'array'}}, - 'required': ['Spaces'], - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'ListSpacesResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/Space'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'Space': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Name': {'type': 'string'}, - 'Subnets': {'items': {'$ref': '#/definitions/Subnet'}, - 'type': 'array'}}, - 'required': ['Name', 'Subnets'], - 'type': 'object'}, - 'Subnet': {'additionalProperties': False, - 'properties': {'CIDR': {'type': 'string'}, - 'Life': {'type': 'string'}, - 'ProviderId': {'type': 'string'}, - 'SpaceTag': {'type': 'string'}, - 'StaticRangeHighIP': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'StaticRangeLowIP': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'Status': {'type': 'string'}, - 'VLANTag': {'type': 'integer'}, - 'Zones': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['CIDR', - 'VLANTag', - 'Life', - 'SpaceTag', - 'Zones'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'CreateSpaces': {'properties': {'Params': {'$ref': '#/definitions/CreateSpacesParams'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'ListSpaces': {'properties': {'Result': {'$ref': '#/definitions/ListSpacesResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ErrorResults) - async def CreateSpaces(self, spaces): - ''' - spaces : typing.Sequence[~CreateSpaceParams] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Spaces', Request='CreateSpaces', Version=2, Params=params) - params['Spaces'] = spaces - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ListSpacesResults) - async def ListSpaces(self): - ''' - - Returns -> typing.Sequence[~Space] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Spaces', Request='ListSpaces', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - -class StatusHistory(Type): - name = 'StatusHistory' - version = 2 - schema = {'definitions': {'StatusHistoryPruneArgs': {'additionalProperties': False, - 'properties': {'MaxLogsPerEntity': {'type': 'integer'}}, - 'required': ['MaxLogsPerEntity'], - 'type': 'object'}}, - 'properties': {'Prune': {'properties': {'Params': {'$ref': '#/definitions/StatusHistoryPruneArgs'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(None) - async def Prune(self, maxlogsperentity): - ''' - maxlogsperentity : int - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StatusHistory', Request='Prune', Version=2, Params=params) - params['MaxLogsPerEntity'] = maxlogsperentity - reply = await self.rpc(msg) - return reply - - -class Storage(Type): - name = 'Storage' - version = 2 - schema = {'definitions': {'Entities': {'additionalProperties': False, - 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'}, - 'type': 'array'}}, - 'required': ['Entities'], - 'type': 'object'}, - 'Entity': {'additionalProperties': False, - 'properties': {'Tag': {'type': 'string'}}, - 'required': ['Tag'], - 'type': 'object'}, - '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', - 'Data', - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'FilesystemAttachmentInfo': {'additionalProperties': False, - 'properties': {'mountpoint': {'type': 'string'}, - 'read-only': {'type': 'boolean'}}, - 'type': 'object'}, - 'FilesystemDetails': {'additionalProperties': False, - 'properties': {'filesystemtag': {'type': 'string'}, - 'info': {'$ref': '#/definitions/FilesystemInfo'}, - 'machineattachments': {'patternProperties': {'.*': {'$ref': '#/definitions/FilesystemAttachmentInfo'}}, - 'type': 'object'}, - 'status': {'$ref': '#/definitions/EntityStatus'}, - 'storage': {'$ref': '#/definitions/StorageDetails'}, - 'volumetag': {'type': 'string'}}, - 'required': ['filesystemtag', - 'info', - 'status'], - 'type': 'object'}, - 'FilesystemDetailsListResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'items': {'$ref': '#/definitions/FilesystemDetails'}, - 'type': 'array'}}, - 'type': 'object'}, - 'FilesystemDetailsListResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemDetailsListResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'FilesystemFilter': {'additionalProperties': False, - 'properties': {'machines': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'type': 'object'}, - 'FilesystemFilters': {'additionalProperties': False, - 'properties': {'filters': {'items': {'$ref': '#/definitions/FilesystemFilter'}, - 'type': 'array'}}, - 'type': 'object'}, - 'FilesystemInfo': {'additionalProperties': False, - 'properties': {'filesystemid': {'type': 'string'}, - 'size': {'type': 'integer'}}, - 'required': ['filesystemid', 'size'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'StorageAddParams': {'additionalProperties': False, - 'properties': {'StorageName': {'type': 'string'}, - 'storage': {'$ref': '#/definitions/StorageConstraints'}, - 'unit': {'type': 'string'}}, - 'required': ['unit', - 'StorageName', - 'storage'], - 'type': 'object'}, - 'StorageAttachmentDetails': {'additionalProperties': False, - 'properties': {'location': {'type': 'string'}, - 'machinetag': {'type': 'string'}, - 'storagetag': {'type': 'string'}, - 'unittag': {'type': 'string'}}, - 'required': ['storagetag', - 'unittag', - 'machinetag'], - 'type': 'object'}, - 'StorageConstraints': {'additionalProperties': False, - 'properties': {'Count': {'type': 'integer'}, - 'Pool': {'type': 'string'}, - 'Size': {'type': 'integer'}}, - 'required': ['Pool', 'Size', 'Count'], - 'type': 'object'}, - 'StorageDetails': {'additionalProperties': False, - 'properties': {'Persistent': {'type': 'boolean'}, - 'attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/StorageAttachmentDetails'}}, - 'type': 'object'}, - 'kind': {'type': 'integer'}, - 'ownertag': {'type': 'string'}, - 'status': {'$ref': '#/definitions/EntityStatus'}, - 'storagetag': {'type': 'string'}}, - 'required': ['storagetag', - 'ownertag', - 'kind', - 'status', - 'Persistent'], - 'type': 'object'}, - 'StorageDetailsListResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'items': {'$ref': '#/definitions/StorageDetails'}, - 'type': 'array'}}, - 'type': 'object'}, - 'StorageDetailsListResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/StorageDetailsListResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'StorageDetailsResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'$ref': '#/definitions/StorageDetails'}}, - 'type': 'object'}, - 'StorageDetailsResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/StorageDetailsResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'StorageFilter': {'additionalProperties': False, - 'type': 'object'}, - 'StorageFilters': {'additionalProperties': False, - 'properties': {'filters': {'items': {'$ref': '#/definitions/StorageFilter'}, - 'type': 'array'}}, - 'type': 'object'}, - 'StoragePool': {'additionalProperties': False, - 'properties': {'attrs': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'name': {'type': 'string'}, - 'provider': {'type': 'string'}}, - 'required': ['name', 'provider', 'attrs'], - 'type': 'object'}, - 'StoragePoolFilter': {'additionalProperties': False, - 'properties': {'names': {'items': {'type': 'string'}, - 'type': 'array'}, - 'providers': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'type': 'object'}, - 'StoragePoolFilters': {'additionalProperties': False, - 'properties': {'filters': {'items': {'$ref': '#/definitions/StoragePoolFilter'}, - 'type': 'array'}}, - 'type': 'object'}, - 'StoragePoolsResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'storagepools': {'items': {'$ref': '#/definitions/StoragePool'}, - 'type': 'array'}}, - 'type': 'object'}, - 'StoragePoolsResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/StoragePoolsResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'StoragesAddParams': {'additionalProperties': False, - 'properties': {'storages': {'items': {'$ref': '#/definitions/StorageAddParams'}, - 'type': 'array'}}, - 'required': ['storages'], - 'type': 'object'}, - 'VolumeAttachmentInfo': {'additionalProperties': False, - 'properties': {'busaddress': {'type': 'string'}, - 'devicelink': {'type': 'string'}, - 'devicename': {'type': 'string'}, - 'read-only': {'type': 'boolean'}}, - 'type': 'object'}, - 'VolumeDetails': {'additionalProperties': False, - 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'}, - 'machineattachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentInfo'}}, - 'type': 'object'}, - 'status': {'$ref': '#/definitions/EntityStatus'}, - 'storage': {'$ref': '#/definitions/StorageDetails'}, - 'volumetag': {'type': 'string'}}, - 'required': ['volumetag', 'info', 'status'], - 'type': 'object'}, - 'VolumeDetailsListResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'items': {'$ref': '#/definitions/VolumeDetails'}, - 'type': 'array'}}, - 'type': 'object'}, - 'VolumeDetailsListResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeDetailsListResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'VolumeFilter': {'additionalProperties': False, - 'properties': {'machines': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'type': 'object'}, - 'VolumeFilters': {'additionalProperties': False, - 'properties': {'filters': {'items': {'$ref': '#/definitions/VolumeFilter'}, - 'type': 'array'}}, - 'type': 'object'}, - 'VolumeInfo': {'additionalProperties': False, - 'properties': {'hardwareid': {'type': 'string'}, - 'persistent': {'type': 'boolean'}, - 'size': {'type': 'integer'}, - 'volumeid': {'type': 'string'}}, - 'required': ['volumeid', 'size', 'persistent'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'AddToUnit': {'properties': {'Params': {'$ref': '#/definitions/StoragesAddParams'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'CreatePool': {'properties': {'Params': {'$ref': '#/definitions/StoragePool'}}, - 'type': 'object'}, - 'ListFilesystems': {'properties': {'Params': {'$ref': '#/definitions/FilesystemFilters'}, - 'Result': {'$ref': '#/definitions/FilesystemDetailsListResults'}}, - 'type': 'object'}, - 'ListPools': {'properties': {'Params': {'$ref': '#/definitions/StoragePoolFilters'}, - 'Result': {'$ref': '#/definitions/StoragePoolsResults'}}, - 'type': 'object'}, - 'ListStorageDetails': {'properties': {'Params': {'$ref': '#/definitions/StorageFilters'}, - 'Result': {'$ref': '#/definitions/StorageDetailsListResults'}}, - 'type': 'object'}, - 'ListVolumes': {'properties': {'Params': {'$ref': '#/definitions/VolumeFilters'}, - 'Result': {'$ref': '#/definitions/VolumeDetailsListResults'}}, - 'type': 'object'}, - 'StorageDetails': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StorageDetailsResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ErrorResults) - async def AddToUnit(self, storages): - ''' - storages : typing.Sequence[~StorageAddParams] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Storage', Request='AddToUnit', Version=2, Params=params) - params['storages'] = storages - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def CreatePool(self, attrs, name, provider): - ''' - attrs : typing.Mapping[str, typing.Any] - name : str - provider : str - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Storage', Request='CreatePool', Version=2, Params=params) - params['attrs'] = attrs - params['name'] = name - params['provider'] = provider - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(FilesystemDetailsListResults) - async def ListFilesystems(self, filters): - ''' - filters : typing.Sequence[~FilesystemFilter] - Returns -> typing.Sequence[~FilesystemDetailsListResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Storage', Request='ListFilesystems', Version=2, Params=params) - params['filters'] = filters - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StoragePoolsResults) - async def ListPools(self, filters): - ''' - filters : typing.Sequence[~StoragePoolFilter] - Returns -> typing.Sequence[~StoragePoolsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Storage', Request='ListPools', Version=2, Params=params) - params['filters'] = filters - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StorageDetailsListResults) - async def ListStorageDetails(self, filters): - ''' - filters : typing.Sequence[~StorageFilter] - Returns -> typing.Sequence[~StorageDetailsListResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Storage', Request='ListStorageDetails', Version=2, Params=params) - params['filters'] = filters - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(VolumeDetailsListResults) - async def ListVolumes(self, filters): - ''' - filters : typing.Sequence[~VolumeFilter] - Returns -> typing.Sequence[~VolumeDetailsListResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Storage', Request='ListVolumes', Version=2, Params=params) - params['filters'] = filters - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StorageDetailsResults) - async def StorageDetails(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StorageDetailsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Storage', Request='StorageDetails', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - -class StorageProvisioner(Type): - name = 'StorageProvisioner' - version = 2 - schema = {'definitions': {'BlockDevice': {'additionalProperties': False, - 'properties': {'BusAddress': {'type': 'string'}, - 'DeviceLinks': {'items': {'type': 'string'}, - 'type': 'array'}, - 'DeviceName': {'type': 'string'}, - 'FilesystemType': {'type': 'string'}, - 'HardwareId': {'type': 'string'}, - 'InUse': {'type': 'boolean'}, - 'Label': {'type': 'string'}, - 'MountPoint': {'type': 'string'}, - 'Size': {'type': 'integer'}, - 'UUID': {'type': 'string'}}, - 'required': ['DeviceName', - 'DeviceLinks', - 'Label', - 'UUID', - 'HardwareId', - 'BusAddress', - 'Size', - 'FilesystemType', - 'InUse', - 'MountPoint'], - 'type': 'object'}, - 'BlockDeviceResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'$ref': '#/definitions/BlockDevice'}}, - 'required': ['result'], - 'type': 'object'}, - 'BlockDeviceResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/BlockDeviceResult'}, - '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'}, - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Filesystem': {'additionalProperties': False, - 'properties': {'filesystemtag': {'type': 'string'}, - 'info': {'$ref': '#/definitions/FilesystemInfo'}, - 'volumetag': {'type': 'string'}}, - 'required': ['filesystemtag', 'info'], - 'type': 'object'}, - 'FilesystemAttachment': {'additionalProperties': False, - 'properties': {'filesystemtag': {'type': 'string'}, - 'info': {'$ref': '#/definitions/FilesystemAttachmentInfo'}, - 'machinetag': {'type': 'string'}}, - 'required': ['filesystemtag', - 'machinetag', - 'info'], - 'type': 'object'}, - 'FilesystemAttachmentInfo': {'additionalProperties': False, - 'properties': {'mountpoint': {'type': 'string'}, - 'read-only': {'type': 'boolean'}}, - 'type': 'object'}, - 'FilesystemAttachmentParams': {'additionalProperties': False, - 'properties': {'filesystemid': {'type': 'string'}, - 'filesystemtag': {'type': 'string'}, - 'instanceid': {'type': 'string'}, - 'machinetag': {'type': 'string'}, - 'mountpoint': {'type': 'string'}, - 'provider': {'type': 'string'}, - 'read-only': {'type': 'boolean'}}, - 'required': ['filesystemtag', - 'machinetag', - 'provider'], - 'type': 'object'}, - 'FilesystemAttachmentParamsResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'$ref': '#/definitions/FilesystemAttachmentParams'}}, - 'required': ['result'], - 'type': 'object'}, - 'FilesystemAttachmentParamsResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemAttachmentParamsResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'FilesystemAttachmentResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'$ref': '#/definitions/FilesystemAttachment'}}, - 'required': ['result'], - 'type': 'object'}, - 'FilesystemAttachmentResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemAttachmentResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'FilesystemAttachments': {'additionalProperties': False, - 'properties': {'filesystemattachments': {'items': {'$ref': '#/definitions/FilesystemAttachment'}, - 'type': 'array'}}, - 'required': ['filesystemattachments'], - 'type': 'object'}, - 'FilesystemInfo': {'additionalProperties': False, - 'properties': {'filesystemid': {'type': 'string'}, - 'size': {'type': 'integer'}}, - 'required': ['filesystemid', 'size'], - 'type': 'object'}, - 'FilesystemParams': {'additionalProperties': False, - 'properties': {'attachment': {'$ref': '#/definitions/FilesystemAttachmentParams'}, - 'attributes': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'filesystemtag': {'type': 'string'}, - 'provider': {'type': 'string'}, - 'size': {'type': 'integer'}, - 'tags': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}, - 'volumetag': {'type': 'string'}}, - 'required': ['filesystemtag', - 'size', - 'provider'], - 'type': 'object'}, - 'FilesystemParamsResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'$ref': '#/definitions/FilesystemParams'}}, - 'required': ['result'], - 'type': 'object'}, - 'FilesystemParamsResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemParamsResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'FilesystemResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'$ref': '#/definitions/Filesystem'}}, - 'required': ['result'], - 'type': 'object'}, - 'FilesystemResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'Filesystems': {'additionalProperties': False, - 'properties': {'filesystems': {'items': {'$ref': '#/definitions/Filesystem'}, - 'type': 'array'}}, - 'required': ['filesystems'], - 'type': 'object'}, - 'LifeResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Life': {'type': 'string'}}, - 'required': ['Life', 'Error'], - 'type': 'object'}, - 'LifeResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'MachineStorageId': {'additionalProperties': False, - 'properties': {'attachmenttag': {'type': 'string'}, - 'machinetag': {'type': 'string'}}, - 'required': ['machinetag', - 'attachmenttag'], - 'type': 'object'}, - 'MachineStorageIds': {'additionalProperties': False, - 'properties': {'ids': {'items': {'$ref': '#/definitions/MachineStorageId'}, - 'type': 'array'}}, - 'required': ['ids'], - 'type': 'object'}, - 'MachineStorageIdsWatchResult': {'additionalProperties': False, - 'properties': {'Changes': {'items': {'$ref': '#/definitions/MachineStorageId'}, - 'type': 'array'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'MachineStorageIdsWatcherId': {'type': 'string'}}, - 'required': ['MachineStorageIdsWatcherId', - 'Changes', - 'Error'], - 'type': 'object'}, - 'MachineStorageIdsWatchResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/MachineStorageIdsWatchResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'ModelConfigResult': {'additionalProperties': False, - 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}}, - 'required': ['Config'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - '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'}, - 'StringResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'type': 'string'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'StringResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'StringsWatchResult': {'additionalProperties': False, - 'properties': {'Changes': {'items': {'type': 'string'}, - 'type': 'array'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'StringsWatcherId': {'type': 'string'}}, - 'required': ['StringsWatcherId', - 'Changes', - 'Error'], - 'type': 'object'}, - 'StringsWatchResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Volume': {'additionalProperties': False, - 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'}, - 'volumetag': {'type': 'string'}}, - 'required': ['volumetag', 'info'], - 'type': 'object'}, - 'VolumeAttachment': {'additionalProperties': False, - 'properties': {'info': {'$ref': '#/definitions/VolumeAttachmentInfo'}, - 'machinetag': {'type': 'string'}, - 'volumetag': {'type': 'string'}}, - 'required': ['volumetag', - 'machinetag', - 'info'], - 'type': 'object'}, - 'VolumeAttachmentInfo': {'additionalProperties': False, - 'properties': {'busaddress': {'type': 'string'}, - 'devicelink': {'type': 'string'}, - 'devicename': {'type': 'string'}, - 'read-only': {'type': 'boolean'}}, - 'type': 'object'}, - 'VolumeAttachmentParams': {'additionalProperties': False, - 'properties': {'instanceid': {'type': 'string'}, - 'machinetag': {'type': 'string'}, - 'provider': {'type': 'string'}, - 'read-only': {'type': 'boolean'}, - 'volumeid': {'type': 'string'}, - 'volumetag': {'type': 'string'}}, - 'required': ['volumetag', - 'machinetag', - 'provider'], - 'type': 'object'}, - 'VolumeAttachmentParamsResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'$ref': '#/definitions/VolumeAttachmentParams'}}, - 'required': ['result'], - 'type': 'object'}, - 'VolumeAttachmentParamsResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeAttachmentParamsResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'VolumeAttachmentResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'$ref': '#/definitions/VolumeAttachment'}}, - 'required': ['result'], - 'type': 'object'}, - 'VolumeAttachmentResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeAttachmentResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'VolumeAttachments': {'additionalProperties': False, - 'properties': {'volumeattachments': {'items': {'$ref': '#/definitions/VolumeAttachment'}, - 'type': 'array'}}, - 'required': ['volumeattachments'], - 'type': 'object'}, - 'VolumeInfo': {'additionalProperties': False, - 'properties': {'hardwareid': {'type': 'string'}, - 'persistent': {'type': 'boolean'}, - 'size': {'type': 'integer'}, - 'volumeid': {'type': 'string'}}, - 'required': ['volumeid', 'size', 'persistent'], - 'type': 'object'}, - 'VolumeParams': {'additionalProperties': False, - 'properties': {'attachment': {'$ref': '#/definitions/VolumeAttachmentParams'}, - 'attributes': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'provider': {'type': 'string'}, - 'size': {'type': 'integer'}, - 'tags': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}, - 'volumetag': {'type': 'string'}}, - 'required': ['volumetag', 'size', 'provider'], - 'type': 'object'}, - 'VolumeParamsResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'$ref': '#/definitions/VolumeParams'}}, - 'required': ['result'], - 'type': 'object'}, - 'VolumeParamsResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeParamsResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'VolumeResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'$ref': '#/definitions/Volume'}}, - 'required': ['result'], - 'type': 'object'}, - 'VolumeResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'Volumes': {'additionalProperties': False, - 'properties': {'volumes': {'items': {'$ref': '#/definitions/Volume'}, - 'type': 'array'}}, - 'required': ['volumes'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'AttachmentLife': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'}, - 'Result': {'$ref': '#/definitions/LifeResults'}}, - 'type': 'object'}, - 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'FilesystemAttachmentParams': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'}, - 'Result': {'$ref': '#/definitions/FilesystemAttachmentParamsResults'}}, - 'type': 'object'}, - 'FilesystemAttachments': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'}, - 'Result': {'$ref': '#/definitions/FilesystemAttachmentResults'}}, - 'type': 'object'}, - 'FilesystemParams': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/FilesystemParamsResults'}}, - 'type': 'object'}, - 'Filesystems': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/FilesystemResults'}}, - 'type': 'object'}, - 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringResults'}}, - 'type': 'object'}, - 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/LifeResults'}}, - 'type': 'object'}, - 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}}, - 'type': 'object'}, - 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'RemoveAttachment': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetFilesystemAttachmentInfo': {'properties': {'Params': {'$ref': '#/definitions/FilesystemAttachments'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetFilesystemInfo': {'properties': {'Params': {'$ref': '#/definitions/Filesystems'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetVolumeAttachmentInfo': {'properties': {'Params': {'$ref': '#/definitions/VolumeAttachments'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetVolumeInfo': {'properties': {'Params': {'$ref': '#/definitions/Volumes'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'VolumeAttachmentParams': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'}, - 'Result': {'$ref': '#/definitions/VolumeAttachmentParamsResults'}}, - 'type': 'object'}, - 'VolumeAttachments': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'}, - 'Result': {'$ref': '#/definitions/VolumeAttachmentResults'}}, - 'type': 'object'}, - 'VolumeBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'}, - 'Result': {'$ref': '#/definitions/BlockDeviceResults'}}, - 'type': 'object'}, - 'VolumeParams': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/VolumeParamsResults'}}, - 'type': 'object'}, - 'Volumes': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/VolumeResults'}}, - 'type': 'object'}, - 'WatchBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, - 'type': 'object'}, - 'WatchFilesystemAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResults'}}, - 'type': 'object'}, - 'WatchFilesystems': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringsWatchResults'}}, - 'type': 'object'}, - 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, - 'type': 'object'}, - 'WatchMachines': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, - 'type': 'object'}, - 'WatchVolumeAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResults'}}, - 'type': 'object'}, - 'WatchVolumes': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringsWatchResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(LifeResults) - async def AttachmentLife(self, ids): - ''' - ids : typing.Sequence[~MachineStorageId] - Returns -> typing.Sequence[~LifeResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='AttachmentLife', Version=2, Params=params) - params['ids'] = ids - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def EnsureDead(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='EnsureDead', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(FilesystemAttachmentParamsResults) - async def FilesystemAttachmentParams(self, ids): - ''' - ids : typing.Sequence[~MachineStorageId] - Returns -> typing.Sequence[~FilesystemAttachmentParamsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='FilesystemAttachmentParams', Version=2, Params=params) - params['ids'] = ids - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(FilesystemAttachmentResults) - async def FilesystemAttachments(self, ids): - ''' - ids : typing.Sequence[~MachineStorageId] - Returns -> typing.Sequence[~FilesystemAttachmentResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='FilesystemAttachments', Version=2, Params=params) - params['ids'] = ids - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(FilesystemParamsResults) - async def FilesystemParams(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~FilesystemParamsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='FilesystemParams', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(FilesystemResults) - async def Filesystems(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~FilesystemResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='Filesystems', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringResults) - async def InstanceId(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='InstanceId', Version=2, 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='StorageProvisioner', Request='Life', Version=2, Params=params) - params['Entities'] = entities - 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='StorageProvisioner', Request='ModelConfig', Version=2, 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='StorageProvisioner', Request='Remove', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def RemoveAttachment(self, ids): - ''' - ids : typing.Sequence[~MachineStorageId] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='RemoveAttachment', Version=2, Params=params) - params['ids'] = ids - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetFilesystemAttachmentInfo(self, filesystemattachments): - ''' - filesystemattachments : typing.Sequence[~FilesystemAttachment] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='SetFilesystemAttachmentInfo', Version=2, Params=params) - params['filesystemattachments'] = filesystemattachments - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetFilesystemInfo(self, filesystems): - ''' - filesystems : typing.Sequence[~Filesystem] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='SetFilesystemInfo', Version=2, Params=params) - params['filesystems'] = filesystems - 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='StorageProvisioner', Request='SetStatus', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetVolumeAttachmentInfo(self, volumeattachments): - ''' - volumeattachments : typing.Sequence[~VolumeAttachment] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='SetVolumeAttachmentInfo', Version=2, Params=params) - params['volumeattachments'] = volumeattachments - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetVolumeInfo(self, volumes): - ''' - volumes : typing.Sequence[~Volume] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='SetVolumeInfo', Version=2, Params=params) - params['volumes'] = volumes - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def UpdateStatus(self, entities): - ''' - entities : typing.Sequence[~EntityStatusArgs] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='UpdateStatus', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(VolumeAttachmentParamsResults) - async def VolumeAttachmentParams(self, ids): - ''' - ids : typing.Sequence[~MachineStorageId] - Returns -> typing.Sequence[~VolumeAttachmentParamsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='VolumeAttachmentParams', Version=2, Params=params) - params['ids'] = ids - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(VolumeAttachmentResults) - async def VolumeAttachments(self, ids): - ''' - ids : typing.Sequence[~MachineStorageId] - Returns -> typing.Sequence[~VolumeAttachmentResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='VolumeAttachments', Version=2, Params=params) - params['ids'] = ids - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(BlockDeviceResults) - async def VolumeBlockDevices(self, ids): - ''' - ids : typing.Sequence[~MachineStorageId] - Returns -> typing.Sequence[~BlockDeviceResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='VolumeBlockDevices', Version=2, Params=params) - params['ids'] = ids - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(VolumeParamsResults) - async def VolumeParams(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~VolumeParamsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='VolumeParams', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(VolumeResults) - async def Volumes(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~VolumeResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='Volumes', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResults) - async def WatchBlockDevices(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~NotifyWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='WatchBlockDevices', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(MachineStorageIdsWatchResults) - async def WatchFilesystemAttachments(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~MachineStorageIdsWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='WatchFilesystemAttachments', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsWatchResults) - async def WatchFilesystems(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringsWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='WatchFilesystems', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResult) - async def WatchForModelConfigChanges(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='WatchForModelConfigChanges', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResults) - async def WatchMachines(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~NotifyWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='WatchMachines', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(MachineStorageIdsWatchResults) - async def WatchVolumeAttachments(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~MachineStorageIdsWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='WatchVolumeAttachments', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsWatchResults) - async def WatchVolumes(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringsWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StorageProvisioner', Request='WatchVolumes', Version=2, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - -class StringsWatcher(Type): - name = 'StringsWatcher' - version = 1 - schema = {'definitions': {'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'StringsWatchResult': {'additionalProperties': False, - 'properties': {'Changes': {'items': {'type': 'string'}, - 'type': 'array'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'StringsWatcherId': {'type': 'string'}}, - 'required': ['StringsWatcherId', - 'Changes', - 'Error'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}}, - 'type': 'object'}, - 'Stop': {'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(StringsWatchResult) - async def Next(self): - ''' - - Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='StringsWatcher', 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='StringsWatcher', Request='Stop', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - -class Subnets(Type): - name = 'Subnets' - version = 2 - schema = {'definitions': {'AddSubnetParams': {'additionalProperties': False, - 'properties': {'SpaceTag': {'type': 'string'}, - 'SubnetProviderId': {'type': 'string'}, - 'SubnetTag': {'type': 'string'}, - 'Zones': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['SpaceTag'], - 'type': 'object'}, - 'AddSubnetsParams': {'additionalProperties': False, - 'properties': {'Subnets': {'items': {'$ref': '#/definitions/AddSubnetParams'}, - 'type': 'array'}}, - 'required': ['Subnets'], - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'ListSubnetsResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/Subnet'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'SpaceResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Tag': {'type': 'string'}}, - 'required': ['Error', 'Tag'], - 'type': 'object'}, - 'SpaceResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/SpaceResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Subnet': {'additionalProperties': False, - 'properties': {'CIDR': {'type': 'string'}, - 'Life': {'type': 'string'}, - 'ProviderId': {'type': 'string'}, - 'SpaceTag': {'type': 'string'}, - 'StaticRangeHighIP': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'StaticRangeLowIP': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'Status': {'type': 'string'}, - 'VLANTag': {'type': 'integer'}, - 'Zones': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['CIDR', - 'VLANTag', - 'Life', - 'SpaceTag', - 'Zones'], - 'type': 'object'}, - 'SubnetsFilters': {'additionalProperties': False, - 'properties': {'SpaceTag': {'type': 'string'}, - 'Zone': {'type': 'string'}}, - 'type': 'object'}, - 'ZoneResult': {'additionalProperties': False, - 'properties': {'Available': {'type': 'boolean'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'Name': {'type': 'string'}}, - 'required': ['Error', 'Name', 'Available'], - 'type': 'object'}, - 'ZoneResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ZoneResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'AddSubnets': {'properties': {'Params': {'$ref': '#/definitions/AddSubnetsParams'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'AllSpaces': {'properties': {'Result': {'$ref': '#/definitions/SpaceResults'}}, - 'type': 'object'}, - 'AllZones': {'properties': {'Result': {'$ref': '#/definitions/ZoneResults'}}, - 'type': 'object'}, - 'ListSubnets': {'properties': {'Params': {'$ref': '#/definitions/SubnetsFilters'}, - 'Result': {'$ref': '#/definitions/ListSubnetsResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ErrorResults) - async def AddSubnets(self, subnets): - ''' - subnets : typing.Sequence[~AddSubnetParams] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Subnets', Request='AddSubnets', Version=2, Params=params) - params['Subnets'] = subnets - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(SpaceResults) - async def AllSpaces(self): - ''' - - Returns -> typing.Sequence[~SpaceResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Subnets', Request='AllSpaces', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ZoneResults) - async def AllZones(self): - ''' - - Returns -> typing.Sequence[~ZoneResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Subnets', Request='AllZones', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ListSubnetsResults) - async def ListSubnets(self, spacetag, zone): - ''' - spacetag : str - zone : str - Returns -> typing.Sequence[~Subnet] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Subnets', Request='ListSubnets', Version=2, Params=params) - params['SpaceTag'] = spacetag - params['Zone'] = zone - reply = await self.rpc(msg) - return reply - - -class Undertaker(Type): - name = 'Undertaker' - version = 1 - schema = {'definitions': {'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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'ModelConfigResult': {'additionalProperties': False, - 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}}, - 'required': ['Config'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - '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'}, - 'UndertakerModelInfo': {'additionalProperties': False, - 'properties': {'GlobalName': {'type': 'string'}, - 'IsSystem': {'type': 'boolean'}, - 'Life': {'type': 'string'}, - 'Name': {'type': 'string'}, - 'UUID': {'type': 'string'}}, - 'required': ['UUID', - 'Name', - 'GlobalName', - 'IsSystem', - 'Life'], - 'type': 'object'}, - 'UndertakerModelInfoResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'$ref': '#/definitions/UndertakerModelInfo'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}}, - 'type': 'object'}, - 'ModelInfo': {'properties': {'Result': {'$ref': '#/definitions/UndertakerModelInfoResult'}}, - 'type': 'object'}, - 'ProcessDyingModel': {'type': 'object'}, - 'RemoveModel': {'type': 'object'}, - 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'WatchModelResources': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, - '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='Undertaker', Request='ModelConfig', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(UndertakerModelInfoResult) - async def ModelInfo(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), _ForwardRef('UndertakerModelInfo')] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Undertaker', Request='ModelInfo', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def ProcessDyingModel(self): - ''' - - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Undertaker', Request='ProcessDyingModel', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(None) - async def RemoveModel(self): - ''' - - Returns -> None - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Undertaker', Request='RemoveModel', Version=1, Params=params) - - 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='Undertaker', Request='SetStatus', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def UpdateStatus(self, entities): - ''' - entities : typing.Sequence[~EntityStatusArgs] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Undertaker', Request='UpdateStatus', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResults) - async def WatchModelResources(self): - ''' - - Returns -> typing.Sequence[~NotifyWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Undertaker', Request='WatchModelResources', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - -class UnitAssigner(Type): - name = 'UnitAssigner' - 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'}, - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - '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'}, - 'StringsWatcherId': {'type': 'string'}}, - 'required': ['StringsWatcherId', - 'Changes', - 'Error'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'AssignUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetAgentStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'WatchUnitAssignments': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(ErrorResults) - async def AssignUnits(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='UnitAssigner', Request='AssignUnits', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetAgentStatus(self, entities): - ''' - entities : typing.Sequence[~EntityStatusArgs] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='UnitAssigner', Request='SetAgentStatus', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsWatchResult) - async def WatchUnitAssignments(self): - ''' - - Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='UnitAssigner', Request='WatchUnitAssignments', Version=1, Params=params) - - reply = await self.rpc(msg) - return reply - - -class Uniter(Type): - name = 'Uniter' - version = 3 - schema = {'definitions': {'APIHostPortsResult': {'additionalProperties': False, - 'properties': {'Servers': {'items': {'items': {'$ref': '#/definitions/HostPort'}, - 'type': 'array'}, - 'type': 'array'}}, - 'required': ['Servers'], - 'type': 'object'}, - 'Action': {'additionalProperties': False, - 'properties': {'name': {'type': 'string'}, - 'parameters': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'receiver': {'type': 'string'}, - 'tag': {'type': 'string'}}, - 'required': ['tag', 'receiver', 'name'], - 'type': 'object'}, - 'ActionExecutionResult': {'additionalProperties': False, - 'properties': {'actiontag': {'type': 'string'}, - 'message': {'type': 'string'}, - 'results': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'status': {'type': 'string'}}, - 'required': ['actiontag', 'status'], - 'type': 'object'}, - 'ActionExecutionResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/ActionExecutionResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'ActionResult': {'additionalProperties': False, - 'properties': {'action': {'$ref': '#/definitions/Action'}, - 'completed': {'format': 'date-time', - 'type': 'string'}, - 'enqueued': {'format': 'date-time', - 'type': 'string'}, - 'error': {'$ref': '#/definitions/Error'}, - 'message': {'type': 'string'}, - 'output': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'started': {'format': 'date-time', - 'type': 'string'}, - 'status': {'type': 'string'}}, - 'type': 'object'}, - 'ActionResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'Address': {'additionalProperties': False, - 'properties': {'Scope': {'type': 'string'}, - 'SpaceName': {'type': 'string'}, - 'Type': {'type': 'string'}, - 'Value': {'type': 'string'}}, - 'required': ['Value', 'Type', 'Scope'], - 'type': 'object'}, - 'BoolResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'type': 'boolean'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'BoolResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/BoolResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'BytesResult': {'additionalProperties': False, - 'properties': {'Result': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['Result'], - 'type': 'object'}, - 'CharmURL': {'additionalProperties': False, - 'properties': {'URL': {'type': 'string'}}, - 'required': ['URL'], - 'type': 'object'}, - 'CharmURLs': {'additionalProperties': False, - 'properties': {'URLs': {'items': {'$ref': '#/definitions/CharmURL'}, - 'type': 'array'}}, - 'required': ['URLs'], - 'type': 'object'}, - 'ConfigSettingsResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Settings': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}}, - 'required': ['Error', 'Settings'], - 'type': 'object'}, - 'ConfigSettingsResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ConfigSettingsResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Endpoint': {'additionalProperties': False, - 'properties': {'Relation': {'$ref': '#/definitions/Relation'}, - 'ServiceName': {'type': 'string'}}, - 'required': ['ServiceName', 'Relation'], - 'type': 'object'}, - 'Entities': {'additionalProperties': False, - 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'}, - 'type': 'array'}}, - 'required': ['Entities'], - 'type': 'object'}, - 'EntitiesCharmURL': {'additionalProperties': False, - 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityCharmURL'}, - 'type': 'array'}}, - 'required': ['Entities'], - 'type': 'object'}, - 'EntitiesPortRanges': {'additionalProperties': False, - 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityPortRange'}, - 'type': 'array'}}, - 'required': ['Entities'], - 'type': 'object'}, - 'Entity': {'additionalProperties': False, - 'properties': {'Tag': {'type': 'string'}}, - 'required': ['Tag'], - 'type': 'object'}, - 'EntityCharmURL': {'additionalProperties': False, - 'properties': {'CharmURL': {'type': 'string'}, - 'Tag': {'type': 'string'}}, - 'required': ['Tag', 'CharmURL'], - 'type': 'object'}, - 'EntityPortRange': {'additionalProperties': False, - 'properties': {'FromPort': {'type': 'integer'}, - 'Protocol': {'type': 'string'}, - 'Tag': {'type': 'string'}, - 'ToPort': {'type': 'integer'}}, - 'required': ['Tag', - 'Protocol', - 'FromPort', - 'ToPort'], - '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'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'GetLeadershipSettingsBulkResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/GetLeadershipSettingsResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'GetLeadershipSettingsResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Settings': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}}, - 'required': ['Settings', - 'Error'], - 'type': 'object'}, - 'HostPort': {'additionalProperties': False, - 'properties': {'Address': {'$ref': '#/definitions/Address'}, - 'Port': {'type': 'integer'}}, - 'required': ['Address', 'Port'], - 'type': 'object'}, - 'IntResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'type': 'integer'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'IntResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/IntResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'LifeResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Life': {'type': 'string'}}, - 'required': ['Life', 'Error'], - 'type': 'object'}, - 'LifeResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'MachinePortRange': {'additionalProperties': False, - 'properties': {'PortRange': {'$ref': '#/definitions/PortRange'}, - 'RelationTag': {'type': 'string'}, - 'UnitTag': {'type': 'string'}}, - 'required': ['UnitTag', - 'RelationTag', - 'PortRange'], - 'type': 'object'}, - 'MachinePortsResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Ports': {'items': {'$ref': '#/definitions/MachinePortRange'}, - 'type': 'array'}}, - 'required': ['Error', 'Ports'], - 'type': 'object'}, - 'MachinePortsResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/MachinePortsResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'MergeLeadershipSettingsBulkParams': {'additionalProperties': False, - 'properties': {'Params': {'items': {'$ref': '#/definitions/MergeLeadershipSettingsParam'}, - 'type': 'array'}}, - 'required': ['Params'], - 'type': 'object'}, - 'MergeLeadershipSettingsParam': {'additionalProperties': False, - 'properties': {'ServiceTag': {'type': 'string'}, - 'Settings': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}}, - 'required': ['ServiceTag', - 'Settings'], - 'type': 'object'}, - 'MeterStatusResult': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'Info': {'type': 'string'}}, - 'required': ['Code', 'Info', 'Error'], - 'type': 'object'}, - 'MeterStatusResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/MeterStatusResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Metric': {'additionalProperties': False, - 'properties': {'Key': {'type': 'string'}, - 'Time': {'format': 'date-time', - 'type': 'string'}, - 'Value': {'type': 'string'}}, - 'required': ['Key', 'Value', 'Time'], - 'type': 'object'}, - 'MetricBatch': {'additionalProperties': False, - 'properties': {'CharmURL': {'type': 'string'}, - 'Created': {'format': 'date-time', - 'type': 'string'}, - 'Metrics': {'items': {'$ref': '#/definitions/Metric'}, - 'type': 'array'}, - 'UUID': {'type': 'string'}}, - 'required': ['UUID', - 'CharmURL', - 'Created', - 'Metrics'], - 'type': 'object'}, - 'MetricBatchParam': {'additionalProperties': False, - 'properties': {'Batch': {'$ref': '#/definitions/MetricBatch'}, - 'Tag': {'type': 'string'}}, - 'required': ['Tag', 'Batch'], - 'type': 'object'}, - 'MetricBatchParams': {'additionalProperties': False, - 'properties': {'Batches': {'items': {'$ref': '#/definitions/MetricBatchParam'}, - 'type': 'array'}}, - 'required': ['Batches'], - 'type': 'object'}, - 'ModelConfigResult': {'additionalProperties': False, - 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}}, - 'required': ['Config'], - 'type': 'object'}, - 'ModelResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Name': {'type': 'string'}, - 'UUID': {'type': 'string'}}, - 'required': ['Error', 'Name', 'UUID'], - 'type': 'object'}, - 'NetworkConfig': {'additionalProperties': False, - 'properties': {'Address': {'type': 'string'}, - 'CIDR': {'type': 'string'}, - 'ConfigType': {'type': 'string'}, - 'DNSSearchDomains': {'items': {'type': 'string'}, - 'type': 'array'}, - 'DNSServers': {'items': {'type': 'string'}, - 'type': 'array'}, - 'DeviceIndex': {'type': 'integer'}, - 'Disabled': {'type': 'boolean'}, - 'GatewayAddress': {'type': 'string'}, - 'InterfaceName': {'type': 'string'}, - 'InterfaceType': {'type': 'string'}, - 'MACAddress': {'type': 'string'}, - 'MTU': {'type': 'integer'}, - 'NoAutoStart': {'type': 'boolean'}, - 'ParentInterfaceName': {'type': 'string'}, - 'ProviderAddressId': {'type': 'string'}, - 'ProviderId': {'type': 'string'}, - 'ProviderSpaceId': {'type': 'string'}, - 'ProviderSubnetId': {'type': 'string'}, - 'ProviderVLANId': {'type': 'string'}, - 'VLANTag': {'type': 'integer'}}, - 'required': ['DeviceIndex', - 'MACAddress', - 'CIDR', - 'MTU', - 'ProviderId', - 'ProviderSubnetId', - 'ProviderSpaceId', - 'ProviderAddressId', - 'ProviderVLANId', - 'VLANTag', - 'InterfaceName', - 'ParentInterfaceName', - 'InterfaceType', - 'Disabled'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - 'type': 'object'}, - 'NotifyWatchResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'PortRange': {'additionalProperties': False, - 'properties': {'FromPort': {'type': 'integer'}, - 'Protocol': {'type': 'string'}, - 'ToPort': {'type': 'integer'}}, - 'required': ['FromPort', 'ToPort', 'Protocol'], - 'type': 'object'}, - 'Relation': {'additionalProperties': False, - 'properties': {'Interface': {'type': 'string'}, - 'Limit': {'type': 'integer'}, - 'Name': {'type': 'string'}, - 'Optional': {'type': 'boolean'}, - 'Role': {'type': 'string'}, - 'Scope': {'type': 'string'}}, - 'required': ['Name', - 'Role', - 'Interface', - 'Optional', - 'Limit', - 'Scope'], - 'type': 'object'}, - 'RelationIds': {'additionalProperties': False, - 'properties': {'RelationIds': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['RelationIds'], - 'type': 'object'}, - 'RelationResult': {'additionalProperties': False, - 'properties': {'Endpoint': {'$ref': '#/definitions/Endpoint'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'Id': {'type': 'integer'}, - 'Key': {'type': 'string'}, - 'Life': {'type': 'string'}}, - 'required': ['Error', - 'Life', - 'Id', - 'Key', - 'Endpoint'], - 'type': 'object'}, - 'RelationResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/RelationResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'RelationUnit': {'additionalProperties': False, - 'properties': {'Relation': {'type': 'string'}, - 'Unit': {'type': 'string'}}, - 'required': ['Relation', 'Unit'], - 'type': 'object'}, - 'RelationUnitPair': {'additionalProperties': False, - 'properties': {'LocalUnit': {'type': 'string'}, - 'Relation': {'type': 'string'}, - 'RemoteUnit': {'type': 'string'}}, - 'required': ['Relation', - 'LocalUnit', - 'RemoteUnit'], - 'type': 'object'}, - 'RelationUnitPairs': {'additionalProperties': False, - 'properties': {'RelationUnitPairs': {'items': {'$ref': '#/definitions/RelationUnitPair'}, - 'type': 'array'}}, - 'required': ['RelationUnitPairs'], - 'type': 'object'}, - 'RelationUnitSettings': {'additionalProperties': False, - 'properties': {'Relation': {'type': 'string'}, - 'Settings': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}, - 'Unit': {'type': 'string'}}, - 'required': ['Relation', - 'Unit', - 'Settings'], - 'type': 'object'}, - 'RelationUnits': {'additionalProperties': False, - 'properties': {'RelationUnits': {'items': {'$ref': '#/definitions/RelationUnit'}, - 'type': 'array'}}, - 'required': ['RelationUnits'], - 'type': 'object'}, - 'RelationUnitsChange': {'additionalProperties': False, - 'properties': {'Changed': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitSettings'}}, - 'type': 'object'}, - 'Departed': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['Changed', 'Departed'], - 'type': 'object'}, - 'RelationUnitsSettings': {'additionalProperties': False, - 'properties': {'RelationUnits': {'items': {'$ref': '#/definitions/RelationUnitSettings'}, - 'type': 'array'}}, - 'required': ['RelationUnits'], - 'type': 'object'}, - 'RelationUnitsWatchResult': {'additionalProperties': False, - 'properties': {'Changes': {'$ref': '#/definitions/RelationUnitsChange'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'RelationUnitsWatcherId': {'type': 'string'}}, - 'required': ['RelationUnitsWatcherId', - 'Changes', - 'Error'], - 'type': 'object'}, - 'RelationUnitsWatchResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/RelationUnitsWatchResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'ResolvedModeResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Mode': {'type': 'string'}}, - 'required': ['Error', 'Mode'], - 'type': 'object'}, - 'ResolvedModeResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ResolvedModeResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'ServiceStatusResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Service': {'$ref': '#/definitions/StatusResult'}, - 'Units': {'patternProperties': {'.*': {'$ref': '#/definitions/StatusResult'}}, - 'type': 'object'}}, - 'required': ['Service', - 'Units', - 'Error'], - 'type': 'object'}, - 'ServiceStatusResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ServiceStatusResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'SetStatus': {'additionalProperties': False, - 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'}, - 'type': 'array'}}, - 'required': ['Entities'], - 'type': 'object'}, - 'SettingsResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Settings': {'patternProperties': {'.*': {'type': 'string'}}, - 'type': 'object'}}, - 'required': ['Error', 'Settings'], - 'type': 'object'}, - 'SettingsResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/SettingsResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'StatusResult': {'additionalProperties': False, - 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True, - 'type': 'object'}}, - 'type': 'object'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'Id': {'type': 'string'}, - 'Info': {'type': 'string'}, - 'Life': {'type': 'string'}, - 'Since': {'format': 'date-time', - 'type': 'string'}, - 'Status': {'type': 'string'}}, - 'required': ['Error', - 'Id', - 'Life', - 'Status', - 'Info', - 'Data', - 'Since'], - 'type': 'object'}, - 'StatusResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StatusResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'StorageAddParams': {'additionalProperties': False, - 'properties': {'StorageName': {'type': 'string'}, - 'storage': {'$ref': '#/definitions/StorageConstraints'}, - 'unit': {'type': 'string'}}, - 'required': ['unit', - 'StorageName', - 'storage'], - 'type': 'object'}, - 'StorageAttachment': {'additionalProperties': False, - 'properties': {'Kind': {'type': 'integer'}, - 'Life': {'type': 'string'}, - 'Location': {'type': 'string'}, - 'OwnerTag': {'type': 'string'}, - 'StorageTag': {'type': 'string'}, - 'UnitTag': {'type': 'string'}}, - 'required': ['StorageTag', - 'OwnerTag', - 'UnitTag', - 'Kind', - 'Location', - 'Life'], - 'type': 'object'}, - 'StorageAttachmentId': {'additionalProperties': False, - 'properties': {'storagetag': {'type': 'string'}, - 'unittag': {'type': 'string'}}, - 'required': ['storagetag', 'unittag'], - 'type': 'object'}, - 'StorageAttachmentIds': {'additionalProperties': False, - 'properties': {'ids': {'items': {'$ref': '#/definitions/StorageAttachmentId'}, - 'type': 'array'}}, - 'required': ['ids'], - 'type': 'object'}, - 'StorageAttachmentIdsResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'$ref': '#/definitions/StorageAttachmentIds'}}, - 'required': ['result'], - 'type': 'object'}, - 'StorageAttachmentIdsResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/StorageAttachmentIdsResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'StorageAttachmentResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'$ref': '#/definitions/StorageAttachment'}}, - 'required': ['result'], - 'type': 'object'}, - 'StorageAttachmentResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/StorageAttachmentResult'}, - 'type': 'array'}}, - 'type': 'object'}, - 'StorageConstraints': {'additionalProperties': False, - 'properties': {'Count': {'type': 'integer'}, - 'Pool': {'type': 'string'}, - 'Size': {'type': 'integer'}}, - 'required': ['Pool', 'Size', 'Count'], - 'type': 'object'}, - 'StoragesAddParams': {'additionalProperties': False, - 'properties': {'storages': {'items': {'$ref': '#/definitions/StorageAddParams'}, - 'type': 'array'}}, - 'required': ['storages'], - 'type': 'object'}, - 'StringBoolResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Ok': {'type': 'boolean'}, - 'Result': {'type': 'string'}}, - 'required': ['Error', 'Result', 'Ok'], - 'type': 'object'}, - 'StringBoolResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StringBoolResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'StringResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'type': 'string'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'StringResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'StringsResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Result': {'items': {'type': 'string'}, - 'type': 'array'}}, - 'required': ['Error', 'Result'], - 'type': 'object'}, - 'StringsResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'StringsWatchResult': {'additionalProperties': False, - 'properties': {'Changes': {'items': {'type': 'string'}, - 'type': 'array'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'StringsWatcherId': {'type': 'string'}}, - 'required': ['StringsWatcherId', - 'Changes', - 'Error'], - 'type': 'object'}, - 'StringsWatchResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'UnitNetworkConfig': {'additionalProperties': False, - 'properties': {'BindingName': {'type': 'string'}, - 'UnitTag': {'type': 'string'}}, - 'required': ['UnitTag', 'BindingName'], - 'type': 'object'}, - 'UnitNetworkConfigResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Info': {'items': {'$ref': '#/definitions/NetworkConfig'}, - 'type': 'array'}}, - 'required': ['Error', 'Info'], - 'type': 'object'}, - 'UnitNetworkConfigResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/UnitNetworkConfigResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'UnitSettings': {'additionalProperties': False, - 'properties': {'Version': {'type': 'integer'}}, - 'required': ['Version'], - 'type': 'object'}, - 'UnitsNetworkConfig': {'additionalProperties': False, - 'properties': {'Args': {'items': {'$ref': '#/definitions/UnitNetworkConfig'}, - 'type': 'array'}}, - 'required': ['Args'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}}, - 'type': 'object'}, - 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}}, - 'type': 'object'}, - 'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ActionResults'}}, - 'type': 'object'}, - 'AddMetricBatches': {'properties': {'Params': {'$ref': '#/definitions/MetricBatchParams'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'AddUnitStorage': {'properties': {'Params': {'$ref': '#/definitions/StoragesAddParams'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'AllMachinePorts': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/MachinePortsResults'}}, - 'type': 'object'}, - 'AssignedMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringResults'}}, - 'type': 'object'}, - 'AvailabilityZone': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringResults'}}, - 'type': 'object'}, - 'BeginActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}}, - 'type': 'object'}, - 'CharmArchiveSha256': {'properties': {'Params': {'$ref': '#/definitions/CharmURLs'}, - 'Result': {'$ref': '#/definitions/StringResults'}}, - 'type': 'object'}, - 'CharmModifiedVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/IntResults'}}, - 'type': 'object'}, - 'CharmURL': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringBoolResults'}}, - 'type': 'object'}, - 'ClearResolved': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'ClosePorts': {'properties': {'Params': {'$ref': '#/definitions/EntitiesPortRanges'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'ConfigSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ConfigSettingsResults'}}, - 'type': 'object'}, - 'CurrentModel': {'properties': {'Result': {'$ref': '#/definitions/ModelResult'}}, - 'type': 'object'}, - 'Destroy': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'DestroyAllSubordinates': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'DestroyUnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'EnterScope': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'FinishActions': {'properties': {'Params': {'$ref': '#/definitions/ActionExecutionResults'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'GetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/MeterStatusResults'}}, - 'type': 'object'}, - 'GetPrincipal': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringBoolResults'}}, - 'type': 'object'}, - 'HasSubordinates': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/BoolResults'}}, - 'type': 'object'}, - 'JoinedRelations': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringsResults'}}, - 'type': 'object'}, - 'LeaveScope': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/LifeResults'}}, - 'type': 'object'}, - 'Merge': {'properties': {'Params': {'$ref': '#/definitions/MergeLeadershipSettingsBulkParams'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}}, - 'type': 'object'}, - 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}}, - 'type': 'object'}, - 'NetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/UnitsNetworkConfig'}, - 'Result': {'$ref': '#/definitions/UnitNetworkConfigResults'}}, - 'type': 'object'}, - 'OpenPorts': {'properties': {'Params': {'$ref': '#/definitions/EntitiesPortRanges'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringResults'}}, - 'type': 'object'}, - 'ProviderType': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}}, - 'type': 'object'}, - 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringResults'}}, - 'type': 'object'}, - 'Read': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/GetLeadershipSettingsBulkResults'}}, - 'type': 'object'}, - 'ReadRemoteSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnitPairs'}, - 'Result': {'$ref': '#/definitions/SettingsResults'}}, - 'type': 'object'}, - 'ReadSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'}, - 'Result': {'$ref': '#/definitions/SettingsResults'}}, - 'type': 'object'}, - 'Relation': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'}, - 'Result': {'$ref': '#/definitions/RelationResults'}}, - 'type': 'object'}, - 'RelationById': {'properties': {'Params': {'$ref': '#/definitions/RelationIds'}, - 'Result': {'$ref': '#/definitions/RelationResults'}}, - 'type': 'object'}, - 'RemoveStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'RequestReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'Resolved': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ResolvedModeResults'}}, - 'type': 'object'}, - 'ServiceOwner': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringResults'}}, - 'type': 'object'}, - 'ServiceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ServiceStatusResults'}}, - 'type': 'object'}, - 'SetAgentStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetCharmURL': {'properties': {'Params': {'$ref': '#/definitions/EntitiesCharmURL'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetServiceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetUnitStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'StorageAttachmentLife': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'}, - 'Result': {'$ref': '#/definitions/LifeResults'}}, - 'type': 'object'}, - 'StorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'}, - 'Result': {'$ref': '#/definitions/StorageAttachmentResults'}}, - 'type': 'object'}, - 'UnitStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StatusResults'}}, - 'type': 'object'}, - 'UnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StorageAttachmentIdsResults'}}, - 'type': 'object'}, - 'UpdateSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnitsSettings'}, - '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'}, - 'WatchActionNotifications': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringsWatchResults'}}, - 'type': 'object'}, - 'WatchConfigSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, - 'type': 'object'}, - 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}}, - 'type': 'object'}, - 'WatchLeadershipSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, - 'type': 'object'}, - 'WatchMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, - 'type': 'object'}, - 'WatchRelationUnits': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'}, - 'Result': {'$ref': '#/definitions/RelationUnitsWatchResults'}}, - 'type': 'object'}, - 'WatchServiceRelations': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/StringsWatchResults'}}, - 'type': 'object'}, - 'WatchStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'}, - 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, - 'type': 'object'}, - 'WatchUnitAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, - 'type': 'object'}, - 'WatchUnitStorageAttachments': {'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='Uniter', Request='APIAddresses', Version=3, 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='Uniter', Request='APIHostPorts', Version=3, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ActionResults) - async def Actions(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ActionResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='Actions', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def AddMetricBatches(self, batches): - ''' - batches : typing.Sequence[~MetricBatchParam] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='AddMetricBatches', Version=3, Params=params) - params['Batches'] = batches - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def AddUnitStorage(self, storages): - ''' - storages : typing.Sequence[~StorageAddParams] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='AddUnitStorage', Version=3, Params=params) - params['storages'] = storages - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(MachinePortsResults) - async def AllMachinePorts(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~MachinePortsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='AllMachinePorts', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringResults) - async def AssignedMachine(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='AssignedMachine', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringResults) - async def AvailabilityZone(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='AvailabilityZone', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def BeginActions(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='BeginActions', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(BytesResult) - async def CACert(self): - ''' - - Returns -> typing.Sequence[int] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='CACert', Version=3, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringResults) - async def CharmArchiveSha256(self, urls): - ''' - urls : typing.Sequence[~CharmURL] - Returns -> typing.Sequence[~StringResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='CharmArchiveSha256', Version=3, Params=params) - params['URLs'] = urls - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(IntResults) - async def CharmModifiedVersion(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~IntResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='CharmModifiedVersion', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringBoolResults) - async def CharmURL(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringBoolResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='CharmURL', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def ClearResolved(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='ClearResolved', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def ClosePorts(self, entities): - ''' - entities : typing.Sequence[~EntityPortRange] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='ClosePorts', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ConfigSettingsResults) - async def ConfigSettings(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ConfigSettingsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='ConfigSettings', Version=3, 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='Uniter', Request='CurrentModel', Version=3, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def Destroy(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='Destroy', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def DestroyAllSubordinates(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='DestroyAllSubordinates', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def DestroyUnitStorageAttachments(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='DestroyUnitStorageAttachments', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def EnsureDead(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='EnsureDead', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def EnterScope(self, relationunits): - ''' - relationunits : typing.Sequence[~RelationUnit] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='EnterScope', Version=3, Params=params) - params['RelationUnits'] = relationunits - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def FinishActions(self, results): - ''' - results : typing.Sequence[~ActionExecutionResult] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='FinishActions', Version=3, Params=params) - params['results'] = results - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(MeterStatusResults) - async def GetMeterStatus(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~MeterStatusResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='GetMeterStatus', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringBoolResults) - async def GetPrincipal(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringBoolResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='GetPrincipal', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(BoolResults) - async def HasSubordinates(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~BoolResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='HasSubordinates', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsResults) - async def JoinedRelations(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='JoinedRelations', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def LeaveScope(self, relationunits): - ''' - relationunits : typing.Sequence[~RelationUnit] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='LeaveScope', Version=3, Params=params) - params['RelationUnits'] = relationunits - 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='Uniter', Request='Life', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def Merge(self, params): - ''' - params : typing.Sequence[~MergeLeadershipSettingsParam] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='Merge', Version=3, Params=params) - params['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='Uniter', Request='ModelConfig', Version=3, Params=params) - - 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='Uniter', Request='ModelUUID', Version=3, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(UnitNetworkConfigResults) - async def NetworkConfig(self, args): - ''' - args : typing.Sequence[~UnitNetworkConfig] - Returns -> typing.Sequence[~UnitNetworkConfigResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='NetworkConfig', Version=3, Params=params) - params['Args'] = args - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def OpenPorts(self, entities): - ''' - entities : typing.Sequence[~EntityPortRange] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='OpenPorts', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringResults) - async def PrivateAddress(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='PrivateAddress', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringResult) - async def ProviderType(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='ProviderType', Version=3, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringResults) - async def PublicAddress(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='PublicAddress', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(GetLeadershipSettingsBulkResults) - async def Read(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~GetLeadershipSettingsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='Read', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(SettingsResults) - async def ReadRemoteSettings(self, relationunitpairs): - ''' - relationunitpairs : typing.Sequence[~RelationUnitPair] - Returns -> typing.Sequence[~SettingsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='ReadRemoteSettings', Version=3, Params=params) - params['RelationUnitPairs'] = relationunitpairs - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(SettingsResults) - async def ReadSettings(self, relationunits): - ''' - relationunits : typing.Sequence[~RelationUnit] - Returns -> typing.Sequence[~SettingsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='ReadSettings', Version=3, Params=params) - params['RelationUnits'] = relationunits - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(RelationResults) - async def Relation(self, relationunits): - ''' - relationunits : typing.Sequence[~RelationUnit] - Returns -> typing.Sequence[~RelationResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='Relation', Version=3, Params=params) - params['RelationUnits'] = relationunits - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(RelationResults) - async def RelationById(self, relationids): - ''' - relationids : typing.Sequence[int] - Returns -> typing.Sequence[~RelationResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='RelationById', Version=3, Params=params) - params['RelationIds'] = relationids - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def RemoveStorageAttachments(self, ids): - ''' - ids : typing.Sequence[~StorageAttachmentId] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='RemoveStorageAttachments', Version=3, Params=params) - params['ids'] = ids - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def RequestReboot(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='RequestReboot', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ResolvedModeResults) - async def Resolved(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ResolvedModeResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='Resolved', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringResults) - async def ServiceOwner(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='ServiceOwner', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ServiceStatusResults) - async def ServiceStatus(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ServiceStatusResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='ServiceStatus', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetAgentStatus(self, entities): - ''' - entities : typing.Sequence[~EntityStatusArgs] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='SetAgentStatus', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetCharmURL(self, entities): - ''' - entities : typing.Sequence[~EntityCharmURL] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='SetCharmURL', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetServiceStatus(self, entities): - ''' - entities : typing.Sequence[~EntityStatusArgs] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='SetServiceStatus', Version=3, Params=params) - params['Entities'] = entities - 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='Uniter', Request='SetStatus', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetUnitStatus(self, entities): - ''' - entities : typing.Sequence[~EntityStatusArgs] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='SetUnitStatus', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(LifeResults) - async def StorageAttachmentLife(self, ids): - ''' - ids : typing.Sequence[~StorageAttachmentId] - Returns -> typing.Sequence[~LifeResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='StorageAttachmentLife', Version=3, Params=params) - params['ids'] = ids - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StorageAttachmentResults) - async def StorageAttachments(self, ids): - ''' - ids : typing.Sequence[~StorageAttachmentId] - Returns -> typing.Sequence[~StorageAttachmentResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='StorageAttachments', Version=3, Params=params) - params['ids'] = ids - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StatusResults) - async def UnitStatus(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StatusResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='UnitStatus', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StorageAttachmentIdsResults) - async def UnitStorageAttachments(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StorageAttachmentIdsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='UnitStorageAttachments', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def UpdateSettings(self, relationunits): - ''' - relationunits : typing.Sequence[~RelationUnitSettings] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='UpdateSettings', Version=3, Params=params) - params['RelationUnits'] = relationunits - 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='Uniter', Request='Watch', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResult) - async def WatchAPIHostPorts(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='WatchAPIHostPorts', Version=3, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsWatchResults) - async def WatchActionNotifications(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringsWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='WatchActionNotifications', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResults) - async def WatchConfigSettings(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~NotifyWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='WatchConfigSettings', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResult) - async def WatchForModelConfigChanges(self): - ''' - - Returns -> typing.Union[_ForwardRef('Error'), str] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='WatchForModelConfigChanges', Version=3, Params=params) - - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResults) - async def WatchLeadershipSettings(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~NotifyWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='WatchLeadershipSettings', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResults) - async def WatchMeterStatus(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~NotifyWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='WatchMeterStatus', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(RelationUnitsWatchResults) - async def WatchRelationUnits(self, relationunits): - ''' - relationunits : typing.Sequence[~RelationUnit] - Returns -> typing.Sequence[~RelationUnitsWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='WatchRelationUnits', Version=3, Params=params) - params['RelationUnits'] = relationunits - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsWatchResults) - async def WatchServiceRelations(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringsWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='WatchServiceRelations', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResults) - async def WatchStorageAttachments(self, ids): - ''' - ids : typing.Sequence[~StorageAttachmentId] - Returns -> typing.Sequence[~NotifyWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='WatchStorageAttachments', Version=3, Params=params) - params['ids'] = ids - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResults) - async def WatchUnitAddresses(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~NotifyWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='WatchUnitAddresses', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(StringsWatchResults) - async def WatchUnitStorageAttachments(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~StringsWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Uniter', Request='WatchUnitStorageAttachments', Version=3, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - -class Upgrader(Type): - name = 'Upgrader' - version = 1 - schema = {'definitions': {'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'}, - 'EntitiesVersion': {'additionalProperties': False, - 'properties': {'AgentTools': {'items': {'$ref': '#/definitions/EntityVersion'}, - 'type': 'array'}}, - 'required': ['AgentTools'], - 'type': 'object'}, - 'Entity': {'additionalProperties': False, - 'properties': {'Tag': {'type': 'string'}}, - 'required': ['Tag'], - 'type': 'object'}, - 'EntityVersion': {'additionalProperties': False, - 'properties': {'Tag': {'type': 'string'}, - 'Tools': {'$ref': '#/definitions/Version'}}, - 'required': ['Tag', 'Tools'], - 'type': 'object'}, - 'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'NotifyWatchResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'NotifyWatcherId': {'type': 'string'}}, - 'required': ['NotifyWatcherId', 'Error'], - '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'}, - 'Tools': {'additionalProperties': False, - 'properties': {'sha256': {'type': 'string'}, - 'size': {'type': 'integer'}, - 'url': {'type': 'string'}, - 'version': {'$ref': '#/definitions/Binary'}}, - 'required': ['version', 'url', 'size'], - 'type': 'object'}, - 'ToolsResult': {'additionalProperties': False, - 'properties': {'DisableSSLHostnameVerification': {'type': 'boolean'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'ToolsList': {'items': {'$ref': '#/definitions/Tools'}, - 'type': 'array'}}, - 'required': ['ToolsList', - 'DisableSSLHostnameVerification', - 'Error'], - 'type': 'object'}, - 'ToolsResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ToolsResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Version': {'additionalProperties': False, - 'properties': {'Version': {'$ref': '#/definitions/Binary'}}, - 'required': ['Version'], - 'type': 'object'}, - 'VersionResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}, - 'Version': {'$ref': '#/definitions/Number'}}, - 'required': ['Version', 'Error'], - 'type': 'object'}, - 'VersionResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/VersionResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'DesiredVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/VersionResults'}}, - 'type': 'object'}, - 'SetTools': {'properties': {'Params': {'$ref': '#/definitions/EntitiesVersion'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'Tools': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ToolsResults'}}, - 'type': 'object'}, - 'WatchAPIVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/NotifyWatchResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(VersionResults) - async def DesiredVersion(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~VersionResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Upgrader', Request='DesiredVersion', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetTools(self, agenttools): - ''' - agenttools : typing.Sequence[~EntityVersion] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Upgrader', Request='SetTools', Version=1, Params=params) - params['AgentTools'] = agenttools - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ToolsResults) - async def Tools(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ToolsResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Upgrader', Request='Tools', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(NotifyWatchResults) - async def WatchAPIVersion(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~NotifyWatchResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='Upgrader', Request='WatchAPIVersion', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - -class UserManager(Type): - name = 'UserManager' - version = 1 - schema = {'definitions': {'AddUser': {'additionalProperties': False, - 'properties': {'display-name': {'type': 'string'}, - 'model-access-permission': {'type': 'string'}, - 'password': {'type': 'string'}, - 'shared-model-tags': {'items': {'type': 'string'}, - 'type': 'array'}, - 'username': {'type': 'string'}}, - 'required': ['username', - 'display-name', - 'shared-model-tags'], - 'type': 'object'}, - 'AddUserResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'secret-key': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'tag': {'type': 'string'}}, - 'type': 'object'}, - 'AddUserResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/AddUserResult'}, - 'type': 'array'}}, - 'required': ['results'], - 'type': 'object'}, - 'AddUsers': {'additionalProperties': False, - 'properties': {'users': {'items': {'$ref': '#/definitions/AddUser'}, - 'type': 'array'}}, - 'required': ['users'], - 'type': 'object'}, - 'Entities': {'additionalProperties': False, - 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'}, - 'type': 'array'}}, - 'required': ['Entities'], - 'type': 'object'}, - 'Entity': {'additionalProperties': False, - 'properties': {'Tag': {'type': 'string'}}, - 'required': ['Tag'], - 'type': 'object'}, - 'EntityPassword': {'additionalProperties': False, - 'properties': {'Password': {'type': 'string'}, - 'Tag': {'type': 'string'}}, - 'required': ['Tag', 'Password'], - 'type': 'object'}, - 'EntityPasswords': {'additionalProperties': False, - 'properties': {'Changes': {'items': {'$ref': '#/definitions/EntityPassword'}, - 'type': 'array'}}, - 'required': ['Changes'], - 'type': 'object'}, - 'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'ErrorResult': {'additionalProperties': False, - 'properties': {'Error': {'$ref': '#/definitions/Error'}}, - 'required': ['Error'], - 'type': 'object'}, - 'ErrorResults': {'additionalProperties': False, - 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'}, - 'type': 'array'}}, - 'required': ['Results'], - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'MacaroonResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'$ref': '#/definitions/Macaroon'}}, - 'type': 'object'}, - 'MacaroonResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/MacaroonResult'}, - 'type': 'array'}}, - 'required': ['results'], - 'type': 'object'}, - 'UserInfo': {'additionalProperties': False, - 'properties': {'created-by': {'type': 'string'}, - 'date-created': {'format': 'date-time', - 'type': 'string'}, - 'disabled': {'type': 'boolean'}, - 'display-name': {'type': 'string'}, - 'last-connection': {'format': 'date-time', - 'type': 'string'}, - 'username': {'type': 'string'}}, - 'required': ['username', - 'display-name', - 'created-by', - 'date-created', - 'disabled'], - 'type': 'object'}, - 'UserInfoRequest': {'additionalProperties': False, - 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'}, - 'type': 'array'}, - 'include-disabled': {'type': 'boolean'}}, - 'required': ['entities', - 'include-disabled'], - 'type': 'object'}, - 'UserInfoResult': {'additionalProperties': False, - 'properties': {'error': {'$ref': '#/definitions/Error'}, - 'result': {'$ref': '#/definitions/UserInfo'}}, - 'type': 'object'}, - 'UserInfoResults': {'additionalProperties': False, - 'properties': {'results': {'items': {'$ref': '#/definitions/UserInfoResult'}, - 'type': 'array'}}, - 'required': ['results'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'AddUser': {'properties': {'Params': {'$ref': '#/definitions/AddUsers'}, - 'Result': {'$ref': '#/definitions/AddUserResults'}}, - 'type': 'object'}, - 'CreateLocalLoginMacaroon': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/MacaroonResults'}}, - 'type': 'object'}, - 'DisableUser': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'EnableUser': {'properties': {'Params': {'$ref': '#/definitions/Entities'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'SetPassword': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'}, - 'Result': {'$ref': '#/definitions/ErrorResults'}}, - 'type': 'object'}, - 'UserInfo': {'properties': {'Params': {'$ref': '#/definitions/UserInfoRequest'}, - 'Result': {'$ref': '#/definitions/UserInfoResults'}}, - 'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(AddUserResults) - async def AddUser(self, users): - ''' - users : typing.Sequence[~AddUser] - Returns -> typing.Sequence[~AddUserResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='UserManager', Request='AddUser', Version=1, Params=params) - params['users'] = users - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(MacaroonResults) - async def CreateLocalLoginMacaroon(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~MacaroonResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='UserManager', Request='CreateLocalLoginMacaroon', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def DisableUser(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='UserManager', Request='DisableUser', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def EnableUser(self, entities): - ''' - entities : typing.Sequence[~Entity] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='UserManager', Request='EnableUser', Version=1, Params=params) - params['Entities'] = entities - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(ErrorResults) - async def SetPassword(self, changes): - ''' - changes : typing.Sequence[~EntityPassword] - Returns -> typing.Sequence[~ErrorResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='UserManager', Request='SetPassword', Version=1, Params=params) - params['Changes'] = changes - reply = await self.rpc(msg) - return reply - - - - @ReturnMapping(UserInfoResults) - async def UserInfo(self, entities, include_disabled): - ''' - entities : typing.Sequence[~Entity] - include_disabled : bool - Returns -> typing.Sequence[~UserInfoResult] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='UserManager', Request='UserInfo', Version=1, Params=params) - params['entities'] = entities - params['include-disabled'] = include_disabled - reply = await self.rpc(msg) - return reply - - -class VolumeAttachmentsWatcher(Type): - name = 'VolumeAttachmentsWatcher' - version = 2 - schema = {'definitions': {'Error': {'additionalProperties': False, - 'properties': {'Code': {'type': 'string'}, - 'Info': {'$ref': '#/definitions/ErrorInfo'}, - 'Message': {'type': 'string'}}, - 'required': ['Message', 'Code'], - 'type': 'object'}, - 'ErrorInfo': {'additionalProperties': False, - 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'}, - 'MacaroonPath': {'type': 'string'}}, - 'type': 'object'}, - 'Macaroon': {'additionalProperties': False, - 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'}, - 'type': 'array'}, - 'data': {'items': {'type': 'integer'}, - 'type': 'array'}, - 'id': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'sig': {'items': {'type': 'integer'}, - 'type': 'array'}}, - 'required': ['data', - 'location', - 'id', - 'caveats', - 'sig'], - 'type': 'object'}, - 'MachineStorageId': {'additionalProperties': False, - 'properties': {'attachmenttag': {'type': 'string'}, - 'machinetag': {'type': 'string'}}, - 'required': ['machinetag', - 'attachmenttag'], - 'type': 'object'}, - 'MachineStorageIdsWatchResult': {'additionalProperties': False, - 'properties': {'Changes': {'items': {'$ref': '#/definitions/MachineStorageId'}, - 'type': 'array'}, - 'Error': {'$ref': '#/definitions/Error'}, - 'MachineStorageIdsWatcherId': {'type': 'string'}}, - 'required': ['MachineStorageIdsWatcherId', - 'Changes', - 'Error'], - 'type': 'object'}, - 'caveat': {'additionalProperties': False, - 'properties': {'caveatId': {'$ref': '#/definitions/packet'}, - 'location': {'$ref': '#/definitions/packet'}, - 'verificationId': {'$ref': '#/definitions/packet'}}, - 'required': ['location', - 'caveatId', - 'verificationId'], - 'type': 'object'}, - 'packet': {'additionalProperties': False, - 'properties': {'headerLen': {'type': 'integer'}, - 'start': {'type': 'integer'}, - 'totalLen': {'type': 'integer'}}, - 'required': ['start', 'totalLen', 'headerLen'], - 'type': 'object'}}, - 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResult'}}, - 'type': 'object'}, - 'Stop': {'type': 'object'}}, - 'type': 'object'} - - - @ReturnMapping(MachineStorageIdsWatchResult) - async def Next(self): - ''' - - Returns -> typing.Union[typing.Sequence[~MachineStorageId], _ForwardRef('Error')] - ''' - # map input types to rpc msg - params = dict() - msg = dict(Type='VolumeAttachmentsWatcher', Request='Next', Version=2, 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='VolumeAttachmentsWatcher', Request='Stop', Version=2, Params=params) - - reply = await self.rpc(msg) - return reply +for o in overrides.__all__: + setattr(_client, o, getattr(overrides, o)) +from ._client import * # noqa