.phony: client
client:
- $(PY) -m juju.client.facade -s juju/client/schemas.json -o juju/client/client.py
+ $(PY) -m juju.client.facade -s juju/client/schemas.json -o juju/client/_client.py
.phony: test
test:
--- /dev/null
+import asyncio
+
+from juju.client.connection import Connection
+from juju.client import watcher
+
+
+loop = asyncio.get_event_loop()
+conn = loop.run_until_complete(Connection.connect_current())
+
+
+async def watch():
+ allwatcher = watcher.AllWatcher()
+ allwatcher.connect(conn)
+ while True:
+ change = await allwatcher.Next()
+ for delta in change.deltas:
+ print(delta.deltas)
+
+loop.run_until_complete(watch())
--- /dev/null
+
+from juju.client.facade import Type, ReturnMapping
+
+class Action(Type):
+ _toSchema = {'name': 'name', 'tag': 'tag', 'receiver': 'receiver', 'parameters': 'parameters'}
+ _toPy = {'name': 'name', 'tag': 'tag', 'receiver': 'receiver', '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
+
+
+class ActionResult(Type):
+ _toSchema = {'message': 'message', 'status': 'status', 'enqueued': 'enqueued', 'action': 'action', 'output': 'output', 'completed': 'completed', 'started': 'started', 'error': 'error'}
+ _toPy = {'message': 'message', 'status': 'status', 'enqueued': 'enqueued', 'action': 'action', 'output': 'output', 'completed': 'completed', 'started': 'started', 'error': 'error'}
+ 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) if action else None
+ self.completed = completed
+ self.enqueued = enqueued
+ self.error = Error.from_json(error) if error else None
+ 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 ActionSpec(Type):
+ _toSchema = {'params': 'Params', 'description': 'Description'}
+ _toPy = {'Params': 'params', 'Description': 'description'}
+ def __init__(self, description=None, params=None):
+ '''
+ description : str
+ params : typing.Mapping[str, typing.Any]
+ '''
+ self.description = description
+ self.params = params
+
+
+class Actions(Type):
+ _toSchema = {'actionspecs': 'ActionSpecs'}
+ _toPy = {'ActionSpecs': 'actionspecs'}
+ def __init__(self, actionspecs=None):
+ '''
+ actionspecs : typing.Mapping[str, ~ActionSpec]
+ '''
+ self.actionspecs = {k: ActionSpec.from_json(v) for k, v in (actionspecs or dict()).items()}
+
+
+class ActionsByName(Type):
+ _toSchema = {'name': 'name', 'actions': 'actions', 'error': 'error'}
+ _toPy = {'name': 'name', 'actions': 'actions', 'error': 'error'}
+ 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) if error else None
+ 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 = {'receiver': 'receiver', 'actions': 'actions', 'error': 'error'}
+ _toPy = {'receiver': 'receiver', 'actions': 'actions', 'error': 'error'}
+ 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) if error else None
+ 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 ApplicationCharmActionsResult(Type):
+ _toSchema = {'applicationtag': 'ApplicationTag', 'actions': 'actions', 'error': 'error'}
+ _toPy = {'actions': 'actions', 'ApplicationTag': 'applicationtag', 'error': 'error'}
+ def __init__(self, applicationtag=None, actions=None, error=None):
+ '''
+ applicationtag : str
+ actions : Actions
+ error : Error
+ '''
+ self.applicationtag = applicationtag
+ self.actions = Actions.from_json(actions) if actions else None
+ self.error = Error.from_json(error) if error else None
+
+
+class ApplicationsCharmActionsResults(Type):
+ _toSchema = {'results': 'results'}
+ _toPy = {'results': 'results'}
+ def __init__(self, results=None):
+ '''
+ results : typing.Sequence[~ApplicationCharmActionsResult]
+ '''
+ self.results = [ApplicationCharmActionsResult.from_json(o) for o in results 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 = {'code': 'Code', 'message': 'Message', 'info': 'Info'}
+ _toPy = {'Code': 'code', 'Message': 'message', 'Info': 'info'}
+ def __init__(self, code=None, info=None, message=None):
+ '''
+ code : str
+ info : ErrorInfo
+ message : str
+ '''
+ self.code = code
+ self.info = ErrorInfo.from_json(info) if info else None
+ self.message = message
+
+
+class ErrorInfo(Type):
+ _toSchema = {'macaroon': 'Macaroon', 'macaroonpath': 'MacaroonPath'}
+ _toPy = {'Macaroon': 'macaroon', 'MacaroonPath': 'macaroonpath'}
+ def __init__(self, macaroon=None, macaroonpath=None):
+ '''
+ macaroon : Macaroon
+ macaroonpath : str
+ '''
+ self.macaroon = Macaroon.from_json(macaroon) if macaroon else None
+ 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 = {'sig': 'sig', 'caveats': 'caveats', 'location': 'location', 'id_': 'id', 'data': 'data'}
+ _toPy = {'caveats': 'caveats', 'id': 'id_', 'sig': 'sig', 'location': 'location', 'data': 'data'}
+ 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_) if id_ else None
+ self.location = packet.from_json(location) if location else None
+ self.sig = sig
+
+
+class RunParams(Type):
+ _toSchema = {'timeout': 'Timeout', 'commands': 'Commands', 'units': 'Units', 'machines': 'Machines', 'applications': 'Applications'}
+ _toPy = {'Commands': 'commands', 'Timeout': 'timeout', 'Machines': 'machines', 'Applications': 'applications', 'Units': 'units'}
+ def __init__(self, applications=None, commands=None, machines=None, timeout=None, units=None):
+ '''
+ applications : typing.Sequence[str]
+ commands : str
+ machines : typing.Sequence[str]
+ timeout : int
+ units : typing.Sequence[str]
+ '''
+ self.applications = applications
+ self.commands = commands
+ self.machines = machines
+ self.timeout = timeout
+ self.units = units
+
+
+class caveat(Type):
+ _toSchema = {'caveatid': 'caveatId', 'verificationid': 'verificationId', 'location': 'location'}
+ _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) if caveatid else None
+ self.location = packet.from_json(location) if location else None
+ self.verificationid = packet.from_json(verificationid) if verificationid else None
+
+
+class packet(Type):
+ _toSchema = {'headerlen': 'headerLen', 'start': 'start', 'totallen': 'totalLen'}
+ _toPy = {'totalLen': 'totallen', 'start': 'start', 'headerLen': 'headerlen'}
+ 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 = {'result': 'Result', 'error': 'Error'}
+ _toPy = {'Result': 'result', 'Error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : bool
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = result
+
+
+class EntitiesWatchResult(Type):
+ _toSchema = {'changes': 'Changes', 'entitywatcherid': 'EntityWatcherId', 'error': 'Error'}
+ _toPy = {'Changes': 'changes', 'EntityWatcherId': 'entitywatcherid', 'Error': 'error'}
+ 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) if error else None
+
+
+class ErrorResult(Type):
+ _toSchema = {'code': 'Code', 'message': 'Message', 'info': 'Info'}
+ _toPy = {'Code': 'code', 'Message': 'message', 'Info': 'info'}
+ def __init__(self, code=None, info=None, message=None):
+ '''
+ code : str
+ info : ErrorInfo
+ message : str
+ '''
+ self.code = code
+ self.info = ErrorInfo.from_json(info) if info else None
+ self.message = message
+
+
+class AgentGetEntitiesResult(Type):
+ _toSchema = {'jobs': 'Jobs', 'containertype': 'ContainerType', 'life': 'Life', 'error': 'Error'}
+ _toPy = {'Life': 'life', 'ContainerType': 'containertype', 'Jobs': 'jobs', 'Error': 'error'}
+ 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) if error else None
+ 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 = {'password': 'Password', 'tag': 'Tag'}
+ _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 = {'NotifyWatcherId': 'notifywatcherid', 'Error': 'error'}
+ def __init__(self, error=None, notifywatcherid=None):
+ '''
+ error : Error
+ notifywatcherid : str
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.notifywatcherid = notifywatcherid
+
+
+class StateServingInfo(Type):
+ _toSchema = {'caprivatekey': 'CAPrivateKey', 'systemidentity': 'SystemIdentity', 'cert': 'Cert', 'apiport': 'APIPort', 'privatekey': 'PrivateKey', 'stateport': 'StatePort', 'sharedsecret': 'SharedSecret'}
+ _toPy = {'Cert': 'cert', 'CAPrivateKey': 'caprivatekey', 'APIPort': 'apiport', 'PrivateKey': 'privatekey', 'SystemIdentity': 'systemidentity', 'StatePort': 'stateport', 'SharedSecret': 'sharedsecret'}
+ 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 = {'entitytag': 'EntityTag', 'annotations': 'Annotations', 'error': 'Error'}
+ _toPy = {'Annotations': 'annotations', 'EntityTag': 'entitytag', 'Error': 'error'}
+ 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) if error else None
+
+
+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 = {'entitytag': 'EntityTag', 'annotations': 'Annotations'}
+ _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 AddApplicationUnits(Type):
+ _toSchema = {'placement': 'Placement', 'numunits': 'NumUnits', 'applicationname': 'ApplicationName'}
+ _toPy = {'NumUnits': 'numunits', 'ApplicationName': 'applicationname', 'Placement': 'placement'}
+ def __init__(self, applicationname=None, numunits=None, placement=None):
+ '''
+ applicationname : str
+ numunits : int
+ placement : typing.Sequence[~Placement]
+ '''
+ self.applicationname = applicationname
+ self.numunits = numunits
+ self.placement = [Placement.from_json(o) for o in placement or []]
+
+
+class AddApplicationUnitsResults(Type):
+ _toSchema = {'units': 'Units'}
+ _toPy = {'Units': 'units'}
+ def __init__(self, units=None):
+ '''
+ units : typing.Sequence[str]
+ '''
+ self.units = units
+
+
+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 ApplicationCharmRelations(Type):
+ _toSchema = {'applicationname': 'ApplicationName'}
+ _toPy = {'ApplicationName': 'applicationname'}
+ def __init__(self, applicationname=None):
+ '''
+ applicationname : str
+ '''
+ self.applicationname = applicationname
+
+
+class ApplicationCharmRelationsResults(Type):
+ _toSchema = {'charmrelations': 'CharmRelations'}
+ _toPy = {'CharmRelations': 'charmrelations'}
+ def __init__(self, charmrelations=None):
+ '''
+ charmrelations : typing.Sequence[str]
+ '''
+ self.charmrelations = charmrelations
+
+
+class ApplicationDeploy(Type):
+ _toSchema = {'channel': 'Channel', 'resources': 'Resources', 'storage': 'Storage', 'placement': 'Placement', 'series': 'Series', 'applicationname': 'ApplicationName', 'config': 'Config', 'endpointbindings': 'EndpointBindings', 'numunits': 'NumUnits', 'constraints': 'Constraints', 'charmurl': 'CharmUrl', 'configyaml': 'ConfigYAML'}
+ _toPy = {'CharmUrl': 'charmurl', 'ApplicationName': 'applicationname', 'Channel': 'channel', 'Placement': 'placement', 'ConfigYAML': 'configyaml', 'EndpointBindings': 'endpointbindings', 'Storage': 'storage', 'Series': 'series', 'Resources': 'resources', 'NumUnits': 'numunits', 'Constraints': 'constraints', 'Config': 'config'}
+ def __init__(self, applicationname=None, channel=None, charmurl=None, config=None, configyaml=None, constraints=None, endpointbindings=None, numunits=None, placement=None, resources=None, series=None, storage=None):
+ '''
+ applicationname : str
+ 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
+ storage : typing.Mapping[str, ~Constraints]
+ '''
+ self.applicationname = applicationname
+ self.channel = channel
+ self.charmurl = charmurl
+ self.config = config
+ self.configyaml = configyaml
+ self.constraints = Value.from_json(constraints) if constraints else None
+ self.endpointbindings = endpointbindings
+ self.numunits = numunits
+ self.placement = [Placement.from_json(o) for o in placement or []]
+ self.resources = resources
+ self.series = series
+ self.storage = {k: Constraints.from_json(v) for k, v in (storage or dict()).items()}
+
+
+class ApplicationDestroy(Type):
+ _toSchema = {'applicationname': 'ApplicationName'}
+ _toPy = {'ApplicationName': 'applicationname'}
+ def __init__(self, applicationname=None):
+ '''
+ applicationname : str
+ '''
+ self.applicationname = applicationname
+
+
+class ApplicationExpose(Type):
+ _toSchema = {'applicationname': 'ApplicationName'}
+ _toPy = {'ApplicationName': 'applicationname'}
+ def __init__(self, applicationname=None):
+ '''
+ applicationname : str
+ '''
+ self.applicationname = applicationname
+
+
+class ApplicationGet(Type):
+ _toSchema = {'applicationname': 'ApplicationName'}
+ _toPy = {'ApplicationName': 'applicationname'}
+ def __init__(self, applicationname=None):
+ '''
+ applicationname : str
+ '''
+ self.applicationname = applicationname
+
+
+class ApplicationGetResults(Type):
+ _toSchema = {'charm': 'Charm', 'config': 'Config', 'application': 'Application', 'constraints': 'Constraints'}
+ _toPy = {'Application': 'application', 'Charm': 'charm', 'Constraints': 'constraints', 'Config': 'config'}
+ def __init__(self, application=None, charm=None, config=None, constraints=None):
+ '''
+ application : str
+ charm : str
+ config : typing.Mapping[str, typing.Any]
+ constraints : Value
+ '''
+ self.application = application
+ self.charm = charm
+ self.config = config
+ self.constraints = Value.from_json(constraints) if constraints else None
+
+
+class ApplicationMetricCredential(Type):
+ _toSchema = {'metriccredentials': 'MetricCredentials', 'applicationname': 'ApplicationName'}
+ _toPy = {'MetricCredentials': 'metriccredentials', 'ApplicationName': 'applicationname'}
+ def __init__(self, applicationname=None, metriccredentials=None):
+ '''
+ applicationname : str
+ metriccredentials : typing.Sequence[int]
+ '''
+ self.applicationname = applicationname
+ self.metriccredentials = metriccredentials
+
+
+class ApplicationMetricCredentials(Type):
+ _toSchema = {'creds': 'Creds'}
+ _toPy = {'Creds': 'creds'}
+ def __init__(self, creds=None):
+ '''
+ creds : typing.Sequence[~ApplicationMetricCredential]
+ '''
+ self.creds = [ApplicationMetricCredential.from_json(o) for o in creds or []]
+
+
+class ApplicationSet(Type):
+ _toSchema = {'applicationname': 'ApplicationName', 'options': 'Options'}
+ _toPy = {'ApplicationName': 'applicationname', 'Options': 'options'}
+ def __init__(self, applicationname=None, options=None):
+ '''
+ applicationname : str
+ options : typing.Mapping[str, str]
+ '''
+ self.applicationname = applicationname
+ self.options = options
+
+
+class ApplicationSetCharm(Type):
+ _toSchema = {'cs_channel': 'cs-channel', 'forceunits': 'forceunits', 'resourceids': 'resourceids', 'charmurl': 'charmurl', 'forceseries': 'forceseries', 'applicationname': 'applicationname'}
+ _toPy = {'cs-channel': 'cs_channel', 'forceunits': 'forceunits', 'resourceids': 'resourceids', 'charmurl': 'charmurl', 'forceseries': 'forceseries', 'applicationname': 'applicationname'}
+ def __init__(self, applicationname=None, charmurl=None, cs_channel=None, forceseries=None, forceunits=None, resourceids=None):
+ '''
+ applicationname : str
+ charmurl : str
+ cs_channel : str
+ forceseries : bool
+ forceunits : bool
+ resourceids : typing.Mapping[str, str]
+ '''
+ self.applicationname = applicationname
+ self.charmurl = charmurl
+ self.cs_channel = cs_channel
+ self.forceseries = forceseries
+ self.forceunits = forceunits
+ self.resourceids = resourceids
+
+
+class ApplicationUnexpose(Type):
+ _toSchema = {'applicationname': 'ApplicationName'}
+ _toPy = {'ApplicationName': 'applicationname'}
+ def __init__(self, applicationname=None):
+ '''
+ applicationname : str
+ '''
+ self.applicationname = applicationname
+
+
+class ApplicationUnset(Type):
+ _toSchema = {'applicationname': 'ApplicationName', 'options': 'Options'}
+ _toPy = {'ApplicationName': 'applicationname', 'Options': 'options'}
+ def __init__(self, applicationname=None, options=None):
+ '''
+ applicationname : str
+ options : typing.Sequence[str]
+ '''
+ self.applicationname = applicationname
+ self.options = options
+
+
+class ApplicationUpdate(Type):
+ _toSchema = {'settingsstrings': 'SettingsStrings', 'settingsyaml': 'SettingsYAML', 'constraints': 'Constraints', 'charmurl': 'CharmUrl', 'forcecharmurl': 'ForceCharmUrl', 'forceseries': 'ForceSeries', 'minunits': 'MinUnits', 'applicationname': 'ApplicationName'}
+ _toPy = {'ForceCharmUrl': 'forcecharmurl', 'CharmUrl': 'charmurl', 'ApplicationName': 'applicationname', 'MinUnits': 'minunits', 'SettingsYAML': 'settingsyaml', 'ForceSeries': 'forceseries', 'SettingsStrings': 'settingsstrings', 'Constraints': 'constraints'}
+ def __init__(self, applicationname=None, charmurl=None, constraints=None, forcecharmurl=None, forceseries=None, minunits=None, settingsstrings=None, settingsyaml=None):
+ '''
+ applicationname : str
+ charmurl : str
+ constraints : Value
+ forcecharmurl : bool
+ forceseries : bool
+ minunits : int
+ settingsstrings : typing.Mapping[str, str]
+ settingsyaml : str
+ '''
+ self.applicationname = applicationname
+ self.charmurl = charmurl
+ self.constraints = Value.from_json(constraints) if constraints else None
+ self.forcecharmurl = forcecharmurl
+ self.forceseries = forceseries
+ self.minunits = minunits
+ self.settingsstrings = settingsstrings
+ self.settingsyaml = settingsyaml
+
+
+class ApplicationsDeploy(Type):
+ _toSchema = {'applications': 'Applications'}
+ _toPy = {'Applications': 'applications'}
+ def __init__(self, applications=None):
+ '''
+ applications : typing.Sequence[~ApplicationDeploy]
+ '''
+ self.applications = [ApplicationDeploy.from_json(o) for o in applications or []]
+
+
+class Constraints(Type):
+ _toSchema = {'size': 'Size', 'pool': 'Pool', 'count': 'Count'}
+ _toPy = {'Size': 'size', 'Count': 'count', 'Pool': 'pool'}
+ 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 DestroyApplicationUnits(Type):
+ _toSchema = {'unitnames': 'UnitNames'}
+ _toPy = {'UnitNames': 'unitnames'}
+ def __init__(self, unitnames=None):
+ '''
+ unitnames : typing.Sequence[str]
+ '''
+ self.unitnames = unitnames
+
+
+class DestroyRelation(Type):
+ _toSchema = {'endpoints': 'Endpoints'}
+ _toPy = {'Endpoints': 'endpoints'}
+ def __init__(self, endpoints=None):
+ '''
+ endpoints : typing.Sequence[str]
+ '''
+ self.endpoints = endpoints
+
+
+class GetApplicationConstraints(Type):
+ _toSchema = {'applicationname': 'ApplicationName'}
+ _toPy = {'ApplicationName': 'applicationname'}
+ def __init__(self, applicationname=None):
+ '''
+ applicationname : str
+ '''
+ self.applicationname = applicationname
+
+
+class GetConstraintsResults(Type):
+ _toSchema = {'cpu_cores': 'cpu-cores', 'container': 'container', 'spaces': 'spaces', 'mem': 'mem', 'arch': 'arch', 'tags': 'tags', 'cpu_power': 'cpu-power', 'virt_type': 'virt-type', 'instance_type': 'instance-type', 'root_disk': 'root-disk'}
+ _toPy = {'tags': 'tags', 'container': 'container', 'spaces': 'spaces', 'instance-type': 'instance_type', 'arch': 'arch', 'cpu-cores': 'cpu_cores', 'virt-type': 'virt_type', 'root-disk': 'root_disk', 'mem': 'mem', 'cpu-power': 'cpu_power'}
+ 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 Placement(Type):
+ _toSchema = {'scope': 'Scope', 'directive': 'Directive'}
+ _toPy = {'Directive': 'directive', 'Scope': 'scope'}
+ def __init__(self, directive=None, scope=None):
+ '''
+ directive : str
+ scope : str
+ '''
+ self.directive = directive
+ self.scope = scope
+
+
+class Relation(Type):
+ _toSchema = {'name': 'Name', 'role': 'Role', 'scope': 'Scope', 'limit': 'Limit', 'interface': 'Interface', 'optional': 'Optional'}
+ _toPy = {'Scope': 'scope', 'Interface': 'interface', 'Optional': 'optional', 'Role': 'role', 'Limit': 'limit', 'Name': 'name'}
+ 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 SetConstraints(Type):
+ _toSchema = {'constraints': 'Constraints', 'applicationname': 'ApplicationName'}
+ _toPy = {'ApplicationName': 'applicationname', 'Constraints': 'constraints'}
+ def __init__(self, applicationname=None, constraints=None):
+ '''
+ applicationname : str
+ constraints : Value
+ '''
+ self.applicationname = applicationname
+ self.constraints = Value.from_json(constraints) if constraints else None
+
+
+class StringResult(Type):
+ _toSchema = {'result': 'Result', 'error': 'Error'}
+ _toPy = {'Result': 'result', 'Error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : str
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = result
+
+
+class Value(Type):
+ _toSchema = {'cpu_cores': 'cpu-cores', 'container': 'container', 'spaces': 'spaces', 'mem': 'mem', 'arch': 'arch', 'tags': 'tags', 'cpu_power': 'cpu-power', 'virt_type': 'virt-type', 'instance_type': 'instance-type', 'root_disk': 'root-disk'}
+ _toPy = {'tags': 'tags', 'container': 'container', 'spaces': 'spaces', 'instance-type': 'instance_type', 'arch': 'arch', 'cpu-cores': 'cpu_cores', 'virt-type': 'virt_type', 'root-disk': 'root_disk', 'mem': 'mem', 'cpu-power': 'cpu_power'}
+ 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 StringsWatchResult(Type):
+ _toSchema = {'changes': 'Changes', 'stringswatcherid': 'StringsWatcherId', 'error': 'Error'}
+ _toPy = {'Changes': 'changes', 'StringsWatcherId': 'stringswatcherid', 'Error': 'error'}
+ 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) if error else None
+ self.stringswatcherid = stringswatcherid
+
+
+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 = {'stored': 'Stored', 'caprivatekey': 'CAPrivateKey', 'series': 'Series', 'notes': 'Notes', 'id_': 'ID', 'finished': 'Finished', 'model': 'Model', 'machine': 'Machine', 'checksumformat': 'ChecksumFormat', 'checksum': 'Checksum', 'size': 'Size', 'version': 'Version', 'cacert': 'CACert', 'started': 'Started', 'hostname': 'Hostname'}
+ _toPy = {'Notes': 'notes', 'ID': 'id_', 'Started': 'started', 'Version': 'version', 'Series': 'series', 'Machine': 'machine', 'ChecksumFormat': 'checksumformat', 'Finished': 'finished', 'CAPrivateKey': 'caprivatekey', 'Hostname': 'hostname', 'Model': 'model', 'CACert': 'cacert', 'Size': 'size', 'Checksum': 'checksum', 'Stored': 'stored'}
+ def __init__(self, cacert=None, caprivatekey=None, checksum=None, checksumformat=None, finished=None, hostname=None, id_=None, machine=None, model=None, notes=None, series=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
+ series : 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.series = series
+ self.size = size
+ self.started = started
+ self.stored = stored
+ self.version = Number.from_json(version) if version else None
+
+
+class BackupsRemoveArgs(Type):
+ _toSchema = {'id_': 'ID'}
+ _toPy = {'ID': 'id_'}
+ def __init__(self, id_=None):
+ '''
+ id_ : str
+ '''
+ self.id_ = id_
+
+
+class Number(Type):
+ _toSchema = {'patch': 'Patch', 'tag': 'Tag', 'major': 'Major', 'build': 'Build', 'minor': 'Minor'}
+ _toPy = {'Patch': 'patch', 'Major': 'major', 'Build': 'build', 'Minor': 'minor', 'Tag': 'tag'}
+ 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 = {'tag': 'tag', 'message': 'message', 'type_': 'type', 'id_': 'id'}
+ _toPy = {'id': 'id_', 'message': 'message', '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 = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : Block
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = Block.from_json(result) if result else None
+
+
+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 = {'channel': 'Channel', 'url': 'URL'}
+ _toPy = {'URL': 'url', 'Channel': 'channel'}
+ def __init__(self, channel=None, url=None):
+ '''
+ channel : str
+ url : str
+ '''
+ self.channel = channel
+ self.url = url
+
+
+class AddCharmWithAuthorization(Type):
+ _toSchema = {'charmstoremacaroon': 'CharmStoreMacaroon', 'channel': 'Channel', 'url': 'URL'}
+ _toPy = {'CharmStoreMacaroon': 'charmstoremacaroon', 'URL': 'url', 'Channel': 'channel'}
+ def __init__(self, channel=None, charmstoremacaroon=None, url=None):
+ '''
+ channel : str
+ charmstoremacaroon : Macaroon
+ url : str
+ '''
+ self.channel = channel
+ self.charmstoremacaroon = Macaroon.from_json(charmstoremacaroon) if charmstoremacaroon else None
+ self.url = url
+
+
+class AddMachineParams(Type):
+ _toSchema = {'hardwarecharacteristics': 'HardwareCharacteristics', 'instanceid': 'InstanceId', 'parentid': 'ParentId', 'disks': 'Disks', 'constraints': 'Constraints', 'placement': 'Placement', 'containertype': 'ContainerType', 'addrs': 'Addrs', 'jobs': 'Jobs', 'nonce': 'Nonce', 'series': 'Series'}
+ _toPy = {'Placement': 'placement', 'ContainerType': 'containertype', 'InstanceId': 'instanceid', 'HardwareCharacteristics': 'hardwarecharacteristics', 'ParentId': 'parentid', 'Nonce': 'nonce', 'Series': 'series', 'Addrs': 'addrs', 'Disks': 'disks', 'Constraints': 'constraints', 'Jobs': 'jobs'}
+ 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) if constraints else None
+ self.containertype = containertype
+ self.disks = [Constraints.from_json(o) for o in disks or []]
+ self.hardwarecharacteristics = HardwareCharacteristics.from_json(hardwarecharacteristics) if hardwarecharacteristics else None
+ self.instanceid = instanceid
+ self.jobs = jobs
+ self.nonce = nonce
+ self.parentid = parentid
+ self.placement = Placement.from_json(placement) if placement else None
+ 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 = {'machine': 'Machine', 'error': 'Error'}
+ _toPy = {'Machine': 'machine', 'Error': 'error'}
+ def __init__(self, error=None, machine=None):
+ '''
+ error : Error
+ machine : str
+ '''
+ self.error = Error.from_json(error) if error else None
+ 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 = {'value': 'Value', 'spacename': 'SpaceName', 'scope': 'Scope', 'type_': 'Type'}
+ _toPy = {'Scope': 'scope', 'SpaceName': 'spacename', 'Value': 'value', 'Type': 'type_'}
+ 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 = {'patch': 'Patch', 'tag': 'Tag', 'major': 'Major', 'build': 'Build', 'minor': 'Minor'}
+ _toPy = {'Patch': 'patch', 'Major': 'major', 'Build': 'build', 'Minor': 'minor', 'Tag': 'tag'}
+ 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 ApplicationStatus(Type):
+ _toSchema = {'meterstatuses': 'MeterStatuses', 'relations': 'Relations', 'units': 'Units', 'exposed': 'Exposed', 'life': 'Life', 'charm': 'Charm', 'status': 'Status', 'canupgradeto': 'CanUpgradeTo', 'subordinateto': 'SubordinateTo'}
+ _toPy = {'Status': 'status', 'SubordinateTo': 'subordinateto', 'CanUpgradeTo': 'canupgradeto', 'Relations': 'relations', 'Life': 'life', 'MeterStatuses': 'meterstatuses', 'Exposed': 'exposed', 'Charm': 'charm', 'Units': 'units'}
+ 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) if status else None
+ self.subordinateto = subordinateto
+ self.units = {k: UnitStatus.from_json(v) for k, v in (units or dict()).items()}
+
+
+class Binary(Type):
+ _toSchema = {'series': 'Series', 'number': 'Number', 'arch': 'Arch'}
+ _toPy = {'Arch': 'arch', 'Number': 'number', '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) if number else None
+ self.series = series
+
+
+class BundleChangesChange(Type):
+ _toSchema = {'method': 'method', 'requires': 'requires', 'args': 'args', 'id_': 'id'}
+ _toPy = {'method': 'method', 'id': 'id_', 'args': 'args', 'requires': 'requires'}
+ 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 DestroyMachines(Type):
+ _toSchema = {'force': 'Force', 'machinenames': 'MachineNames'}
+ _toPy = {'MachineNames': 'machinenames', 'Force': 'force'}
+ def __init__(self, force=None, machinenames=None):
+ '''
+ force : bool
+ machinenames : typing.Sequence[str]
+ '''
+ self.force = force
+ self.machinenames = machinenames
+
+
+class DetailedStatus(Type):
+ _toSchema = {'status': 'Status', 'version': 'Version', 'kind': 'Kind', 'life': 'Life', 'data': 'Data', 'since': 'Since', 'info': 'Info'}
+ _toPy = {'Life': 'life', 'Version': 'version', 'Data': 'data', 'Since': 'since', 'Status': 'status', 'Kind': 'kind', '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 = {'name': 'Name', 'role': 'Role', 'subordinate': 'Subordinate', 'applicationname': 'ApplicationName'}
+ _toPy = {'Role': 'role', 'ApplicationName': 'applicationname', 'Subordinate': 'subordinate', 'Name': 'name'}
+ def __init__(self, applicationname=None, name=None, role=None, subordinate=None):
+ '''
+ applicationname : str
+ name : str
+ role : str
+ subordinate : bool
+ '''
+ self.applicationname = applicationname
+ self.name = name
+ self.role = role
+ self.subordinate = subordinate
+
+
+class EntityStatus(Type):
+ _toSchema = {'data': 'Data', 'since': 'Since', 'status': 'Status', 'info': 'Info'}
+ _toPy = {'Data': 'data', 'Since': 'since', 'Status': 'status', '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', 'majorversion': 'MajorVersion', 'number': 'Number', 'arch': 'Arch'}
+ _toPy = {'MajorVersion': 'majorversion', 'Arch': 'arch', 'Number': 'number', 'Series': 'series', 'MinorVersion': 'minorversion'}
+ 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) if number else None
+ 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) if error else None
+ self.list_ = [Tools.from_json(o) for o in list_ or []]
+
+
+class FullStatus(Type):
+ _toSchema = {'relations': 'Relations', 'modelname': 'ModelName', 'machines': 'Machines', 'availableversion': 'AvailableVersion', 'applications': 'Applications'}
+ _toPy = {'Relations': 'relations', 'Machines': 'machines', 'Applications': 'applications', 'AvailableVersion': 'availableversion', 'ModelName': 'modelname'}
+ def __init__(self, applications=None, availableversion=None, machines=None, modelname=None, relations=None):
+ '''
+ applications : typing.Mapping[str, ~ApplicationStatus]
+ availableversion : str
+ machines : typing.Mapping[str, ~MachineStatus]
+ modelname : str
+ relations : typing.Sequence[~RelationStatus]
+ '''
+ self.applications = {k: ApplicationStatus.from_json(v) for k, v in (applications or dict()).items()}
+ 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 []]
+
+
+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 HardwareCharacteristics(Type):
+ _toSchema = {'tags': 'Tags', 'cpupower': 'CpuPower', 'availabilityzone': 'AvailabilityZone', 'rootdisk': 'RootDisk', 'arch': 'Arch', 'cpucores': 'CpuCores', 'mem': 'Mem'}
+ _toPy = {'RootDisk': 'rootdisk', 'Arch': 'arch', 'Tags': 'tags', 'CpuPower': 'cpupower', 'CpuCores': 'cpucores', 'Mem': 'mem', 'AvailabilityZone': 'availabilityzone'}
+ 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 History(Type):
+ _toSchema = {'statuses': 'Statuses', 'error': 'Error'}
+ _toPy = {'Statuses': 'statuses', 'Error': 'error'}
+ def __init__(self, error=None, statuses=None):
+ '''
+ error : Error
+ statuses : typing.Sequence[~DetailedStatus]
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.statuses = [DetailedStatus.from_json(o) for o in statuses or []]
+
+
+class HostPort(Type):
+ _toSchema = {'address': 'Address', 'port': 'Port'}
+ _toPy = {'Address': 'address', 'Port': 'port'}
+ def __init__(self, address=None, port=None):
+ '''
+ address : Address
+ port : int
+ '''
+ self.address = Address.from_json(address) if address else None
+ self.port = port
+
+
+class MachineStatus(Type):
+ _toSchema = {'jobs': 'Jobs', 'instanceid': 'InstanceId', 'series': 'Series', 'dnsname': 'DNSName', 'hasvote': 'HasVote', 'id_': 'Id', 'wantsvote': 'WantsVote', 'hardware': 'Hardware', 'agentstatus': 'AgentStatus', 'containers': 'Containers', 'instancestatus': 'InstanceStatus'}
+ _toPy = {'WantsVote': 'wantsvote', 'Containers': 'containers', 'HasVote': 'hasvote', 'InstanceStatus': 'instancestatus', 'Hardware': 'hardware', 'DNSName': 'dnsname', 'Jobs': 'jobs', 'Series': 'series', 'Id': 'id_', 'InstanceId': 'instanceid', 'AgentStatus': 'agentstatus'}
+ 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) if agentstatus else None
+ 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) if instancestatus else None
+ self.jobs = jobs
+ self.series = series
+ self.wantsvote = wantsvote
+
+
+class MeterStatus(Type):
+ _toSchema = {'color': 'Color', 'message': 'Message'}
+ _toPy = {'Message': 'message', 'Color': 'color'}
+ 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 = {'name': 'Name', 'providertype': 'ProviderType', 'ownertag': 'OwnerTag', 'uuid': 'UUID', 'life': 'Life', 'status': 'Status', 'users': 'Users', 'defaultseries': 'DefaultSeries', 'serveruuid': 'ServerUUID', 'cloud': 'Cloud'}
+ _toPy = {'ServerUUID': 'serveruuid', 'Users': 'users', 'UUID': 'uuid', 'ProviderType': 'providertype', 'OwnerTag': 'ownertag', 'DefaultSeries': 'defaultseries', 'Status': 'status', 'Life': 'life', 'Cloud': 'cloud', 'Name': 'name'}
+ def __init__(self, cloud=None, defaultseries=None, life=None, name=None, ownertag=None, providertype=None, serveruuid=None, status=None, uuid=None, users=None):
+ '''
+ cloud : str
+ defaultseries : str
+ life : str
+ name : str
+ ownertag : str
+ providertype : str
+ serveruuid : str
+ status : EntityStatus
+ uuid : str
+ users : typing.Sequence[~ModelUserInfo]
+ '''
+ self.cloud = cloud
+ self.defaultseries = defaultseries
+ self.life = life
+ self.name = name
+ self.ownertag = ownertag
+ self.providertype = providertype
+ self.serveruuid = serveruuid
+ self.status = EntityStatus.from_json(status) if status else None
+ 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 = {'user': 'user', 'displayname': 'displayname', 'lastconnection': 'lastconnection', 'access': 'access'}
+ _toPy = {'user': 'user', 'displayname': 'displayname', 'lastconnection': 'lastconnection', 'access': 'access'}
+ 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 = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : ModelUserInfo
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = ModelUserInfo.from_json(result) if result else None
+
+
+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 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 = {'datadir': 'DataDir', 'disablepackagecommands': 'DisablePackageCommands', 'machineid': 'MachineId', 'nonce': 'Nonce'}
+ _toPy = {'MachineId': 'machineid', 'DisablePackageCommands': 'disablepackagecommands', 'DataDir': 'datadir', 'Nonce': 'nonce'}
+ 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', 'endpoints': 'Endpoints', 'id_': 'Id', 'key': 'Key'}
+ _toPy = {'Scope': 'scope', 'Id': 'id_', 'Endpoints': 'endpoints', 'Key': 'key', 'Interface': 'interface'}
+ 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 = {'URL': 'url', 'Error': 'error'}
+ def __init__(self, error=None, url=None):
+ '''
+ error : str
+ url : URL
+ '''
+ self.error = error
+ self.url = URL.from_json(url) if url else None
+
+
+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 = {'UnitName': 'unitname', 'Retry': 'retry'}
+ def __init__(self, retry=None, unitname=None):
+ '''
+ retry : bool
+ unitname : str
+ '''
+ self.retry = retry
+ self.unitname = unitname
+
+
+class SetModelAgentVersion(Type):
+ _toSchema = {'patch': 'Patch', 'tag': 'Tag', 'major': 'Major', 'build': 'Build', 'minor': 'Minor'}
+ _toPy = {'Patch': 'patch', 'Major': 'major', 'Build': 'build', 'Minor': 'minor', 'Tag': 'tag'}
+ 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 StatusHistoryFilter(Type):
+ _toSchema = {'delta': 'Delta', 'date': 'Date', 'size': 'Size'}
+ _toPy = {'Size': 'size', 'Delta': 'delta', 'Date': 'date'}
+ def __init__(self, date=None, delta=None, size=None):
+ '''
+ date : str
+ delta : int
+ size : int
+ '''
+ self.date = date
+ self.delta = delta
+ self.size = size
+
+
+class StatusHistoryRequest(Type):
+ _toSchema = {'tag': 'Tag', 'filter_': 'Filter', 'historykind': 'HistoryKind', 'size': 'Size'}
+ _toPy = {'Size': 'size', 'Filter': 'filter_', 'HistoryKind': 'historykind', 'Tag': 'tag'}
+ def __init__(self, filter_=None, historykind=None, size=None, tag=None):
+ '''
+ filter_ : StatusHistoryFilter
+ historykind : str
+ size : int
+ tag : str
+ '''
+ self.filter_ = StatusHistoryFilter.from_json(filter_) if filter_ else None
+ self.historykind = historykind
+ self.size = size
+ self.tag = tag
+
+
+class StatusHistoryRequests(Type):
+ _toSchema = {'requests': 'Requests'}
+ _toPy = {'Requests': 'requests'}
+ def __init__(self, requests=None):
+ '''
+ requests : typing.Sequence[~StatusHistoryRequest]
+ '''
+ self.requests = [StatusHistoryRequest.from_json(o) for o in requests or []]
+
+
+class StatusHistoryResult(Type):
+ _toSchema = {'history': 'History', 'error': 'Error'}
+ _toPy = {'History': 'history', 'Error': 'error'}
+ def __init__(self, error=None, history=None):
+ '''
+ error : Error
+ history : History
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.history = History.from_json(history) if history else None
+
+
+class StatusHistoryResults(Type):
+ _toSchema = {'results': 'Results'}
+ _toPy = {'Results': 'results'}
+ def __init__(self, results=None):
+ '''
+ results : typing.Sequence[~StatusHistoryResult]
+ '''
+ self.results = [StatusHistoryResult.from_json(o) for o in results 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', 'version': 'version', 'sha256': 'sha256'}
+ _toPy = {'url': 'url', 'size': 'size', 'version': 'version', 'sha256': 'sha256'}
+ 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) if version else None
+
+
+class URL(Type):
+ _toSchema = {'name': 'Name', 'channel': 'Channel', 'schema': 'Schema', 'user': 'User', 'series': 'Series', 'revision': 'Revision'}
+ _toPy = {'Channel': 'channel', 'User': 'user', 'Name': 'name', 'Series': 'series', 'Revision': 'revision', 'Schema': 'schema'}
+ 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 = {'publicaddress': 'PublicAddress', 'charm': 'Charm', 'agentstatus': 'AgentStatus', 'subordinates': 'Subordinates', 'machine': 'Machine', 'workloadstatus': 'WorkloadStatus', 'openedports': 'OpenedPorts'}
+ _toPy = {'WorkloadStatus': 'workloadstatus', 'OpenedPorts': 'openedports', 'PublicAddress': 'publicaddress', 'Subordinates': 'subordinates', 'AgentStatus': 'agentstatus', 'Machine': 'machine', '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) if agentstatus else None
+ 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) if workloadstatus else None
+
+
+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 = {'id': 'id_', 'model-tag': 'model_tag', '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) if error else None
+ 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 = {'name': 'Name', 'ownertag': 'OwnerTag', 'uuid': 'UUID'}
+ _toPy = {'OwnerTag': 'ownertag', 'UUID': 'uuid', 'Name': 'name'}
+ 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', 'model_uuid': 'model-uuid', 'owner_tag': 'owner-tag', 'name': 'name'}
+ _toPy = {'blocks': 'blocks', 'model-uuid': 'model_uuid', 'owner-tag': 'owner_tag', 'name': 'name'}
+ 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 = {'target-info': 'target_info', 'model-tag': 'model_tag'}
+ 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) if target_info else None
+
+
+class ModelMigrationTargetInfo(Type):
+ _toSchema = {'password': 'password', 'addrs': 'addrs', 'auth_tag': 'auth-tag', 'controller_tag': 'controller-tag', 'ca_cert': 'ca-cert'}
+ _toPy = {'password': 'password', 'ca-cert': 'ca_cert', 'addrs': 'addrs', 'controller-tag': 'controller_tag', 'auth-tag': 'auth_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 = {'model_tag': 'model-tag', 'owner_tag': 'owner-tag', 'application_count': 'application-count', 'hosted_machine_count': 'hosted-machine-count', 'life': 'life'}
+ _toPy = {'application-count': 'application_count', 'hosted-machine-count': 'hosted_machine_count', 'owner-tag': 'owner_tag', 'model-tag': 'model_tag', 'life': 'life'}
+ def __init__(self, application_count=None, hosted_machine_count=None, life=None, model_tag=None, owner_tag=None):
+ '''
+ application_count : int
+ hosted_machine_count : int
+ life : str
+ model_tag : str
+ owner_tag : str
+ '''
+ self.application_count = application_count
+ self.hosted_machine_count = hosted_machine_count
+ self.life = life
+ self.model_tag = model_tag
+ self.owner_tag = owner_tag
+
+
+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 = {'model': 'Model', 'lastconnection': 'LastConnection'}
+ _toPy = {'LastConnection': 'lastconnection', 'Model': 'model'}
+ def __init__(self, lastconnection=None, model=None):
+ '''
+ lastconnection : str
+ model : Model
+ '''
+ self.lastconnection = lastconnection
+ self.model = Model.from_json(model) if model else None
+
+
+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 = {'stateaddresses': 'StateAddresses', 'apiaddresses': 'APIAddresses'}
+ _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) if error else None
+ 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 StringsResult(Type):
+ _toSchema = {'result': 'Result', 'error': 'Error'}
+ _toPy = {'Result': 'result', 'Error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : typing.Sequence[str]
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = result
+
+
+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 = {'zones': 'Zones', 'spacetag': 'SpaceTag', 'subnetproviderid': 'SubnetProviderId', 'subnettag': 'SubnetTag'}
+ _toPy = {'Zones': 'zones', 'SubnetProviderId': 'subnetproviderid', 'SpaceTag': 'spacetag', 'SubnetTag': 'subnettag'}
+ 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 = {'subnettags': 'SubnetTags', 'providerid': 'ProviderId', 'spacetag': 'SpaceTag', 'public': 'Public'}
+ _toPy = {'Public': 'public', 'ProviderId': 'providerid', 'SpaceTag': 'spacetag', 'SubnetTags': 'subnettags'}
+ 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 = {'name': 'Name', 'subnets': 'Subnets', 'providerid': 'ProviderId', 'error': 'Error'}
+ _toPy = {'Subnets': 'subnets', 'ProviderId': 'providerid', 'Name': 'name', 'Error': 'error'}
+ 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) if error else None
+ self.name = name
+ self.providerid = providerid
+ self.subnets = [Subnet.from_json(o) for o in subnets or []]
+
+
+class Subnet(Type):
+ _toSchema = {'vlantag': 'VLANTag', 'staticrangelowip': 'StaticRangeLowIP', 'spacetag': 'SpaceTag', 'status': 'Status', 'life': 'Life', 'zones': 'Zones', 'cidr': 'CIDR', 'providerid': 'ProviderId', 'staticrangehighip': 'StaticRangeHighIP'}
+ _toPy = {'Zones': 'zones', 'CIDR': 'cidr', 'StaticRangeLowIP': 'staticrangelowip', 'StaticRangeHighIP': 'staticrangehighip', 'VLANTag': 'vlantag', 'Life': 'life', 'Status': 'status', '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 = {'zone': 'Zone', 'spacetag': 'SpaceTag'}
+ _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 = {'uuid': 'UUID', 'label': 'Label', 'size': 'Size', 'hardwareid': 'HardwareId', 'mountpoint': 'MountPoint', 'inuse': 'InUse', 'devicename': 'DeviceName', 'devicelinks': 'DeviceLinks', 'busaddress': 'BusAddress', 'filesystemtype': 'FilesystemType'}
+ _toPy = {'Label': 'label', 'DeviceLinks': 'devicelinks', 'UUID': 'uuid', 'BusAddress': 'busaddress', 'HardwareId': 'hardwareid', 'Size': 'size', 'InUse': 'inuse', 'FilesystemType': 'filesystemtype', 'DeviceName': 'devicename', 'MountPoint': 'mountpoint'}
+ 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 = {'machinetag': 'machinetag', 'attachmenttag': 'attachmenttag'}
+ _toPy = {'machinetag': 'machinetag', 'attachmenttag': 'attachmenttag'}
+ def __init__(self, attachmenttag=None, machinetag=None):
+ '''
+ attachmenttag : str
+ machinetag : str
+ '''
+ self.attachmenttag = attachmenttag
+ self.machinetag = machinetag
+
+
+class MachineStorageIdsWatchResult(Type):
+ _toSchema = {'changes': 'Changes', 'machinestorageidswatcherid': 'MachineStorageIdsWatcherId', 'error': 'Error'}
+ _toPy = {'Changes': 'changes', 'MachineStorageIdsWatcherId': 'machinestorageidswatcherid', 'Error': 'error'}
+ 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) if error else None
+ 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 = {'portrange': 'PortRange', 'relationtag': 'RelationTag', 'unittag': 'UnitTag'}
+ _toPy = {'RelationTag': 'relationtag', 'PortRange': 'portrange', 'UnitTag': 'unittag'}
+ def __init__(self, portrange=None, relationtag=None, unittag=None):
+ '''
+ portrange : PortRange
+ relationtag : str
+ unittag : str
+ '''
+ self.portrange = PortRange.from_json(portrange) if portrange else None
+ 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 = {'ports': 'Ports', 'error': 'Error'}
+ _toPy = {'Ports': 'ports', 'Error': 'error'}
+ def __init__(self, error=None, ports=None):
+ '''
+ error : Error
+ ports : typing.Sequence[~MachinePortRange]
+ '''
+ self.error = Error.from_json(error) if error else None
+ 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 = {'toport': 'ToPort', 'protocol': 'Protocol', 'fromport': 'FromPort'}
+ _toPy = {'ToPort': 'toport', 'Protocol': 'protocol', 'FromPort': 'fromport'}
+ 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 = {'result': 'Result', 'error': 'Error'}
+ _toPy = {'Result': 'result', 'Error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : ControllersChanges
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = ControllersChanges.from_json(result) if result else None
+
+
+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', 'converted': 'converted', 'maintained': 'maintained', 'removed': 'removed', 'demoted': 'demoted'}
+ _toPy = {'added': 'added', 'promoted': 'promoted', 'converted': 'converted', 'maintained': 'maintained', 'removed': 'removed', 'demoted': 'demoted'}
+ 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 = {'num_controllers': 'num-controllers', 'placement': 'placement', 'series': 'series', 'constraints': 'constraints', 'modeltag': 'ModelTag'}
+ _toPy = {'placement': 'placement', 'num-controllers': 'num_controllers', 'ModelTag': 'modeltag', 'series': 'series', 'constraints': 'constraints'}
+ 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) if constraints else None
+ 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 = {'PublicAddress': 'publicaddress', 'Series': 'series', 'Tag': 'tag'}
+ def __init__(self, publicaddress=None, series=None, tag=None):
+ '''
+ publicaddress : Address
+ series : str
+ tag : str
+ '''
+ self.publicaddress = Address.from_json(publicaddress) if publicaddress else None
+ self.series = series
+ self.tag = tag
+
+
+class Member(Type):
+ _toSchema = {'hidden': 'Hidden', 'slavedelay': 'SlaveDelay', 'votes': 'Votes', 'priority': 'Priority', 'id_': 'Id', 'buildindexes': 'BuildIndexes', 'tags': 'Tags', 'address': 'Address', 'arbiter': 'Arbiter'}
+ _toPy = {'BuildIndexes': 'buildindexes', 'Arbiter': 'arbiter', 'Votes': 'votes', 'Hidden': 'hidden', 'Id': 'id_', 'Priority': 'priority', 'Tags': 'tags', 'Address': 'address', 'SlaveDelay': 'slavedelay'}
+ 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 = {'rsmembers': 'RsMembers', 'master': 'Master', 'members': 'Members'}
+ _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) if master else None
+ 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 = {'storageengine': 'StorageEngine', 'major': 'Major', 'minor': 'Minor', 'patch': 'Patch'}
+ _toPy = {'StorageEngine': 'storageengine', 'Patch': 'patch', '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 = {'storageengine': 'StorageEngine', 'major': 'Major', 'minor': 'Minor', 'patch': 'Patch'}
+ _toPy = {'StorageEngine': 'storageengine', 'Patch': 'patch', '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 = {'public_keys': 'public-keys', 'tag': 'tag'}
+ _toPy = {'tag': 'tag', 'public-keys': 'public_keys'}
+ 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 = {'series': 'series', 'url': 'url', 'created': 'created', 'kind': 'kind', 'arch': 'arch'}
+ _toPy = {'series': 'series', 'url': 'url', 'created': 'created', 'kind': 'kind', '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 = {'series': 'series', 'kind': 'kind', 'arch': 'arch'}
+ _toPy = {'series': 'series', 'kind': 'kind', '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 = {'series': 'series', 'priority': 'priority', 'source': 'source', 'root_storage_size': 'root_storage_size', 'arch': 'arch', 'image_id': 'image_id', 'root_storage_type': 'root_storage_type', 'virt_type': 'virt_type', 'version': 'version', 'region': 'region', 'stream': 'stream'}
+ _toPy = {'series': 'series', 'priority': 'priority', 'source': 'source', 'root_storage_size': 'root_storage_size', 'arch': 'arch', 'image_id': 'image_id', 'root_storage_type': 'root_storage_type', 'virt_type': 'virt_type', 'version': 'version', 'region': 'region', 'stream': 'stream'}
+ 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', 'root_storage_type': 'root-storage-type', 'arches': 'arches', 'virt_type': 'virt_type', 'region': 'region', 'stream': 'stream'}
+ _toPy = {'series': 'series', 'arches': 'arches', 'root-storage-type': 'root_storage_type', 'virt_type': 'virt_type', 'region': 'region', 'stream': 'stream'}
+ 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 = {'data': 'Data', 'tag': 'Tag', 'status': 'Status', 'info': 'Info'}
+ _toPy = {'Data': 'data', 'Status': 'status', 'Info': 'info', 'Tag': 'tag'}
+ 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 = {'Addresses': 'addresses', 'Error': 'error'}
+ 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) if error else None
+
+
+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 = {'status': 'Status', 'id_': 'Id', 'life': 'Life', 'data': 'Data', 'since': 'Since', 'error': 'Error', 'info': 'Info'}
+ _toPy = {'Since': 'since', 'Error': 'error', 'Data': 'data', 'Id': 'id_', 'Status': 'status', 'Life': 'life', '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) if error else None
+ 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 = {'entities': 'Entities', 'mode': 'Mode'}
+ _toPy = {'Mode': 'mode', 'Entities': 'entities'}
+ def __init__(self, entities=None, mode=None):
+ '''
+ entities : Entities
+ mode : bool
+ '''
+ self.entities = Entities.from_json(entities) if entities else None
+ self.mode = mode
+
+
+class ModifyUserSSHKeys(Type):
+ _toSchema = {'keys': 'Keys', 'user': 'User'}
+ _toPy = {'User': 'user', 'Keys': 'keys'}
+ def __init__(self, keys=None, user=None):
+ '''
+ keys : typing.Sequence[str]
+ user : str
+ '''
+ self.keys = keys
+ self.user = user
+
+
+class ApplicationTag(Type):
+ _toSchema = {'name': 'Name'}
+ _toPy = {'Name': 'name'}
+ def __init__(self, name=None):
+ '''
+ name : str
+ '''
+ self.name = name
+
+
+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 = {'applicationtag': 'ApplicationTag', 'durationseconds': 'DurationSeconds', 'unittag': 'UnitTag'}
+ _toPy = {'UnitTag': 'unittag', 'ApplicationTag': 'applicationtag', 'DurationSeconds': 'durationseconds'}
+ def __init__(self, applicationtag=None, durationseconds=None, unittag=None):
+ '''
+ applicationtag : str
+ durationseconds : float
+ unittag : str
+ '''
+ self.applicationtag = applicationtag
+ self.durationseconds = durationseconds
+ self.unittag = unittag
+
+
+class ActionExecutionResult(Type):
+ _toSchema = {'actiontag': 'actiontag', 'message': 'message', 'status': 'status', 'results': 'results'}
+ _toPy = {'actiontag': 'actiontag', 'message': 'message', 'status': 'status', 'results': 'results'}
+ 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 = {'Jobs': 'jobs', 'Error': 'error'}
+ def __init__(self, error=None, jobs=None):
+ '''
+ error : Error
+ jobs : typing.Sequence[str]
+ '''
+ self.error = Error.from_json(error) if error else None
+ 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 = {'providerspaceid': 'ProviderSpaceId', 'vlantag': 'VLANTag', 'configtype': 'ConfigType', 'mtu': 'MTU', 'provideraddressid': 'ProviderAddressId', 'gatewayaddress': 'GatewayAddress', 'providersubnetid': 'ProviderSubnetId', 'interfacetype': 'InterfaceType', 'providervlanid': 'ProviderVLANId', 'dnsservers': 'DNSServers', 'disabled': 'Disabled', 'providerid': 'ProviderId', 'parentinterfacename': 'ParentInterfaceName', 'cidr': 'CIDR', 'dnssearchdomains': 'DNSSearchDomains', 'deviceindex': 'DeviceIndex', 'noautostart': 'NoAutoStart', 'interfacename': 'InterfaceName', 'address': 'Address', 'macaddress': 'MACAddress'}
+ _toPy = {'ProviderSpaceId': 'providerspaceid', 'ProviderAddressId': 'provideraddressid', 'DeviceIndex': 'deviceindex', 'GatewayAddress': 'gatewayaddress', 'ConfigType': 'configtype', 'Disabled': 'disabled', 'ProviderSubnetId': 'providersubnetid', 'VLANTag': 'vlantag', 'NoAutoStart': 'noautostart', 'MTU': 'mtu', 'InterfaceType': 'interfacetype', 'InterfaceName': 'interfacename', 'Address': 'address', 'CIDR': 'cidr', 'DNSSearchDomains': 'dnssearchdomains', 'MACAddress': 'macaddress', 'DNSServers': 'dnsservers', 'ProviderId': 'providerid', 'ParentInterfaceName': 'parentinterfacename', '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 = {'tag': 'Tag', 'config': 'Config'}
+ _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 = {'code': 'Code', 'info': 'Info', 'error': 'Error'}
+ _toPy = {'Code': 'code', 'Info': 'info', 'Error': 'error'}
+ def __init__(self, code=None, error=None, info=None):
+ '''
+ code : str
+ error : Error
+ info : str
+ '''
+ self.code = code
+ self.error = Error.from_json(error) if error else None
+ 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 = {'value': 'Value', 'time': 'Time', 'key': 'Key'}
+ _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 MetricBatch(Type):
+ _toSchema = {'charmurl': 'CharmURL', 'metrics': 'Metrics', 'created': 'Created', 'uuid': 'UUID'}
+ _toPy = {'CharmURL': 'charmurl', 'Created': 'created', 'Metrics': 'metrics', 'UUID': 'uuid'}
+ 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 = {'tag': 'Tag', 'batch': 'Batch'}
+ _toPy = {'Batch': 'batch', 'Tag': 'tag'}
+ def __init__(self, batch=None, tag=None):
+ '''
+ batch : MetricBatch
+ tag : str
+ '''
+ self.batch = MetricBatch.from_json(batch) if batch else None
+ 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) if error else None
+ self.metrics = [MetricResult.from_json(o) for o in metrics or []]
+
+
+class MeterStatusParam(Type):
+ _toSchema = {'code': 'code', 'tag': 'tag', 'info': 'info'}
+ _toPy = {'code': 'code', 'tag': 'tag', 'info': 'info'}
+ 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 = {'value': 'value', 'time': 'time', 'key': 'key'}
+ _toPy = {'value': 'value', 'time': 'time', 'key': 'key'}
+ 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) if error else None
+ 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 = {'phase': 'phase', 'spec': 'spec', 'attempt': 'attempt'}
+ _toPy = {'phase': 'phase', 'spec': 'spec', 'attempt': 'attempt'}
+ 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) if spec else None
+
+
+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 = {'phase': 'phase', 'source_api_addrs': 'source-api-addrs', 'source_ca_cert': 'source-ca-cert', 'target_api_addrs': 'target-api-addrs', 'target_ca_cert': 'target-ca-cert', 'attempt': 'attempt'}
+ _toPy = {'phase': 'phase', 'source-api-addrs': 'source_api_addrs', 'attempt': 'attempt', 'target-api-addrs': 'target_api_addrs', 'source-ca-cert': 'source_ca_cert', 'target-ca-cert': 'target_ca_cert'}
+ 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 = {'account': 'Account', 'ownertag': 'OwnerTag', 'config': 'Config'}
+ _toPy = {'Config': 'config', 'OwnerTag': 'ownertag', '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 = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : ModelInfo
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = ModelInfo.from_json(result) if result else None
+
+
+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 = {'action': 'action', 'model_tag': 'model-tag', 'user_tag': 'user-tag', 'access': 'access'}
+ _toPy = {'action': 'action', 'user-tag': 'user_tag', 'access': 'access', 'model-tag': 'model_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) if constraints else None
+ self.error = Error.from_json(error) if error else None
+
+
+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 = {'sslhostnameverification': 'SSLHostnameVerification', 'aptproxy': 'AptProxy', 'providertype': 'ProviderType', 'proxy': 'Proxy', 'updatebehavior': 'UpdateBehavior', 'authorizedkeys': 'AuthorizedKeys', 'aptmirror': 'AptMirror', 'allowlxcloopmounts': 'AllowLXCLoopMounts'}
+ _toPy = {'AuthorizedKeys': 'authorizedkeys', 'Proxy': 'proxy', 'UpdateBehavior': 'updatebehavior', 'SSLHostnameVerification': 'sslhostnameverification', 'AptMirror': 'aptmirror', 'AllowLXCLoopMounts': 'allowlxcloopmounts', 'ProviderType': 'providertype', 'AptProxy': 'aptproxy'}
+ def __init__(self, allowlxcloopmounts=None, aptmirror=None, aptproxy=None, authorizedkeys=None, providertype=None, proxy=None, sslhostnameverification=None, updatebehavior=None):
+ '''
+ allowlxcloopmounts : bool
+ aptmirror : str
+ aptproxy : Settings
+ authorizedkeys : str
+ providertype : str
+ proxy : Settings
+ sslhostnameverification : bool
+ updatebehavior : UpdateBehavior
+ '''
+ self.allowlxcloopmounts = allowlxcloopmounts
+ self.aptmirror = aptmirror
+ self.aptproxy = Settings.from_json(aptproxy) if aptproxy else None
+ self.authorizedkeys = authorizedkeys
+ self.providertype = providertype
+ self.proxy = Settings.from_json(proxy) if proxy else None
+ self.sslhostnameverification = sslhostnameverification
+ self.updatebehavior = UpdateBehavior.from_json(updatebehavior) if updatebehavior else None
+
+
+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 = {'result': 'Result', 'error': 'Error'}
+ _toPy = {'Result': 'result', 'Error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : typing.Sequence[str]
+ '''
+ self.error = Error.from_json(error) if error else None
+ 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 = {'instanceid': 'InstanceId', 'tag': 'Tag', 'networkconfig': 'NetworkConfig', 'volumes': 'Volumes', 'nonce': 'Nonce', 'characteristics': 'Characteristics', 'volumeattachments': 'VolumeAttachments'}
+ _toPy = {'InstanceId': 'instanceid', 'Characteristics': 'characteristics', 'Nonce': 'nonce', 'VolumeAttachments': 'volumeattachments', 'NetworkConfig': 'networkconfig', 'Tag': 'tag', 'Volumes': 'volumes'}
+ 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) if characteristics else None
+ 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 = {'machinetag': 'MachineTag', 'containertypes': 'ContainerTypes'}
+ _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 = {'Info': 'info', 'Error': 'error'}
+ def __init__(self, error=None, info=None):
+ '''
+ error : Error
+ info : typing.Sequence[~NetworkConfig]
+ '''
+ self.error = Error.from_json(error) if error else None
+ 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', 'volumes': 'Volumes', 'endpointbindings': 'EndpointBindings', 'constraints': 'Constraints', 'tags': 'Tags', 'placement': 'Placement', 'imagemetadata': 'ImageMetadata', 'series': 'Series', 'subnetstozones': 'SubnetsToZones'}
+ _toPy = {'Volumes': 'volumes', 'Tags': 'tags', 'Placement': 'placement', 'EndpointBindings': 'endpointbindings', 'ImageMetadata': 'imagemetadata', 'Series': 'series', 'SubnetsToZones': 'subnetstozones', 'Constraints': 'constraints', 'Jobs': 'jobs'}
+ 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) if constraints else None
+ 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 = {'result': 'Result', 'error': 'Error'}
+ _toPy = {'Result': 'result', 'Error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : ProvisioningInfo
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = ProvisioningInfo.from_json(result) if result else None
+
+
+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 = {'noproxy': 'NoProxy', 'https': 'Https', 'ftp': 'Ftp', 'http': 'Http'}
+ _toPy = {'Https': 'https', 'NoProxy': 'noproxy', 'Http': 'http', 'Ftp': 'ftp'}
+ 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 = {'disablesslhostnameverification': 'DisableSSLHostnameVerification', 'toolslist': 'ToolsList', 'error': 'Error'}
+ _toPy = {'ToolsList': 'toolslist', 'DisableSSLHostnameVerification': 'disablesslhostnameverification', '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) if error else None
+ 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 = {'volumetag': 'volumetag', 'info': 'info'}
+ _toPy = {'volumetag': 'volumetag', 'info': 'info'}
+ def __init__(self, info=None, volumetag=None):
+ '''
+ info : VolumeInfo
+ volumetag : str
+ '''
+ self.info = VolumeInfo.from_json(info) if info else None
+ self.volumetag = volumetag
+
+
+class VolumeAttachmentInfo(Type):
+ _toSchema = {'read_only': 'read-only', 'devicename': 'devicename', 'devicelink': 'devicelink', 'busaddress': 'busaddress'}
+ _toPy = {'devicename': 'devicename', 'devicelink': 'devicelink', 'busaddress': 'busaddress', '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 = {'instanceid': 'instanceid', 'read_only': 'read-only', 'volumeid': 'volumeid', 'machinetag': 'machinetag', 'provider': 'provider', 'volumetag': 'volumetag'}
+ _toPy = {'read-only': 'read_only', 'instanceid': 'instanceid', 'volumeid': 'volumeid', 'machinetag': 'machinetag', 'provider': 'provider', 'volumetag': 'volumetag'}
+ 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 = {'volumeid': 'volumeid', 'persistent': 'persistent', 'size': 'size', 'hardwareid': 'hardwareid'}
+ _toPy = {'volumeid': 'volumeid', 'persistent': 'persistent', 'size': 'size', 'hardwareid': 'hardwareid'}
+ 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 = {'size': 'size', 'attributes': 'attributes', 'volumetag': 'volumetag', 'tags': 'tags', 'attachment': 'attachment', 'provider': 'provider'}
+ _toPy = {'size': 'size', 'attributes': 'attributes', 'volumetag': 'volumetag', 'tags': 'tags', 'attachment': 'attachment', 'provider': 'provider'}
+ 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) if attachment else None
+ self.attributes = attributes
+ self.provider = provider
+ self.size = size
+ self.tags = tags
+ self.volumetag = volumetag
+
+
+class WatchContainer(Type):
+ _toSchema = {'machinetag': 'MachineTag', 'containertype': 'ContainerType'}
+ _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 = {'noproxy': 'NoProxy', 'https': 'HTTPS', 'ftp': 'FTP', 'http': 'HTTP'}
+ _toPy = {'NoProxy': 'noproxy', 'HTTP': 'http', 'HTTPS': 'https', 'FTP': 'ftp'}
+ 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', 'aptproxysettings': 'APTProxySettings', 'error': 'Error'}
+ _toPy = {'APTProxySettings': 'aptproxysettings', 'ProxySettings': 'proxysettings', 'Error': 'error'}
+ def __init__(self, aptproxysettings=None, error=None, proxysettings=None):
+ '''
+ aptproxysettings : ProxyConfig
+ error : Error
+ proxysettings : ProxyConfig
+ '''
+ self.aptproxysettings = ProxyConfig.from_json(aptproxysettings) if aptproxysettings else None
+ self.error = Error.from_json(error) if error else None
+ self.proxysettings = ProxyConfig.from_json(proxysettings) if proxysettings else None
+
+
+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 = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : str
+ '''
+ self.error = Error.from_json(error) if error else None
+ 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 = {'Departed': 'departed', 'Changed': 'changed'}
+ 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 = {'Changes': 'changes', 'RelationUnitsWatcherId': 'relationunitswatcherid', 'Error': 'error'}
+ def __init__(self, changes=None, error=None, relationunitswatcherid=None):
+ '''
+ changes : RelationUnitsChange
+ error : Error
+ relationunitswatcherid : str
+ '''
+ self.changes = RelationUnitsChange.from_json(changes) if changes else None
+ self.error = Error.from_json(error) if error else None
+ 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 = {'shouldretry': 'ShouldRetry', 'jitterretrytime': 'JitterRetryTime', 'minretrytime': 'MinRetryTime', 'retrytimefactor': 'RetryTimeFactor', 'maxretrytime': 'MaxRetryTime'}
+ _toPy = {'RetryTimeFactor': 'retrytimefactor', 'MaxRetryTime': 'maxretrytime', 'ShouldRetry': 'shouldretry', 'MinRetryTime': 'minretrytime', 'JitterRetryTime': 'jitterretrytime'}
+ 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 = {'result': 'Result', 'error': 'Error'}
+ _toPy = {'Result': 'result', 'Error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : RetryStrategy
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = RetryStrategy.from_json(result) if result else None
+
+
+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 = {'address': 'address', 'error': 'error'}
+ _toPy = {'address': 'address', 'error': 'error'}
+ def __init__(self, address=None, error=None):
+ '''
+ address : str
+ error : Error
+ '''
+ self.address = address
+ self.error = Error.from_json(error) if error else None
+
+
+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 = {'public_keys': 'public-keys', 'error': 'error'}
+ _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) if error else None
+ 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 SingularClaim(Type):
+ _toSchema = {'controllertag': 'ControllerTag', 'duration': 'Duration', 'modeltag': 'ModelTag'}
+ _toPy = {'Duration': 'duration', 'ModelTag': 'modeltag', 'ControllerTag': 'controllertag'}
+ 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', 'subnets': 'Subnets', 'error': 'Error'}
+ _toPy = {'Subnets': 'subnets', 'Name': 'name', '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) if error else None
+ self.name = name
+ self.subnets = [Subnet.from_json(o) for o in subnets or []]
+
+
+class StatusHistoryPruneArgs(Type):
+ _toSchema = {'maxhistorytime': 'MaxHistoryTime', 'maxhistorymb': 'MaxHistoryMB'}
+ _toPy = {'MaxHistoryTime': 'maxhistorytime', 'MaxHistoryMB': 'maxhistorymb'}
+ def __init__(self, maxhistorymb=None, maxhistorytime=None):
+ '''
+ maxhistorymb : int
+ maxhistorytime : int
+ '''
+ self.maxhistorymb = maxhistorymb
+ self.maxhistorytime = maxhistorytime
+
+
+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 = {'volumetag': 'volumetag', 'machineattachments': 'machineattachments', 'status': 'status', 'storage': 'storage', 'filesystemtag': 'filesystemtag', 'info': 'info'}
+ _toPy = {'volumetag': 'volumetag', 'machineattachments': 'machineattachments', 'status': 'status', 'storage': 'storage', 'filesystemtag': 'filesystemtag', 'info': 'info'}
+ 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) if info else None
+ self.machineattachments = {k: FilesystemAttachmentInfo.from_json(v) for k, v in (machineattachments or dict()).items()}
+ self.status = EntityStatus.from_json(status) if status else None
+ self.storage = StorageDetails.from_json(storage) if storage else None
+ self.volumetag = volumetag
+
+
+class FilesystemDetailsListResult(Type):
+ _toSchema = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : typing.Sequence[~FilesystemDetails]
+ '''
+ self.error = Error.from_json(error) if error else None
+ 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 = {'filesystemid': 'filesystemid', 'size': 'size'}
+ _toPy = {'filesystemid': 'filesystemid', 'size': 'size'}
+ def __init__(self, filesystemid=None, size=None):
+ '''
+ filesystemid : str
+ size : int
+ '''
+ self.filesystemid = filesystemid
+ self.size = size
+
+
+class StorageAddParams(Type):
+ _toSchema = {'storage': 'storage', 'unit': 'unit', 'storagename': 'StorageName'}
+ _toPy = {'storage': 'storage', 'unit': 'unit', 'StorageName': 'storagename'}
+ def __init__(self, storagename=None, storage=None, unit=None):
+ '''
+ storagename : str
+ storage : StorageConstraints
+ unit : str
+ '''
+ self.storagename = storagename
+ self.storage = StorageConstraints.from_json(storage) if storage else None
+ self.unit = unit
+
+
+class StorageAttachmentDetails(Type):
+ _toSchema = {'machinetag': 'machinetag', 'storagetag': 'storagetag', 'location': 'location', 'unittag': 'unittag'}
+ _toPy = {'machinetag': 'machinetag', 'storagetag': 'storagetag', '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 = {'size': 'Size', 'pool': 'Pool', 'count': 'Count'}
+ _toPy = {'Size': 'size', 'Count': 'count', 'Pool': 'pool'}
+ 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 = {'attachments': 'attachments', 'ownertag': 'ownertag', 'kind': 'kind', 'status': 'status', 'persistent': 'Persistent', 'storagetag': 'storagetag'}
+ _toPy = {'attachments': 'attachments', 'ownertag': 'ownertag', 'kind': 'kind', 'status': 'status', 'storagetag': 'storagetag', 'Persistent': 'persistent'}
+ 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) if status else None
+ self.storagetag = storagetag
+
+
+class StorageDetailsListResult(Type):
+ _toSchema = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : typing.Sequence[~StorageDetails]
+ '''
+ self.error = Error.from_json(error) if error else None
+ 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 = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : StorageDetails
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = StorageDetails.from_json(result) if result else None
+
+
+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 = {'name': 'name', 'provider': 'provider', 'attrs': 'attrs'}
+ _toPy = {'name': 'name', 'provider': 'provider', 'attrs': 'attrs'}
+ 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 = {'providers': 'providers', 'names': 'names'}
+ _toPy = {'providers': 'providers', 'names': 'names'}
+ 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) if error else None
+ 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 = {'storage': 'storage', 'volumetag': 'volumetag', 'machineattachments': 'machineattachments', 'status': 'status', 'info': 'info'}
+ _toPy = {'storage': 'storage', 'volumetag': 'volumetag', 'machineattachments': 'machineattachments', 'status': 'status', 'info': 'info'}
+ 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) if info else None
+ self.machineattachments = {k: VolumeAttachmentInfo.from_json(v) for k, v in (machineattachments or dict()).items()}
+ self.status = EntityStatus.from_json(status) if status else None
+ self.storage = StorageDetails.from_json(storage) if storage else None
+ self.volumetag = volumetag
+
+
+class VolumeDetailsListResult(Type):
+ _toSchema = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : typing.Sequence[~VolumeDetails]
+ '''
+ self.error = Error.from_json(error) if error else None
+ 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 = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : BlockDevice
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = BlockDevice.from_json(result) if result else None
+
+
+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 = {'volumetag': 'volumetag', 'info': 'info', 'filesystemtag': 'filesystemtag'}
+ _toPy = {'volumetag': 'volumetag', 'info': 'info', '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) if info else None
+ self.volumetag = volumetag
+
+
+class FilesystemAttachment(Type):
+ _toSchema = {'machinetag': 'machinetag', 'info': 'info', 'filesystemtag': 'filesystemtag'}
+ _toPy = {'machinetag': 'machinetag', 'info': 'info', 'filesystemtag': 'filesystemtag'}
+ def __init__(self, filesystemtag=None, info=None, machinetag=None):
+ '''
+ filesystemtag : str
+ info : FilesystemAttachmentInfo
+ machinetag : str
+ '''
+ self.filesystemtag = filesystemtag
+ self.info = FilesystemAttachmentInfo.from_json(info) if info else None
+ self.machinetag = machinetag
+
+
+class FilesystemAttachmentParams(Type):
+ _toSchema = {'instanceid': 'instanceid', 'filesystemid': 'filesystemid', 'read_only': 'read-only', 'machinetag': 'machinetag', 'provider': 'provider', 'mountpoint': 'mountpoint', 'filesystemtag': 'filesystemtag'}
+ _toPy = {'instanceid': 'instanceid', 'filesystemid': 'filesystemid', 'read-only': 'read_only', 'machinetag': 'machinetag', 'provider': 'provider', 'mountpoint': 'mountpoint', 'filesystemtag': 'filesystemtag'}
+ 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 = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : FilesystemAttachmentParams
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = FilesystemAttachmentParams.from_json(result) if result else None
+
+
+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 = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : FilesystemAttachment
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = FilesystemAttachment.from_json(result) if result else None
+
+
+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 = {'size': 'size', 'attributes': 'attributes', 'volumetag': 'volumetag', 'tags': 'tags', 'attachment': 'attachment', 'provider': 'provider', 'filesystemtag': 'filesystemtag'}
+ _toPy = {'size': 'size', 'attributes': 'attributes', 'volumetag': 'volumetag', 'tags': 'tags', 'attachment': 'attachment', 'provider': 'provider', 'filesystemtag': 'filesystemtag'}
+ 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) if attachment else None
+ self.attributes = attributes
+ self.filesystemtag = filesystemtag
+ self.provider = provider
+ self.size = size
+ self.tags = tags
+ self.volumetag = volumetag
+
+
+class FilesystemParamsResult(Type):
+ _toSchema = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : FilesystemParams
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = FilesystemParams.from_json(result) if result else None
+
+
+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 = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : Filesystem
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = Filesystem.from_json(result) if result else None
+
+
+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 = {'volumetag': 'volumetag', 'machinetag': 'machinetag', 'info': 'info'}
+ _toPy = {'volumetag': 'volumetag', 'machinetag': 'machinetag', 'info': 'info'}
+ def __init__(self, info=None, machinetag=None, volumetag=None):
+ '''
+ info : VolumeAttachmentInfo
+ machinetag : str
+ volumetag : str
+ '''
+ self.info = VolumeAttachmentInfo.from_json(info) if info else None
+ self.machinetag = machinetag
+ self.volumetag = volumetag
+
+
+class VolumeAttachmentParamsResult(Type):
+ _toSchema = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : VolumeAttachmentParams
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = VolumeAttachmentParams.from_json(result) if result else None
+
+
+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 = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : VolumeAttachment
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = VolumeAttachment.from_json(result) if result else None
+
+
+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 = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : VolumeParams
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = VolumeParams.from_json(result) if result else None
+
+
+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 = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : Volume
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = Volume.from_json(result) if result else None
+
+
+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 = {'Tag': 'tag', 'Error': 'error'}
+ def __init__(self, error=None, tag=None):
+ '''
+ error : Error
+ tag : str
+ '''
+ self.error = Error.from_json(error) if error else None
+ 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 = {'name': 'Name', 'error': 'Error', 'available': 'Available'}
+ _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) if error else None
+ 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 = {'life': 'Life', 'name': 'Name', 'globalname': 'GlobalName', 'uuid': 'UUID', 'issystem': 'IsSystem'}
+ _toPy = {'GlobalName': 'globalname', 'Name': 'name', 'UUID': 'uuid', 'Life': 'life', 'IsSystem': 'issystem'}
+ 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 = {'result': 'Result', 'error': 'Error'}
+ _toPy = {'Result': 'result', 'Error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : UndertakerModelInfo
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = UndertakerModelInfo.from_json(result) if result else None
+
+
+class ApplicationStatusResult(Type):
+ _toSchema = {'units': 'Units', 'application': 'Application', 'error': 'Error'}
+ _toPy = {'Application': 'application', 'Units': 'units', 'Error': 'error'}
+ def __init__(self, application=None, error=None, units=None):
+ '''
+ application : StatusResult
+ error : Error
+ units : typing.Mapping[str, ~StatusResult]
+ '''
+ self.application = StatusResult.from_json(application) if application else None
+ self.error = Error.from_json(error) if error else None
+ self.units = {k: StatusResult.from_json(v) for k, v in (units or dict()).items()}
+
+
+class ApplicationStatusResults(Type):
+ _toSchema = {'results': 'Results'}
+ _toPy = {'Results': 'results'}
+ def __init__(self, results=None):
+ '''
+ results : typing.Sequence[~ApplicationStatusResult]
+ '''
+ self.results = [ApplicationStatusResult.from_json(o) for o in results or []]
+
+
+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 = {'Settings': 'settings', 'Error': 'error'}
+ def __init__(self, error=None, settings=None):
+ '''
+ error : Error
+ settings : typing.Mapping[str, typing.Any]
+ '''
+ self.error = Error.from_json(error) if error else None
+ 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', 'applicationname': 'ApplicationName'}
+ _toPy = {'Relation': 'relation', 'ApplicationName': 'applicationname'}
+ def __init__(self, applicationname=None, relation=None):
+ '''
+ applicationname : str
+ relation : Relation
+ '''
+ self.applicationname = applicationname
+ self.relation = Relation.from_json(relation) if relation else None
+
+
+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 = {'charmurl': 'CharmURL', 'tag': 'Tag'}
+ _toPy = {'CharmURL': 'charmurl', 'Tag': 'tag'}
+ def __init__(self, charmurl=None, tag=None):
+ '''
+ charmurl : str
+ tag : str
+ '''
+ self.charmurl = charmurl
+ self.tag = tag
+
+
+class EntityPortRange(Type):
+ _toSchema = {'tag': 'Tag', 'toport': 'ToPort', 'protocol': 'Protocol', 'fromport': 'FromPort'}
+ _toPy = {'ToPort': 'toport', 'Protocol': 'protocol', 'Tag': 'tag', 'FromPort': 'fromport'}
+ 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 = {'Settings': 'settings', 'Error': 'error'}
+ def __init__(self, error=None, settings=None):
+ '''
+ error : Error
+ settings : typing.Mapping[str, str]
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.settings = settings
+
+
+class IntResult(Type):
+ _toSchema = {'result': 'Result', 'error': 'Error'}
+ _toPy = {'Result': 'result', 'Error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : int
+ '''
+ self.error = Error.from_json(error) if error else None
+ 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 = {'applicationtag': 'ApplicationTag', 'settings': 'Settings'}
+ _toPy = {'Settings': 'settings', 'ApplicationTag': 'applicationtag'}
+ def __init__(self, applicationtag=None, settings=None):
+ '''
+ applicationtag : str
+ settings : typing.Mapping[str, str]
+ '''
+ self.applicationtag = applicationtag
+ self.settings = settings
+
+
+class ModelResult(Type):
+ _toSchema = {'name': 'Name', 'uuid': 'UUID', '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) if error else None
+ 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', 'key': 'Key', 'endpoint': 'Endpoint', 'id_': 'Id', 'error': 'Error'}
+ _toPy = {'Key': 'key', 'Id': 'id_', 'Life': 'life', 'Endpoint': 'endpoint', 'Error': 'error'}
+ 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) if endpoint else None
+ self.error = Error.from_json(error) if error else None
+ 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 = {'Unit': 'unit', 'Relation': 'relation'}
+ 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 = {'LocalUnit': 'localunit', 'Relation': 'relation', '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 = {'settings': 'Settings', 'relation': 'Relation', 'unit': 'Unit'}
+ _toPy = {'Settings': 'settings', 'Unit': 'unit', 'Relation': 'relation'}
+ 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 = {'Mode': 'mode', 'Error': 'error'}
+ def __init__(self, error=None, mode=None):
+ '''
+ error : Error
+ mode : str
+ '''
+ self.error = Error.from_json(error) if error else None
+ 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 SettingsResult(Type):
+ _toSchema = {'settings': 'Settings', 'error': 'Error'}
+ _toPy = {'Settings': 'settings', 'Error': 'error'}
+ def __init__(self, error=None, settings=None):
+ '''
+ error : Error
+ settings : typing.Mapping[str, str]
+ '''
+ self.error = Error.from_json(error) if error else None
+ 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 = {'storagetag': 'StorageTag', 'kind': 'Kind', 'location': 'Location', 'life': 'Life', 'ownertag': 'OwnerTag', 'unittag': 'UnitTag'}
+ _toPy = {'UnitTag': 'unittag', 'StorageTag': 'storagetag', 'Kind': 'kind', 'OwnerTag': 'ownertag', 'Life': 'life', 'Location': 'location'}
+ 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 = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : StorageAttachmentIds
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = StorageAttachmentIds.from_json(result) if result else None
+
+
+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 = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : StorageAttachment
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = StorageAttachment.from_json(result) if result else None
+
+
+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 = {'result': 'Result', 'ok': 'Ok', 'error': 'Error'}
+ _toPy = {'Ok': 'ok', 'Result': 'result', 'Error': 'error'}
+ def __init__(self, error=None, ok=None, result=None):
+ '''
+ error : Error
+ ok : bool
+ result : str
+ '''
+ self.error = Error.from_json(error) if error else None
+ 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 = {'bindingname': 'BindingName', 'unittag': 'UnitTag'}
+ _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 = {'Info': 'info', 'Error': 'error'}
+ def __init__(self, error=None, info=None):
+ '''
+ error : Error
+ info : typing.Sequence[~NetworkConfig]
+ '''
+ self.error = Error.from_json(error) if error else None
+ 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 = {'tag': 'Tag', 'tools': 'Tools'}
+ _toPy = {'Tag': 'tag', 'Tools': 'tools'}
+ def __init__(self, tag=None, tools=None):
+ '''
+ tag : str
+ tools : Version
+ '''
+ self.tag = tag
+ self.tools = Version.from_json(tools) if tools else None
+
+
+class VersionResult(Type):
+ _toSchema = {'version': 'Version', 'error': 'Error'}
+ _toPy = {'Version': 'version', 'Error': 'error'}
+ def __init__(self, error=None, version=None):
+ '''
+ error : Error
+ version : Number
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.version = Number.from_json(version) if version else None
+
+
+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 = {'password': 'password', 'shared_model_tags': 'shared-model-tags', 'model_access_permission': 'model-access-permission', 'username': 'username', 'display_name': 'display-name'}
+ _toPy = {'password': 'password', 'display-name': 'display_name', 'shared-model-tags': 'shared_model_tags', 'username': 'username', 'model-access-permission': 'model_access_permission'}
+ 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 = {'tag': 'tag', 'secret_key': 'secret-key', 'error': 'error'}
+ _toPy = {'secret-key': 'secret_key', 'tag': 'tag', 'error': 'error'}
+ 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) if error else None
+ 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 = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : Macaroon
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = Macaroon.from_json(result) if result else None
+
+
+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 = {'username': 'username', 'disabled': 'disabled', 'date_created': 'date-created', 'created_by': 'created-by', 'last_connection': 'last-connection', 'display_name': 'display-name'}
+ _toPy = {'username': 'username', 'display-name': 'display_name', 'disabled': 'disabled', 'last-connection': 'last_connection', 'date-created': 'date_created', 'created-by': 'created_by'}
+ 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 = {'entities': 'entities', 'include-disabled': 'include_disabled'}
+ 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 = {'result': 'result', 'error': 'error'}
+ _toPy = {'result': 'result', 'error': 'error'}
+ def __init__(self, error=None, result=None):
+ '''
+ error : Error
+ result : UserInfo
+ '''
+ self.error = Error.from_json(error) if error else None
+ self.result = UserInfo.from_json(result) if result else None
+
+
+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 = 2
+ schema = {'definitions': {'Action': {'additionalProperties': False,
+ 'properties': {'name': {'type': 'string'},
+ 'parameters': {'patternProperties': {'.*': {'additionalProperties': True,
+ 'type': 'object'}},
+ 'type': 'object'},
+ 'receiver': {'type': 'string'},
+ 'tag': {'type': 'string'}},
+ 'required': ['tag', 'receiver', 'name'],
+ 'type': 'object'},
+ 'ActionResult': {'additionalProperties': False,
+ 'properties': {'action': {'$ref': '#/definitions/Action'},
+ 'completed': {'format': 'date-time',
+ 'type': 'string'},
+ 'enqueued': {'format': 'date-time',
+ 'type': 'string'},
+ 'error': {'$ref': '#/definitions/Error'},
+ 'message': {'type': 'string'},
+ 'output': {'patternProperties': {'.*': {'additionalProperties': True,
+ 'type': 'object'}},
+ 'type': 'object'},
+ 'started': {'format': 'date-time',
+ 'type': 'string'},
+ 'status': {'type': 'string'}},
+ 'type': 'object'},
+ 'ActionResults': {'additionalProperties': False,
+ 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'},
+ 'type': 'array'}},
+ 'type': 'object'},
+ 'ActionSpec': {'additionalProperties': False,
+ 'properties': {'Description': {'type': 'string'},
+ 'Params': {'patternProperties': {'.*': {'additionalProperties': True,
+ 'type': 'object'}},
+ 'type': 'object'}},
+ 'required': ['Description', 'Params'],
+ 'type': 'object'},
+ 'Actions': {'additionalProperties': False,
+ 'properties': {'ActionSpecs': {'patternProperties': {'.*': {'$ref': '#/definitions/ActionSpec'}},
+ 'type': 'object'}},
+ 'required': ['ActionSpecs'],
+ 'type': 'object'},
+ 'ActionsByName': {'additionalProperties': False,
+ 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'},
+ 'type': 'array'},
+ 'error': {'$ref': '#/definitions/Error'},
+ 'name': {'type': 'string'}},
+ 'type': 'object'},
+ 'ActionsByNames': {'additionalProperties': False,
+ 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByName'},
+ 'type': 'array'}},
+ 'type': 'object'},
+ 'ActionsByReceiver': {'additionalProperties': False,
+ 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'},
+ 'type': 'array'},
+ 'error': {'$ref': '#/definitions/Error'},
+ 'receiver': {'type': 'string'}},
+ 'type': 'object'},
+ 'ActionsByReceivers': {'additionalProperties': False,
+ 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByReceiver'},
+ 'type': 'array'}},
+ 'type': 'object'},
+ 'ApplicationCharmActionsResult': {'additionalProperties': False,
+ 'properties': {'ApplicationTag': {'type': 'string'},
+ 'actions': {'$ref': '#/definitions/Actions'},
+ 'error': {'$ref': '#/definitions/Error'}},
+ 'type': 'object'},
+ 'ApplicationsCharmActionsResults': {'additionalProperties': False,
+ 'properties': {'results': {'items': {'$ref': '#/definitions/ApplicationCharmActionsResult'},
+ 'type': 'array'}},
+ 'type': 'object'},
+ 'Entities': {'additionalProperties': False,
+ 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
+ 'type': 'array'}},
+ 'required': ['Entities'],
+ 'type': 'object'},
+ 'Entity': {'additionalProperties': False,
+ 'properties': {'Tag': {'type': 'string'}},
+ 'required': ['Tag'],
+ 'type': 'object'},
+ 'Error': {'additionalProperties': False,
+ 'properties': {'Code': {'type': 'string'},
+ 'Info': {'$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': {'Applications': {'items': {'type': 'string'},
+ 'type': 'array'},
+ 'Commands': {'type': 'string'},
+ 'Machines': {'items': {'type': 'string'},
+ 'type': 'array'},
+ 'Timeout': {'type': 'integer'},
+ 'Units': {'items': {'type': 'string'},
+ 'type': 'array'}},
+ 'required': ['Commands',
+ 'Timeout',
+ 'Machines',
+ 'Applications',
+ 'Units'],
+ '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'},
+ 'ApplicationsCharmsActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
+ 'Result': {'$ref': '#/definitions/ApplicationsCharmActionsResults'}},
+ 'type': 'object'},
+ 'Cancel': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
+ 'Result': {'$ref': '#/definitions/ActionResults'}},
+ 'type': 'object'},
+ 'Enqueue': {'properties': {'Params': {'$ref': '#/definitions/Actions'},
+ 'Result': {'$ref': '#/definitions/ActionResults'}},
+ 'type': 'object'},
+ 'FindActionTagsByPrefix': {'properties': {'Params': {'$ref': '#/definitions/FindTags'},
+ 'Result': {'$ref': '#/definitions/FindTagsResults'}},
+ 'type': 'object'},
+ 'FindActionsByNames': {'properties': {'Params': {'$ref': '#/definitions/FindActionsByNames'},
+ 'Result': {'$ref': '#/definitions/ActionsByNames'}},
+ 'type': 'object'},
+ 'ListAll': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
+ 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
+ 'type': 'object'},
+ 'ListCompleted': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
+ 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
+ 'type': 'object'},
+ 'ListPending': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
+ 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
+ 'type': 'object'},
+ 'ListRunning': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
+ 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
+ 'type': 'object'},
+ 'Run': {'properties': {'Params': {'$ref': '#/definitions/RunParams'},
+ 'Result': {'$ref': '#/definitions/ActionResults'}},
+ 'type': 'object'},
+ 'RunOnAllMachines': {'properties': {'Params': {'$ref': '#/definitions/RunParams'},
+ 'Result': {'$ref': '#/definitions/ActionResults'}},
+ 'type': 'object'}},
+ 'type': 'object'}
+
+
+ @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=2, Params=params)
+ params['Entities'] = entities
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(ApplicationsCharmActionsResults)
+ async def ApplicationsCharmsActions(self, entities):
+ '''
+ entities : typing.Sequence[~Entity]
+ Returns -> typing.Sequence[~ApplicationCharmActionsResult]
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Action', Request='ApplicationsCharmsActions', Version=2, Params=params)
+ 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=2, Params=params)
+ params['Entities'] = entities
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(ActionResults)
+ async def Enqueue(self, actionspecs):
+ '''
+ actionspecs : typing.Mapping[str, ~ActionSpec]
+ Returns -> typing.Sequence[~ActionResult]
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Action', Request='Enqueue', Version=2, Params=params)
+ params['ActionSpecs'] = actionspecs
+ 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=2, 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=2, 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=2, 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=2, 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=2, 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=2, Params=params)
+ params['Entities'] = entities
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(ActionResults)
+ async def Run(self, applications, commands, machines, timeout, units):
+ '''
+ applications : typing.Sequence[str]
+ commands : str
+ machines : 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=2, Params=params)
+ params['Applications'] = applications
+ params['Commands'] = commands
+ params['Machines'] = machines
+ params['Timeout'] = timeout
+ params['Units'] = units
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(ActionResults)
+ async def RunOnAllMachines(self, applications, commands, machines, timeout, units):
+ '''
+ applications : typing.Sequence[str]
+ commands : str
+ machines : 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=2, Params=params)
+ params['Applications'] = applications
+ params['Commands'] = commands
+ params['Machines'] = machines
+ params['Timeout'] = timeout
+ params['Units'] = units
+ 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 Application(Type):
+ name = 'Application'
+ version = 1
+ schema = {'definitions': {'AddApplicationUnits': {'additionalProperties': False,
+ 'properties': {'ApplicationName': {'type': 'string'},
+ 'NumUnits': {'type': 'integer'},
+ 'Placement': {'items': {'$ref': '#/definitions/Placement'},
+ 'type': 'array'}},
+ 'required': ['ApplicationName',
+ 'NumUnits',
+ 'Placement'],
+ 'type': 'object'},
+ 'AddApplicationUnitsResults': {'additionalProperties': False,
+ 'properties': {'Units': {'items': {'type': 'string'},
+ 'type': 'array'}},
+ 'required': ['Units'],
+ 'type': 'object'},
+ 'AddRelation': {'additionalProperties': False,
+ 'properties': {'Endpoints': {'items': {'type': 'string'},
+ 'type': 'array'}},
+ 'required': ['Endpoints'],
+ 'type': 'object'},
+ 'AddRelationResults': {'additionalProperties': False,
+ 'properties': {'Endpoints': {'patternProperties': {'.*': {'$ref': '#/definitions/Relation'}},
+ 'type': 'object'}},
+ 'required': ['Endpoints'],
+ 'type': 'object'},
+ 'ApplicationCharmRelations': {'additionalProperties': False,
+ 'properties': {'ApplicationName': {'type': 'string'}},
+ 'required': ['ApplicationName'],
+ 'type': 'object'},
+ 'ApplicationCharmRelationsResults': {'additionalProperties': False,
+ 'properties': {'CharmRelations': {'items': {'type': 'string'},
+ 'type': 'array'}},
+ 'required': ['CharmRelations'],
+ 'type': 'object'},
+ 'ApplicationDeploy': {'additionalProperties': False,
+ 'properties': {'ApplicationName': {'type': 'string'},
+ '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'},
+ 'Storage': {'patternProperties': {'.*': {'$ref': '#/definitions/Constraints'}},
+ 'type': 'object'}},
+ 'required': ['ApplicationName',
+ 'Series',
+ 'CharmUrl',
+ 'Channel',
+ 'NumUnits',
+ 'Config',
+ 'ConfigYAML',
+ 'Constraints',
+ 'Placement',
+ 'Storage',
+ 'EndpointBindings',
+ 'Resources'],
+ 'type': 'object'},
+ 'ApplicationDestroy': {'additionalProperties': False,
+ 'properties': {'ApplicationName': {'type': 'string'}},
+ 'required': ['ApplicationName'],
+ 'type': 'object'},
+ 'ApplicationExpose': {'additionalProperties': False,
+ 'properties': {'ApplicationName': {'type': 'string'}},
+ 'required': ['ApplicationName'],
+ 'type': 'object'},
+ 'ApplicationGet': {'additionalProperties': False,
+ 'properties': {'ApplicationName': {'type': 'string'}},
+ 'required': ['ApplicationName'],
+ 'type': 'object'},
+ 'ApplicationGetResults': {'additionalProperties': False,
+ 'properties': {'Application': {'type': 'string'},
+ 'Charm': {'type': 'string'},
+ 'Config': {'patternProperties': {'.*': {'additionalProperties': True,
+ 'type': 'object'}},
+ 'type': 'object'},
+ 'Constraints': {'$ref': '#/definitions/Value'}},
+ 'required': ['Application',
+ 'Charm',
+ 'Config',
+ 'Constraints'],
+ 'type': 'object'},
+ 'ApplicationMetricCredential': {'additionalProperties': False,
+ 'properties': {'ApplicationName': {'type': 'string'},
+ 'MetricCredentials': {'items': {'type': 'integer'},
+ 'type': 'array'}},
+ 'required': ['ApplicationName',
+ 'MetricCredentials'],
+ 'type': 'object'},
+ 'ApplicationMetricCredentials': {'additionalProperties': False,
+ 'properties': {'Creds': {'items': {'$ref': '#/definitions/ApplicationMetricCredential'},
+ 'type': 'array'}},
+ 'required': ['Creds'],
+ 'type': 'object'},
+ 'ApplicationSet': {'additionalProperties': False,
+ 'properties': {'ApplicationName': {'type': 'string'},
+ 'Options': {'patternProperties': {'.*': {'type': 'string'}},
+ 'type': 'object'}},
+ 'required': ['ApplicationName', 'Options'],
+ 'type': 'object'},
+ 'ApplicationSetCharm': {'additionalProperties': False,
+ 'properties': {'applicationname': {'type': 'string'},
+ 'charmurl': {'type': 'string'},
+ 'cs-channel': {'type': 'string'},
+ 'forceseries': {'type': 'boolean'},
+ 'forceunits': {'type': 'boolean'},
+ 'resourceids': {'patternProperties': {'.*': {'type': 'string'}},
+ 'type': 'object'}},
+ 'required': ['applicationname',
+ 'charmurl',
+ 'cs-channel',
+ 'forceunits',
+ 'forceseries',
+ 'resourceids'],
+ 'type': 'object'},
+ 'ApplicationUnexpose': {'additionalProperties': False,
+ 'properties': {'ApplicationName': {'type': 'string'}},
+ 'required': ['ApplicationName'],
+ 'type': 'object'},
+ 'ApplicationUnset': {'additionalProperties': False,
+ 'properties': {'ApplicationName': {'type': 'string'},
+ 'Options': {'items': {'type': 'string'},
+ 'type': 'array'}},
+ 'required': ['ApplicationName',
+ 'Options'],
+ 'type': 'object'},
+ 'ApplicationUpdate': {'additionalProperties': False,
+ 'properties': {'ApplicationName': {'type': 'string'},
+ 'CharmUrl': {'type': 'string'},
+ 'Constraints': {'$ref': '#/definitions/Value'},
+ 'ForceCharmUrl': {'type': 'boolean'},
+ 'ForceSeries': {'type': 'boolean'},
+ 'MinUnits': {'type': 'integer'},
+ 'SettingsStrings': {'patternProperties': {'.*': {'type': 'string'}},
+ 'type': 'object'},
+ 'SettingsYAML': {'type': 'string'}},
+ 'required': ['ApplicationName',
+ 'CharmUrl',
+ 'ForceCharmUrl',
+ 'ForceSeries',
+ 'MinUnits',
+ 'SettingsStrings',
+ 'SettingsYAML',
+ 'Constraints'],
+ 'type': 'object'},
+ 'ApplicationsDeploy': {'additionalProperties': False,
+ 'properties': {'Applications': {'items': {'$ref': '#/definitions/ApplicationDeploy'},
+ 'type': 'array'}},
+ 'required': ['Applications'],
+ 'type': 'object'},
+ 'Constraints': {'additionalProperties': False,
+ 'properties': {'Count': {'type': 'integer'},
+ 'Pool': {'type': 'string'},
+ 'Size': {'type': 'integer'}},
+ 'required': ['Pool', 'Size', 'Count'],
+ 'type': 'object'},
+ 'DestroyApplicationUnits': {'additionalProperties': False,
+ 'properties': {'UnitNames': {'items': {'type': 'string'},
+ 'type': 'array'}},
+ 'required': ['UnitNames'],
+ 'type': 'object'},
+ 'DestroyRelation': {'additionalProperties': False,
+ 'properties': {'Endpoints': {'items': {'type': 'string'},
+ 'type': 'array'}},
+ 'required': ['Endpoints'],
+ 'type': 'object'},
+ 'Error': {'additionalProperties': False,
+ 'properties': {'Code': {'type': 'string'},
+ 'Info': {'$ref': '#/definitions/ErrorInfo'},
+ 'Message': {'type': 'string'}},
+ 'required': ['Message', 'Code'],
+ 'type': 'object'},
+ 'ErrorInfo': {'additionalProperties': False,
+ 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
+ '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'},
+ 'GetApplicationConstraints': {'additionalProperties': False,
+ 'properties': {'ApplicationName': {'type': 'string'}},
+ 'required': ['ApplicationName'],
+ 'type': 'object'},
+ 'GetConstraintsResults': {'additionalProperties': False,
+ 'properties': {'Constraints': {'$ref': '#/definitions/Value'}},
+ 'required': ['Constraints'],
+ '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'},
+ 'SetConstraints': {'additionalProperties': False,
+ 'properties': {'ApplicationName': {'type': 'string'},
+ 'Constraints': {'$ref': '#/definitions/Value'}},
+ 'required': ['ApplicationName',
+ '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/AddApplicationUnits'},
+ 'Result': {'$ref': '#/definitions/AddApplicationUnitsResults'}},
+ 'type': 'object'},
+ 'CharmRelations': {'properties': {'Params': {'$ref': '#/definitions/ApplicationCharmRelations'},
+ 'Result': {'$ref': '#/definitions/ApplicationCharmRelationsResults'}},
+ 'type': 'object'},
+ 'Deploy': {'properties': {'Params': {'$ref': '#/definitions/ApplicationsDeploy'},
+ 'Result': {'$ref': '#/definitions/ErrorResults'}},
+ 'type': 'object'},
+ 'Destroy': {'properties': {'Params': {'$ref': '#/definitions/ApplicationDestroy'}},
+ 'type': 'object'},
+ 'DestroyRelation': {'properties': {'Params': {'$ref': '#/definitions/DestroyRelation'}},
+ 'type': 'object'},
+ 'DestroyUnits': {'properties': {'Params': {'$ref': '#/definitions/DestroyApplicationUnits'}},
+ 'type': 'object'},
+ 'Expose': {'properties': {'Params': {'$ref': '#/definitions/ApplicationExpose'}},
+ 'type': 'object'},
+ 'Get': {'properties': {'Params': {'$ref': '#/definitions/ApplicationGet'},
+ 'Result': {'$ref': '#/definitions/ApplicationGetResults'}},
+ 'type': 'object'},
+ 'GetCharmURL': {'properties': {'Params': {'$ref': '#/definitions/ApplicationGet'},
+ 'Result': {'$ref': '#/definitions/StringResult'}},
+ 'type': 'object'},
+ 'GetConstraints': {'properties': {'Params': {'$ref': '#/definitions/GetApplicationConstraints'},
+ 'Result': {'$ref': '#/definitions/GetConstraintsResults'}},
+ 'type': 'object'},
+ 'Set': {'properties': {'Params': {'$ref': '#/definitions/ApplicationSet'}},
+ 'type': 'object'},
+ 'SetCharm': {'properties': {'Params': {'$ref': '#/definitions/ApplicationSetCharm'}},
+ 'type': 'object'},
+ 'SetConstraints': {'properties': {'Params': {'$ref': '#/definitions/SetConstraints'}},
+ 'type': 'object'},
+ 'SetMetricCredentials': {'properties': {'Params': {'$ref': '#/definitions/ApplicationMetricCredentials'},
+ 'Result': {'$ref': '#/definitions/ErrorResults'}},
+ 'type': 'object'},
+ 'Unexpose': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUnexpose'}},
+ 'type': 'object'},
+ 'Unset': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUnset'}},
+ 'type': 'object'},
+ 'Update': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUpdate'}},
+ 'type': 'object'}},
+ 'type': 'object'}
+
+
+ @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='Application', Request='AddRelation', Version=1, Params=params)
+ params['Endpoints'] = endpoints
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(AddApplicationUnitsResults)
+ async def AddUnits(self, applicationname, numunits, placement):
+ '''
+ applicationname : str
+ numunits : int
+ placement : typing.Sequence[~Placement]
+ Returns -> typing.Sequence[str]
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Application', Request='AddUnits', Version=1, Params=params)
+ params['ApplicationName'] = applicationname
+ params['NumUnits'] = numunits
+ params['Placement'] = placement
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(ApplicationCharmRelationsResults)
+ async def CharmRelations(self, applicationname):
+ '''
+ applicationname : str
+ Returns -> typing.Sequence[str]
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Application', Request='CharmRelations', Version=1, Params=params)
+ params['ApplicationName'] = applicationname
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(ErrorResults)
+ async def Deploy(self, applications):
+ '''
+ applications : typing.Sequence[~ApplicationDeploy]
+ Returns -> typing.Sequence[~ErrorResult]
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Application', Request='Deploy', Version=1, Params=params)
+ params['Applications'] = applications
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(None)
+ async def Destroy(self, applicationname):
+ '''
+ applicationname : str
+ Returns -> None
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Application', Request='Destroy', Version=1, Params=params)
+ params['ApplicationName'] = applicationname
+ 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='Application', Request='DestroyRelation', Version=1, 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='Application', Request='DestroyUnits', Version=1, Params=params)
+ params['UnitNames'] = unitnames
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(None)
+ async def Expose(self, applicationname):
+ '''
+ applicationname : str
+ Returns -> None
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Application', Request='Expose', Version=1, Params=params)
+ params['ApplicationName'] = applicationname
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(ApplicationGetResults)
+ async def Get(self, applicationname):
+ '''
+ applicationname : str
+ Returns -> typing.Union[str, typing.Mapping[str, typing.Any], _ForwardRef('Value')]
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Application', Request='Get', Version=1, Params=params)
+ params['ApplicationName'] = applicationname
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(StringResult)
+ async def GetCharmURL(self, applicationname):
+ '''
+ applicationname : str
+ Returns -> typing.Union[_ForwardRef('Error'), str]
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Application', Request='GetCharmURL', Version=1, Params=params)
+ params['ApplicationName'] = applicationname
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(GetConstraintsResults)
+ async def GetConstraints(self, applicationname):
+ '''
+ applicationname : str
+ Returns -> Value
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Application', Request='GetConstraints', Version=1, Params=params)
+ params['ApplicationName'] = applicationname
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(None)
+ async def Set(self, applicationname, options):
+ '''
+ applicationname : str
+ options : typing.Mapping[str, str]
+ Returns -> None
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Application', Request='Set', Version=1, Params=params)
+ params['ApplicationName'] = applicationname
+ params['Options'] = options
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(None)
+ async def SetCharm(self, applicationname, charmurl, cs_channel, forceseries, forceunits, resourceids):
+ '''
+ applicationname : str
+ charmurl : str
+ cs_channel : str
+ forceseries : bool
+ forceunits : bool
+ resourceids : typing.Mapping[str, str]
+ Returns -> None
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Application', Request='SetCharm', Version=1, Params=params)
+ params['applicationname'] = applicationname
+ params['charmurl'] = charmurl
+ params['cs-channel'] = cs_channel
+ params['forceseries'] = forceseries
+ params['forceunits'] = forceunits
+ params['resourceids'] = resourceids
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(None)
+ async def SetConstraints(self, applicationname, constraints):
+ '''
+ applicationname : str
+ constraints : Value
+ Returns -> None
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Application', Request='SetConstraints', Version=1, Params=params)
+ params['ApplicationName'] = applicationname
+ params['Constraints'] = constraints
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(ErrorResults)
+ async def SetMetricCredentials(self, creds):
+ '''
+ creds : typing.Sequence[~ApplicationMetricCredential]
+ Returns -> typing.Sequence[~ErrorResult]
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Application', Request='SetMetricCredentials', Version=1, Params=params)
+ params['Creds'] = creds
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(None)
+ async def Unexpose(self, applicationname):
+ '''
+ applicationname : str
+ Returns -> None
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Application', Request='Unexpose', Version=1, Params=params)
+ params['ApplicationName'] = applicationname
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(None)
+ async def Unset(self, applicationname, options):
+ '''
+ applicationname : str
+ options : typing.Sequence[str]
+ Returns -> None
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Application', Request='Unset', Version=1, Params=params)
+ params['ApplicationName'] = applicationname
+ params['Options'] = options
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(None)
+ async def Update(self, applicationname, charmurl, constraints, forcecharmurl, forceseries, minunits, settingsstrings, settingsyaml):
+ '''
+ applicationname : str
+ charmurl : str
+ constraints : Value
+ forcecharmurl : bool
+ forceseries : bool
+ minunits : int
+ settingsstrings : typing.Mapping[str, str]
+ settingsyaml : str
+ Returns -> None
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Application', Request='Update', Version=1, Params=params)
+ params['ApplicationName'] = applicationname
+ params['CharmUrl'] = charmurl
+ params['Constraints'] = constraints
+ params['ForceCharmUrl'] = forcecharmurl
+ params['ForceSeries'] = forceseries
+ params['MinUnits'] = minunits
+ params['SettingsStrings'] = settingsstrings
+ params['SettingsYAML'] = settingsyaml
+ reply = await self.rpc(msg)
+ return reply
+
+
+class ApplicationScaler(Type):
+ name = 'ApplicationScaler'
+ version = 1
+ schema = {'definitions': {'Entities': {'additionalProperties': False,
+ 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
+ 'type': 'array'}},
+ 'required': ['Entities'],
+ 'type': 'object'},
+ 'Entity': {'additionalProperties': False,
+ 'properties': {'Tag': {'type': 'string'}},
+ 'required': ['Tag'],
+ 'type': 'object'},
+ 'Error': {'additionalProperties': False,
+ 'properties': {'Code': {'type': 'string'},
+ 'Info': {'$ref': '#/definitions/ErrorInfo'},
+ 'Message': {'type': 'string'}},
+ 'required': ['Message', 'Code'],
+ 'type': 'object'},
+ 'ErrorInfo': {'additionalProperties': False,
+ 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
+ '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='ApplicationScaler', 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='ApplicationScaler', Request='Watch', Version=1, Params=params)
+
+ 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'},
+ 'Series': {'type': 'string'},
+ 'Size': {'type': 'integer'},
+ 'Started': {'format': 'date-time',
+ 'type': 'string'},
+ 'Stored': {'format': 'date-time',
+ 'type': 'string'},
+ 'Version': {'$ref': '#/definitions/Number'}},
+ 'required': ['ID',
+ 'Checksum',
+ 'ChecksumFormat',
+ 'Size',
+ 'Stored',
+ 'Started',
+ 'Finished',
+ 'Notes',
+ 'Model',
+ 'Machine',
+ 'Hostname',
+ 'Version',
+ 'Series',
+ '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 = 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'},
+ '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=2, 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'},
+ 'ApplicationStatus': {'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'},
+ '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': {'ApplicationName': {'type': 'string'},
+ 'Name': {'type': 'string'},
+ 'Role': {'type': 'string'},
+ 'Subordinate': {'type': 'boolean'}},
+ 'required': ['ApplicationName',
+ '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': {'Applications': {'patternProperties': {'.*': {'$ref': '#/definitions/ApplicationStatus'}},
+ 'type': 'object'},
+ 'AvailableVersion': {'type': 'string'},
+ 'Machines': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}},
+ 'type': 'object'},
+ 'ModelName': {'type': 'string'},
+ 'Relations': {'items': {'$ref': '#/definitions/RelationStatus'},
+ 'type': 'array'}},
+ 'required': ['ModelName',
+ 'AvailableVersion',
+ 'Machines',
+ 'Applications',
+ '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'},
+ 'History': {'additionalProperties': False,
+ 'properties': {'Error': {'$ref': '#/definitions/Error'},
+ 'Statuses': {'items': {'$ref': '#/definitions/DetailedStatus'},
+ 'type': 'array'}},
+ 'required': ['Statuses'],
+ 'type': 'object'},
+ 'HostPort': {'additionalProperties': False,
+ 'properties': {'Address': {'$ref': '#/definitions/Address'},
+ 'Port': {'type': 'integer'}},
+ 'required': ['Address', 'Port'],
+ 'type': 'object'},
+ 'Macaroon': {'additionalProperties': False,
+ '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': {'Cloud': {'type': 'string'},
+ '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',
+ 'Cloud',
+ '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'},
+ 'SetConstraints': {'additionalProperties': False,
+ 'properties': {'ApplicationName': {'type': 'string'},
+ 'Constraints': {'$ref': '#/definitions/Value'}},
+ 'required': ['ApplicationName',
+ 'Constraints'],
+ 'type': 'object'},
+ 'SetModelAgentVersion': {'additionalProperties': False,
+ 'properties': {'Version': {'$ref': '#/definitions/Number'}},
+ 'required': ['Version'],
+ 'type': 'object'},
+ 'StatusHistoryFilter': {'additionalProperties': False,
+ 'properties': {'Date': {'format': 'date-time',
+ 'type': 'string'},
+ 'Delta': {'type': 'integer'},
+ 'Size': {'type': 'integer'}},
+ 'required': ['Size', 'Date', 'Delta'],
+ 'type': 'object'},
+ 'StatusHistoryRequest': {'additionalProperties': False,
+ 'properties': {'Filter': {'$ref': '#/definitions/StatusHistoryFilter'},
+ 'HistoryKind': {'type': 'string'},
+ 'Size': {'type': 'integer'},
+ 'Tag': {'type': 'string'}},
+ 'required': ['HistoryKind',
+ 'Size',
+ 'Filter',
+ 'Tag'],
+ 'type': 'object'},
+ 'StatusHistoryRequests': {'additionalProperties': False,
+ 'properties': {'Requests': {'items': {'$ref': '#/definitions/StatusHistoryRequest'},
+ 'type': 'array'}},
+ 'required': ['Requests'],
+ 'type': 'object'},
+ 'StatusHistoryResult': {'additionalProperties': False,
+ 'properties': {'Error': {'$ref': '#/definitions/Error'},
+ 'History': {'$ref': '#/definitions/History'}},
+ 'required': ['History'],
+ 'type': 'object'},
+ 'StatusHistoryResults': {'additionalProperties': False,
+ 'properties': {'Results': {'items': {'$ref': '#/definitions/StatusHistoryResult'},
+ 'type': 'array'}},
+ 'required': ['Results'],
+ 'type': 'object'},
+ 'StatusParams': {'additionalProperties': False,
+ 'properties': {'Patterns': {'items': {'type': 'string'},
+ 'type': 'array'}},
+ 'required': ['Patterns'],
+ 'type': 'object'},
+ '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/StatusHistoryRequests'},
+ 'Result': {'$ref': '#/definitions/StatusHistoryResults'}},
+ 'type': 'object'},
+ 'WatchAll': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherId'}},
+ 'type': 'object'}},
+ 'type': 'object'}
+
+
+ @ReturnMapping(APIHostPortsResult)
+ async def APIHostPorts(self):
+ '''
+
+ Returns -> typing.Sequence[~HostPort]
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Client', Request='APIHostPorts', Version=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.Mapping[str, ~MachineStatus], typing.Sequence[~RelationStatus]]
+ '''
+ # 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, applicationname, constraints):
+ '''
+ applicationname : str
+ constraints : Value
+ Returns -> None
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Client', Request='SetModelConstraints', Version=1, Params=params)
+ params['ApplicationName'] = applicationname
+ params['Constraints'] = constraints
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(StatusHistoryResults)
+ async def StatusHistory(self, requests):
+ '''
+ requests : typing.Sequence[~StatusHistoryRequest]
+ Returns -> typing.Sequence[~StatusHistoryResult]
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Client', Request='StatusHistory', Version=1, Params=params)
+ params['Requests'] = requests
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(AllWatcherId)
+ async def WatchAll(self):
+ '''
+
+ Returns -> str
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Client', Request='WatchAll', Version=1, Params=params)
+
+ reply = await self.rpc(msg)
+ return reply
+
+
+class Controller(Type):
+ name = 'Controller'
+ version = 3
+ 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': {'application-count': {'type': 'integer'},
+ 'hosted-machine-count': {'type': 'integer'},
+ 'life': {'type': 'string'},
+ 'model-tag': {'type': 'string'},
+ 'owner-tag': {'type': 'string'}},
+ 'required': ['model-tag',
+ 'life',
+ 'hosted-machine-count',
+ 'application-count',
+ 'owner-tag'],
+ 'type': 'object'},
+ 'ModelStatusResults': {'additionalProperties': False,
+ 'properties': {'models': {'items': {'$ref': '#/definitions/ModelStatus'},
+ 'type': 'array'}},
+ 'required': ['models'],
+ 'type': 'object'},
+ '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=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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 = 3
+ 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=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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=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='Firewaller', Request='WatchForModelConfigChanges', Version=3, 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=3, 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=3, 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=3, 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 = 3
+ 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=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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=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='InstancePoller', Request='WatchForModelConfigChanges', Version=3, 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=3, 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': {'ApplicationTag': {'additionalProperties': False,
+ 'properties': {'Name': {'type': 'string'}},
+ 'required': ['Name'],
+ 'type': 'object'},
+ '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': {'ApplicationTag': {'type': 'string'},
+ 'DurationSeconds': {'type': 'number'},
+ 'UnitTag': {'type': 'string'}},
+ 'required': ['ApplicationTag',
+ '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'},
+ '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/ApplicationTag'},
+ '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 = 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'},
+ '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=2, 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=2, 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': {'Cloud': {'type': 'string'},
+ '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',
+ 'Cloud',
+ '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 -> <class 'str'>
+ '''
+ # 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 = 3
+ schema = {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
+ 'properties': {'Servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
+ 'type': 'array'},
+ 'type': 'array'}},
+ 'required': ['Servers'],
+ 'type': 'object'},
+ 'Address': {'additionalProperties': False,
+ 'properties': {'Scope': {'type': 'string'},
+ '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'},
+ 'ProviderType': {'type': 'string'},
+ 'Proxy': {'$ref': '#/definitions/Settings'},
+ 'SSLHostnameVerification': {'type': 'boolean'},
+ 'UpdateBehavior': {'$ref': '#/definitions/UpdateBehavior'}},
+ 'required': ['ProviderType',
+ 'AuthorizedKeys',
+ 'SSLHostnameVerification',
+ 'Proxy',
+ 'AptProxy',
+ 'AptMirror',
+ '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=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='Provisioner', Request='APIHostPorts', Version=3, 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=3, 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=3, 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=3, 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=3, 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=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='Provisioner', Request='EnsureDead', Version=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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=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='Provisioner', Request='ModelUUID', Version=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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=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='Provisioner', Request='WatchAPIHostPorts', Version=3, 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=3, 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=3, 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=3, 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=3, 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=3, 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 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': {'MaxHistoryMB': {'type': 'integer'},
+ 'MaxHistoryTime': {'type': 'integer'}},
+ 'required': ['MaxHistoryTime',
+ 'MaxHistoryMB'],
+ 'type': 'object'}},
+ 'properties': {'Prune': {'properties': {'Params': {'$ref': '#/definitions/StatusHistoryPruneArgs'}},
+ 'type': 'object'}},
+ 'type': 'object'}
+
+
+ @ReturnMapping(None)
+ async def Prune(self, maxhistorymb, maxhistorytime):
+ '''
+ maxhistorymb : int
+ maxhistorytime : int
+ Returns -> None
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='StatusHistory', Request='Prune', Version=2, Params=params)
+ params['MaxHistoryMB'] = maxhistorymb
+ params['MaxHistoryTime'] = maxhistorytime
+ 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 = 4
+ 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'},
+ 'ApplicationStatusResult': {'additionalProperties': False,
+ 'properties': {'Application': {'$ref': '#/definitions/StatusResult'},
+ 'Error': {'$ref': '#/definitions/Error'},
+ 'Units': {'patternProperties': {'.*': {'$ref': '#/definitions/StatusResult'}},
+ 'type': 'object'}},
+ 'required': ['Application',
+ 'Units',
+ 'Error'],
+ 'type': 'object'},
+ 'ApplicationStatusResults': {'additionalProperties': False,
+ 'properties': {'Results': {'items': {'$ref': '#/definitions/ApplicationStatusResult'},
+ 'type': 'array'}},
+ 'required': ['Results'],
+ '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': {'ApplicationName': {'type': 'string'},
+ 'Relation': {'$ref': '#/definitions/Relation'}},
+ 'required': ['ApplicationName', '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': {'ApplicationTag': {'type': 'string'},
+ 'Settings': {'patternProperties': {'.*': {'type': 'string'}},
+ 'type': 'object'}},
+ 'required': ['ApplicationTag',
+ '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'},
+ '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'},
+ 'ApplicationOwner': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
+ 'Result': {'$ref': '#/definitions/StringResults'}},
+ 'type': 'object'},
+ 'ApplicationStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
+ 'Result': {'$ref': '#/definitions/ApplicationStatusResults'}},
+ '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'},
+ 'SetAgentStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
+ 'Result': {'$ref': '#/definitions/ErrorResults'}},
+ 'type': 'object'},
+ 'SetApplicationStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
+ 'Result': {'$ref': '#/definitions/ErrorResults'}},
+ 'type': 'object'},
+ 'SetCharmURL': {'properties': {'Params': {'$ref': '#/definitions/EntitiesCharmURL'},
+ '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'},
+ 'WatchApplicationRelations': {'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'},
+ '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=4, 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=4, 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=4, 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=4, 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=4, 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=4, Params=params)
+ params['Entities'] = entities
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(StringResults)
+ async def ApplicationOwner(self, entities):
+ '''
+ entities : typing.Sequence[~Entity]
+ Returns -> typing.Sequence[~StringResult]
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Uniter', Request='ApplicationOwner', Version=4, Params=params)
+ params['Entities'] = entities
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(ApplicationStatusResults)
+ async def ApplicationStatus(self, entities):
+ '''
+ entities : typing.Sequence[~Entity]
+ Returns -> typing.Sequence[~ApplicationStatusResult]
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Uniter', Request='ApplicationStatus', Version=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, Params=params)
+ params['Entities'] = entities
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(ErrorResults)
+ async def SetApplicationStatus(self, entities):
+ '''
+ entities : typing.Sequence[~EntityStatusArgs]
+ Returns -> typing.Sequence[~ErrorResult]
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Uniter', Request='SetApplicationStatus', Version=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, 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=4, Params=params)
+ params['Entities'] = entities
+ reply = await self.rpc(msg)
+ return reply
+
+
+
+ @ReturnMapping(StringsWatchResults)
+ async def WatchApplicationRelations(self, entities):
+ '''
+ entities : typing.Sequence[~Entity]
+ Returns -> typing.Sequence[~StringsWatchResult]
+ '''
+ # map input types to rpc msg
+ params = dict()
+ msg = dict(Type='Uniter', Request='WatchApplicationRelations', Version=4, 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=4, 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=4, 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=4, 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=4, 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=4, Params=params)
+ params['RelationUnits'] = relationunits
+ 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=4, 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=4, 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=4, 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
+
+
+'''Replace auto-generated classes with our own, where necessary.
-from juju.client.facade import Type, ReturnMapping
-
-class Action(Type):
- _toSchema = {'name': 'name', 'parameters': 'parameters', 'tag': 'tag', 'receiver': 'receiver'}
- _toPy = {'name': 'name', 'parameters': 'parameters', 'tag': 'tag', 'receiver': 'receiver'}
- 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 = {'completed': 'completed', 'started': 'started', 'message': 'message', 'action': 'action', 'output': 'output', 'status': 'status', 'error': 'error', 'enqueued': 'enqueued'}
- _toPy = {'completed': 'completed', 'started': 'started', 'message': 'message', 'action': 'action', 'output': 'output', 'status': 'status', 'error': 'error', 'enqueued': 'enqueued'}
- 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) if action else None
- self.completed = completed
- self.enqueued = enqueued
- self.error = Error.from_json(error) if error else None
- 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 = {'name': 'name', 'error': 'error', 'actions': 'actions'}
- _toPy = {'name': 'name', 'error': 'error', 'actions': 'actions'}
- 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) if error else None
- 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 = {'error': 'error', 'actions': 'actions', 'receiver': 'receiver'}
- _toPy = {'error': 'error', 'actions': 'actions', '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) if error else None
- 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 = {'message': 'Message', 'code': 'Code', 'info': 'Info'}
- _toPy = {'Code': 'code', 'Message': 'message', 'Info': 'info'}
- def __init__(self, code=None, info=None, message=None):
- '''
- code : str
- info : ErrorInfo
- message : str
- '''
- self.code = code
- self.info = ErrorInfo.from_json(info) if info else None
- 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) if macaroon else None
- 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 = {'caveats': 'caveats', 'data': 'data', 'location': 'location', 'id_': 'id', 'sig': 'sig'}
- _toPy = {'caveats': 'caveats', 'data': 'data', 'sig': 'sig', 'location': 'location', 'id': 'id_'}
- 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_) if id_ else None
- self.location = packet.from_json(location) if location else None
- self.sig = sig
-
-
-class RunParams(Type):
- _toSchema = {'machines': 'Machines', 'timeout': 'Timeout', 'commands': 'Commands', 'services': 'Services', 'units': 'Units'}
- _toPy = {'Services': 'services', 'Units': 'units', 'Timeout': 'timeout', 'Commands': 'commands', '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 = {'servicetag': 'servicetag', 'error': 'error', 'actions': 'actions'}
- _toPy = {'servicetag': 'servicetag', 'error': 'error', 'actions': 'actions'}
- def __init__(self, actions=None, error=None, servicetag=None):
- '''
- actions : Actions
- error : Error
- servicetag : str
- '''
- self.actions = Actions.from_json(actions) if actions else None
- self.error = Error.from_json(error) if error else None
- 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', 'caveatid': 'caveatId', 'location': 'location'}
- _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) if caveatid else None
- self.location = packet.from_json(location) if location else None
- self.verificationid = packet.from_json(verificationid) if verificationid else None
-
-
-class packet(Type):
- _toSchema = {'headerlen': 'headerLen', 'start': 'start', 'totallen': 'totalLen'}
- _toPy = {'start': 'start', 'totalLen': 'totallen', 'headerLen': 'headerlen'}
- 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 = {'Result': 'result', 'Error': 'error'}
- def __init__(self, error=None, result=None):
- '''
- error : Error
- result : bool
- '''
- self.error = Error.from_json(error) if error else None
- self.result = result
-
-
-class EntitiesWatchResult(Type):
- _toSchema = {'error': 'Error', 'changes': 'Changes', 'entitywatcherid': 'EntityWatcherId'}
- _toPy = {'Changes': 'changes', 'EntityWatcherId': 'entitywatcherid', 'Error': 'error'}
- 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) if error else None
-
-
-class ErrorResult(Type):
- _toSchema = {'message': 'Message', 'code': 'Code', 'info': 'Info'}
- _toPy = {'Code': 'code', 'Message': 'message', 'Info': 'info'}
- def __init__(self, code=None, info=None, message=None):
- '''
- code : str
- info : ErrorInfo
- message : str
- '''
- self.code = code
- self.info = ErrorInfo.from_json(info) if info else None
- self.message = message
-
-
-class AgentGetEntitiesResult(Type):
- _toSchema = {'jobs': 'Jobs', 'error': 'Error', 'containertype': 'ContainerType', 'life': 'Life'}
- _toPy = {'Life': 'life', 'ContainerType': 'containertype', 'Jobs': 'jobs', 'Error': 'error'}
- 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) if error else None
- 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 = {'password': 'Password', 'tag': 'Tag'}
- _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 = {'error': 'Error', 'notifywatcherid': 'NotifyWatcherId'}
- _toPy = {'NotifyWatcherId': 'notifywatcherid', 'Error': 'error'}
- def __init__(self, error=None, notifywatcherid=None):
- '''
- error : Error
- notifywatcherid : str
- '''
- self.error = Error.from_json(error) if error else None
- self.notifywatcherid = notifywatcherid
-
-
-class StateServingInfo(Type):
- _toSchema = {'stateport': 'StatePort', 'caprivatekey': 'CAPrivateKey', 'sharedsecret': 'SharedSecret', 'apiport': 'APIPort', 'privatekey': 'PrivateKey', 'cert': 'Cert', 'systemidentity': 'SystemIdentity'}
- _toPy = {'CAPrivateKey': 'caprivatekey', 'Cert': 'cert', 'SystemIdentity': 'systemidentity', 'PrivateKey': 'privatekey', 'StatePort': 'stateport', 'SharedSecret': 'sharedsecret', 'APIPort': 'apiport'}
- 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 = {'error': 'Error', 'entitytag': 'EntityTag', 'annotations': 'Annotations'}
- _toPy = {'EntityTag': 'entitytag', 'Error': 'error', 'Annotations': 'annotations'}
- 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) if error else None
-
-
-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 = {'entitytag': 'EntityTag', 'annotations': 'Annotations'}
- _toPy = {'EntityTag': 'entitytag', 'Annotations': 'annotations'}
- 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 = {'cacert': 'CACert', 'finished': 'Finished', 'hostname': 'Hostname', 'model': 'Model', 'checksumformat': 'ChecksumFormat', 'checksum': 'Checksum', 'size': 'Size', 'notes': 'Notes', 'stored': 'Stored', 'started': 'Started', 'caprivatekey': 'CAPrivateKey', 'version': 'Version', 'id_': 'ID', 'machine': 'Machine'}
- _toPy = {'CAPrivateKey': 'caprivatekey', 'ID': 'id_', 'Machine': 'machine', 'Notes': 'notes', 'Checksum': 'checksum', 'Version': 'version', 'Stored': 'stored', 'ChecksumFormat': 'checksumformat', 'Finished': 'finished', 'Hostname': 'hostname', 'Started': 'started', 'Size': 'size', 'CACert': 'cacert', 'Model': 'model'}
- 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) if version else None
-
-
-class BackupsRemoveArgs(Type):
- _toSchema = {'id_': 'ID'}
- _toPy = {'ID': 'id_'}
- def __init__(self, id_=None):
- '''
- id_ : str
- '''
- self.id_ = id_
-
-
-class Number(Type):
- _toSchema = {'build': 'Build', 'major': 'Major', 'tag': 'Tag', 'patch': 'Patch', 'minor': 'Minor'}
- _toPy = {'Tag': 'tag', 'Build': 'build', 'Patch': 'patch', 'Major': 'major', 'Minor': 'minor'}
- 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 = {'tag': 'tag', 'message': 'message', 'type_': 'type', 'id_': 'id'}
- _toPy = {'id': 'id_', 'tag': 'tag', 'message': 'message', 'type': 'type_'}
- 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) if error else None
- self.result = Block.from_json(result) if result else None
-
-
-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 = {'type_': 'type', 'message': 'message'}
- _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 = {'channel': 'Channel', 'url': 'URL'}
- _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 = {'channel': 'Channel', 'charmstoremacaroon': 'CharmStoreMacaroon', 'url': 'URL'}
- _toPy = {'Channel': 'channel', 'URL': 'url', 'CharmStoreMacaroon': 'charmstoremacaroon'}
- def __init__(self, channel=None, charmstoremacaroon=None, url=None):
- '''
- channel : str
- charmstoremacaroon : Macaroon
- url : str
- '''
- self.channel = channel
- self.charmstoremacaroon = Macaroon.from_json(charmstoremacaroon) if charmstoremacaroon else None
- self.url = url
-
-
-class AddMachineParams(Type):
- _toSchema = {'series': 'Series', 'jobs': 'Jobs', 'disks': 'Disks', 'containertype': 'ContainerType', 'constraints': 'Constraints', 'instanceid': 'InstanceId', 'placement': 'Placement', 'parentid': 'ParentId', 'addrs': 'Addrs', 'hardwarecharacteristics': 'HardwareCharacteristics', 'nonce': 'Nonce'}
- _toPy = {'Series': 'series', 'Placement': 'placement', 'Disks': 'disks', 'Addrs': 'addrs', 'Jobs': 'jobs', 'ParentId': 'parentid', 'InstanceId': 'instanceid', 'Nonce': 'nonce', 'ContainerType': 'containertype', 'HardwareCharacteristics': 'hardwarecharacteristics', 'Constraints': 'constraints'}
- 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) if constraints else None
- self.containertype = containertype
- self.disks = [Constraints.from_json(o) for o in disks or []]
- self.hardwarecharacteristics = HardwareCharacteristics.from_json(hardwarecharacteristics) if hardwarecharacteristics else None
- self.instanceid = instanceid
- self.jobs = jobs
- self.nonce = nonce
- self.parentid = parentid
- self.placement = Placement.from_json(placement) if placement else None
- 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) if error else None
- 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 = {'value': 'Value', 'type_': 'Type', 'scope': 'Scope', 'spacename': 'SpaceName'}
- _toPy = {'Value': 'value', 'SpaceName': 'spacename', 'Type': 'type_', 'Scope': 'scope'}
- 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 = {'build': 'Build', 'major': 'Major', 'tag': 'Tag', 'patch': 'Patch', 'minor': 'Minor'}
- _toPy = {'Tag': 'tag', 'Build': 'build', 'Patch': 'patch', 'Major': 'major', 'Minor': 'minor'}
- 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', 'arch': 'Arch', 'number': 'Number'}
- _toPy = {'Series': 'series', 'Arch': 'arch', 'Number': 'number'}
- def __init__(self, arch=None, number=None, series=None):
- '''
- arch : str
- number : Number
- series : str
- '''
- self.arch = arch
- self.number = Number.from_json(number) if number else None
- self.series = series
-
-
-class BundleChangesChange(Type):
- _toSchema = {'method': 'method', 'args': 'args', 'id_': 'id', 'requires': 'requires'}
- _toPy = {'id': 'id_', 'requires': 'requires', 'args': 'args', 'method': 'method'}
- 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 = {'size': 'Size', 'pool': 'Pool', 'count': 'Count'}
- _toPy = {'Size': 'size', 'Count': 'count', 'Pool': 'pool'}
- 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 = {'MachineNames': 'machinenames', 'Force': 'force'}
- def __init__(self, force=None, machinenames=None):
- '''
- force : bool
- machinenames : typing.Sequence[str]
- '''
- self.force = force
- self.machinenames = machinenames
-
-
-class DetailedStatus(Type):
- _toSchema = {'kind': 'Kind', 'since': 'Since', 'version': 'Version', 'data': 'Data', 'status': 'Status', 'info': 'Info', 'life': 'Life'}
- _toPy = {'Life': 'life', 'Data': 'data', 'Info': 'info', 'Kind': 'kind', 'Version': 'version', 'Since': 'since', 'Status': 'status'}
- 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 = {'name': 'Name', 'subordinate': 'Subordinate', 'role': 'Role', 'servicename': 'ServiceName'}
- _toPy = {'Subordinate': 'subordinate', 'Name': 'name', 'Role': 'role', 'ServiceName': 'servicename'}
- 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 = {'data': 'Data', 'since': 'Since', 'status': 'Status', 'info': 'Info'}
- _toPy = {'Since': 'since', 'Data': 'data', 'Status': 'status', '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 = {'majorversion': 'MajorVersion', 'series': 'Series', 'arch': 'Arch', 'number': 'Number', 'minorversion': 'MinorVersion'}
- _toPy = {'Series': 'series', 'MinorVersion': 'minorversion', 'MajorVersion': 'majorversion', '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) if number else None
- self.series = series
-
-
-class FindToolsResult(Type):
- _toSchema = {'error': 'Error', 'list_': 'List'}
- _toPy = {'List': 'list_', 'Error': 'error'}
- def __init__(self, error=None, list_=None):
- '''
- error : Error
- list_ : typing.Sequence[~Tools]
- '''
- self.error = Error.from_json(error) if error else None
- self.list_ = [Tools.from_json(o) for o in list_ or []]
-
-
-class FullStatus(Type):
- _toSchema = {'machines': 'Machines', 'modelname': 'ModelName', 'availableversion': 'AvailableVersion', 'services': 'Services', 'relations': 'Relations'}
- _toPy = {'Services': 'services', 'ModelName': 'modelname', 'Relations': 'relations', 'AvailableVersion': 'availableversion', 'Machines': 'machines'}
- 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 = {'errors': 'errors', 'changes': 'changes'}
- _toPy = {'errors': 'errors', 'changes': 'changes'}
- 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', 'container': 'container', 'mem': 'mem', 'arch': 'arch', 'cpu_cores': 'cpu-cores', 'cpu_power': 'cpu-power', 'root_disk': 'root-disk', 'instance_type': 'instance-type', 'spaces': 'spaces', 'virt_type': 'virt-type'}
- _toPy = {'tags': 'tags', 'container': 'container', 'instance-type': 'instance_type', 'mem': 'mem', 'virt-type': 'virt_type', 'cpu-cores': 'cpu_cores', 'arch': 'arch', 'spaces': 'spaces', 'root-disk': 'root_disk', 'cpu-power': 'cpu_power'}
- 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 = {'tags': 'Tags', 'rootdisk': 'RootDisk', 'mem': 'Mem', 'availabilityzone': 'AvailabilityZone', 'cpupower': 'CpuPower', 'arch': 'Arch', 'cpucores': 'CpuCores'}
- _toPy = {'CpuPower': 'cpupower', 'Arch': 'arch', 'AvailabilityZone': 'availabilityzone', 'Tags': 'tags', 'Mem': 'mem', 'RootDisk': 'rootdisk', 'CpuCores': 'cpucores'}
- 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) if address else None
- self.port = port
-
-
-class MachineStatus(Type):
- _toSchema = {'jobs': 'Jobs', 'hasvote': 'HasVote', 'hardware': 'Hardware', 'dnsname': 'DNSName', 'agentstatus': 'AgentStatus', 'wantsvote': 'WantsVote', 'instanceid': 'InstanceId', 'containers': 'Containers', 'series': 'Series', 'id_': 'Id', 'instancestatus': 'InstanceStatus'}
- _toPy = {'Containers': 'containers', 'Series': 'series', 'InstanceStatus': 'instancestatus', 'Jobs': 'jobs', 'HasVote': 'hasvote', 'Id': 'id_', 'Hardware': 'hardware', 'DNSName': 'dnsname', 'InstanceId': 'instanceid', 'WantsVote': 'wantsvote', 'AgentStatus': 'agentstatus'}
- 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) if agentstatus else None
- 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) if instancestatus else None
- 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 = {'name': 'Name', 'defaultseries': 'DefaultSeries', 'users': 'Users', 'uuid': 'UUID', 'serveruuid': 'ServerUUID', 'status': 'Status', 'ownertag': 'OwnerTag', 'life': 'Life', 'providertype': 'ProviderType'}
- _toPy = {'Name': 'name', 'Life': 'life', 'OwnerTag': 'ownertag', 'UUID': 'uuid', 'ProviderType': 'providertype', 'DefaultSeries': 'defaultseries', 'Users': 'users', 'Status': 'status', '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) if status else None
- 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 = {'displayname': 'displayname', 'access': 'access', 'user': 'user', 'lastconnection': 'lastconnection'}
- _toPy = {'displayname': 'displayname', 'access': 'access', '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) if error else None
- self.result = ModelUserInfo.from_json(result) if result else None
-
-
-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 = {'Directive': 'directive', 'Scope': 'scope'}
- 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 = {'datadir': 'DataDir', 'nonce': 'Nonce', 'disablepackagecommands': 'DisablePackageCommands', 'machineid': 'MachineId'}
- _toPy = {'MachineId': 'machineid', 'Nonce': 'nonce', 'DataDir': 'datadir', 'DisablePackageCommands': 'disablepackagecommands'}
- 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', 'endpoints': 'Endpoints', 'key': 'Key', 'interface': 'Interface', 'id_': 'Id'}
- _toPy = {'Id': 'id_', 'Scope': 'scope', 'Key': 'key', 'Endpoints': 'endpoints', 'Interface': 'interface'}
- 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 = {'error': 'Error', 'url': 'URL'}
- _toPy = {'URL': 'url', 'Error': 'error'}
- def __init__(self, error=None, url=None):
- '''
- error : str
- url : URL
- '''
- self.error = error
- self.url = URL.from_json(url) if url else None
-
-
-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', 'relations': 'Relations', 'units': 'Units', 'charm': 'Charm', 'status': 'Status', 'meterstatuses': 'MeterStatuses', 'life': 'Life', 'subordinateto': 'SubordinateTo', 'exposed': 'Exposed'}
- _toPy = {'Life': 'life', 'MeterStatuses': 'meterstatuses', 'Exposed': 'exposed', 'Relations': 'relations', 'Units': 'units', 'Status': 'status', 'CanUpgradeTo': 'canupgradeto', 'SubordinateTo': 'subordinateto', 'Charm': 'charm'}
- 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) if status else None
- 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 = {'ServiceName': 'servicename', 'Constraints': 'constraints'}
- def __init__(self, constraints=None, servicename=None):
- '''
- constraints : Value
- servicename : str
- '''
- self.constraints = Value.from_json(constraints) if constraints else None
- self.servicename = servicename
-
-
-class SetModelAgentVersion(Type):
- _toSchema = {'build': 'Build', 'major': 'Major', 'tag': 'Tag', 'patch': 'Patch', 'minor': 'Minor'}
- _toPy = {'Tag': 'tag', 'Build': 'build', 'Patch': 'patch', 'Major': 'major', 'Minor': 'minor'}
- 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 = {'Kind': 'kind', 'Size': 'size', 'Name': 'name'}
- 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 = {'version': 'version', 'url': 'url', 'size': 'size', 'sha256': 'sha256'}
- _toPy = {'version': 'version', 'url': 'url', 'size': 'size', 'sha256': 'sha256'}
- 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) if version else None
-
-
-class URL(Type):
- _toSchema = {'name': 'Name', 'revision': 'Revision', 'series': 'Series', 'user': 'User', 'channel': 'Channel', 'schema': 'Schema'}
- _toPy = {'Name': 'name', 'Channel': 'channel', 'Series': 'series', 'Revision': 'revision', 'User': 'user', 'Schema': 'schema'}
- 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 = {'subordinates': 'Subordinates', 'charm': 'Charm', 'agentstatus': 'AgentStatus', 'publicaddress': 'PublicAddress', 'openedports': 'OpenedPorts', 'workloadstatus': 'WorkloadStatus', 'machine': 'Machine'}
- _toPy = {'OpenedPorts': 'openedports', 'Subordinates': 'subordinates', 'WorkloadStatus': 'workloadstatus', 'Machine': 'machine', 'PublicAddress': 'publicaddress', '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) if agentstatus else None
- 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) if workloadstatus else None
-
-
-class Value(Type):
- _toSchema = {'tags': 'tags', 'container': 'container', 'mem': 'mem', 'arch': 'arch', 'cpu_cores': 'cpu-cores', 'cpu_power': 'cpu-power', 'root_disk': 'root-disk', 'instance_type': 'instance-type', 'spaces': 'spaces', 'virt_type': 'virt-type'}
- _toPy = {'tags': 'tags', 'container': 'container', 'instance-type': 'instance_type', 'mem': 'mem', 'virt-type': 'virt_type', 'cpu-cores': 'cpu_cores', 'arch': 'arch', 'spaces': 'spaces', 'root-disk': 'root_disk', 'cpu-power': 'cpu_power'}
- 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', 'error': 'error', 'id_': 'id'}
- _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) if error else None
- 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 = {'name': 'Name', 'uuid': 'UUID', '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 = {'name': 'name', 'blocks': 'blocks', 'model_uuid': 'model-uuid', 'owner_tag': 'owner-tag'}
- _toPy = {'name': 'name', 'blocks': 'blocks', 'owner-tag': 'owner_tag', '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) if target_info else None
-
-
-class ModelMigrationTargetInfo(Type):
- _toSchema = {'ca_cert': 'ca-cert', 'auth_tag': 'auth-tag', 'addrs': 'addrs', 'password': 'password', 'controller_tag': 'controller-tag'}
- _toPy = {'ca-cert': 'ca_cert', 'auth-tag': 'auth_tag', 'addrs': 'addrs', 'password': 'password', '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 = {'model_tag': 'model-tag', 'owner_tag': 'owner-tag', 'service_count': 'service-count', 'life': 'life', 'hosted_machine_count': 'hosted-machine-count'}
- _toPy = {'model-tag': 'model_tag', 'owner-tag': 'owner_tag', 'life': 'life', '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 = {'model': 'Model', 'lastconnection': 'LastConnection'}
- _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) if model else None
-
-
-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 = {'stateaddresses': 'StateAddresses', 'apiaddresses': 'APIAddresses'}
- _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 = {'error': 'Error', 'life': 'Life'}
- _toPy = {'Life': 'life', 'Error': 'error'}
- def __init__(self, error=None, life=None):
- '''
- error : Error
- life : str
- '''
- self.error = Error.from_json(error) if error else None
- 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 = {'Result': 'result', 'Error': 'error'}
- def __init__(self, error=None, result=None):
- '''
- error : Error
- result : str
- '''
- self.error = Error.from_json(error) if error else None
- self.result = result
-
-
-class StringsResult(Type):
- _toSchema = {'error': 'Error', 'result': 'Result'}
- _toPy = {'Result': 'result', 'Error': 'error'}
- def __init__(self, error=None, result=None):
- '''
- error : Error
- result : typing.Sequence[str]
- '''
- self.error = Error.from_json(error) if error else None
- self.result = result
-
-
-class StringsWatchResult(Type):
- _toSchema = {'stringswatcherid': 'StringsWatcherId', 'error': 'Error', 'changes': 'Changes'}
- _toPy = {'StringsWatcherId': 'stringswatcherid', 'Changes': 'changes', 'Error': 'error'}
- 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) if error else None
- 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 = {'subnettag': 'SubnetTag', 'zones': 'Zones', 'spacetag': 'SpaceTag', 'subnetproviderid': 'SubnetProviderId'}
- _toPy = {'SubnetProviderId': 'subnetproviderid', 'Zones': 'zones', 'SubnetTag': 'subnettag', 'SpaceTag': 'spacetag'}
- 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 = {'providerid': 'ProviderId', 'public': 'Public', 'spacetag': 'SpaceTag', 'subnettags': 'SubnetTags'}
- _toPy = {'SubnetTags': 'subnettags', 'Public': 'public', '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 = {'name': 'Name', 'providerid': 'ProviderId', 'subnets': 'Subnets', 'error': 'Error'}
- _toPy = {'Name': 'name', 'ProviderId': 'providerid', 'Error': 'error', 'Subnets': 'subnets'}
- 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) if error else None
- self.name = name
- self.providerid = providerid
- self.subnets = [Subnet.from_json(o) for o in subnets or []]
-
-
-class Subnet(Type):
- _toSchema = {'staticrangehighip': 'StaticRangeHighIP', 'vlantag': 'VLANTag', 'spacetag': 'SpaceTag', 'cidr': 'CIDR', 'providerid': 'ProviderId', 'status': 'Status', 'zones': 'Zones', 'life': 'Life', 'staticrangelowip': 'StaticRangeLowIP'}
- _toPy = {'StaticRangeLowIP': 'staticrangelowip', 'Life': 'life', 'StaticRangeHighIP': 'staticrangehighip', 'ProviderId': 'providerid', 'SpaceTag': 'spacetag', 'VLANTag': 'vlantag', 'Zones': 'zones', 'CIDR': 'cidr', 'Status': 'status'}
- 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 = {'zone': 'Zone', 'spacetag': 'SpaceTag'}
- _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 = {'uuid': 'UUID', 'devicename': 'DeviceName', 'busaddress': 'BusAddress', 'hardwareid': 'HardwareId', 'inuse': 'InUse', 'mountpoint': 'MountPoint', 'devicelinks': 'DeviceLinks', 'filesystemtype': 'FilesystemType', 'size': 'Size', 'label': 'Label'}
- _toPy = {'Size': 'size', 'InUse': 'inuse', 'Label': 'label', 'FilesystemType': 'filesystemtype', 'UUID': 'uuid', 'BusAddress': 'busaddress', 'HardwareId': 'hardwareid', 'DeviceName': 'devicename', 'MountPoint': 'mountpoint', 'DeviceLinks': 'devicelinks'}
- 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 = {'machinetag': 'machinetag', 'attachmenttag': 'attachmenttag'}
- _toPy = {'machinetag': 'machinetag', 'attachmenttag': 'attachmenttag'}
- def __init__(self, attachmenttag=None, machinetag=None):
- '''
- attachmenttag : str
- machinetag : str
- '''
- self.attachmenttag = attachmenttag
- self.machinetag = machinetag
-
-
-class MachineStorageIdsWatchResult(Type):
- _toSchema = {'machinestorageidswatcherid': 'MachineStorageIdsWatcherId', 'error': 'Error', 'changes': 'Changes'}
- _toPy = {'Changes': 'changes', 'MachineStorageIdsWatcherId': 'machinestorageidswatcherid', 'Error': 'error'}
- 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) if error else None
- 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 = {'unittag': 'UnitTag', 'portrange': 'PortRange', 'relationtag': 'RelationTag'}
- _toPy = {'PortRange': 'portrange', 'UnitTag': 'unittag', 'RelationTag': 'relationtag'}
- def __init__(self, portrange=None, relationtag=None, unittag=None):
- '''
- portrange : PortRange
- relationtag : str
- unittag : str
- '''
- self.portrange = PortRange.from_json(portrange) if portrange else None
- self.relationtag = relationtag
- self.unittag = unittag
-
-
-class MachinePorts(Type):
- _toSchema = {'subnettag': 'SubnetTag', 'machinetag': 'MachineTag'}
- _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 = {'ports': 'Ports', 'error': 'Error'}
- _toPy = {'Ports': 'ports', 'Error': 'error'}
- def __init__(self, error=None, ports=None):
- '''
- error : Error
- ports : typing.Sequence[~MachinePortRange]
- '''
- self.error = Error.from_json(error) if error else None
- 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 = {'fromport': 'FromPort', 'protocol': 'Protocol', 'toport': 'ToPort'}
- _toPy = {'Protocol': 'protocol', 'FromPort': 'fromport', '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 = {'Result': 'result', 'Error': 'error'}
- def __init__(self, error=None, result=None):
- '''
- error : Error
- result : ControllersChanges
- '''
- self.error = Error.from_json(error) if error else None
- self.result = ControllersChanges.from_json(result) if result else None
-
-
-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 = {'converted': 'converted', 'demoted': 'demoted', 'promoted': 'promoted', 'removed': 'removed', 'maintained': 'maintained', 'added': 'added'}
- _toPy = {'converted': 'converted', 'demoted': 'demoted', 'promoted': 'promoted', 'removed': 'removed', 'maintained': 'maintained', 'added': 'added'}
- 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 = {'num_controllers': 'num-controllers', 'placement': 'placement', 'modeltag': 'ModelTag', 'series': 'series', 'constraints': 'constraints'}
- _toPy = {'num-controllers': 'num_controllers', 'placement': 'placement', 'ModelTag': 'modeltag', 'series': 'series', 'constraints': 'constraints'}
- 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) if constraints else None
- 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 = {'series': 'Series', 'publicaddress': 'PublicAddress', 'tag': 'Tag'}
- _toPy = {'Series': 'series', 'PublicAddress': 'publicaddress', 'Tag': 'tag'}
- def __init__(self, publicaddress=None, series=None, tag=None):
- '''
- publicaddress : Address
- series : str
- tag : str
- '''
- self.publicaddress = Address.from_json(publicaddress) if publicaddress else None
- self.series = series
- self.tag = tag
-
-
-class Member(Type):
- _toSchema = {'priority': 'Priority', 'tags': 'Tags', 'buildindexes': 'BuildIndexes', 'arbiter': 'Arbiter', 'votes': 'Votes', 'slavedelay': 'SlaveDelay', 'hidden': 'Hidden', 'address': 'Address', 'id_': 'Id'}
- _toPy = {'SlaveDelay': 'slavedelay', 'Priority': 'priority', 'Votes': 'votes', 'BuildIndexes': 'buildindexes', 'Tags': 'tags', 'Id': 'id_', 'Arbiter': 'arbiter', 'Hidden': 'hidden', 'Address': 'address'}
- 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 = {'master': 'Master', 'rsmembers': 'RsMembers', 'members': 'Members'}
- _toPy = {'Master': 'master', 'RsMembers': 'rsmembers', 'Members': 'members'}
- 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) if master else None
- 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 = {'major': 'Major', 'storageengine': 'StorageEngine', 'patch': 'Patch', 'minor': 'Minor'}
- _toPy = {'StorageEngine': 'storageengine', 'Patch': 'patch', '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 = {'major': 'Major', 'storageengine': 'StorageEngine', 'patch': 'Patch', 'minor': 'Minor'}
- _toPy = {'StorageEngine': 'storageengine', 'Patch': 'patch', '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 = {'public_keys': 'public-keys', 'tag': 'tag'}
- _toPy = {'tag': 'tag', 'public-keys': 'public_keys'}
- 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 = {'kind': 'kind', 'series': 'series', 'arch': 'arch', 'created': 'created', 'url': 'url'}
- _toPy = {'kind': 'kind', 'series': 'series', 'arch': 'arch', 'created': 'created', 'url': 'url'}
- 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 = {'priority': 'priority', 'source': 'source', 'series': 'series', 'root_storage_type': 'root_storage_type', 'version': 'version', 'root_storage_size': 'root_storage_size', 'image_id': 'image_id', 'region': 'region', 'arch': 'arch', 'virt_type': 'virt_type', 'stream': 'stream'}
- _toPy = {'priority': 'priority', 'source': 'source', 'series': 'series', 'root_storage_type': 'root_storage_type', 'version': 'version', 'root_storage_size': 'root_storage_size', 'image_id': 'image_id', 'region': 'region', 'arch': 'arch', 'virt_type': 'virt_type', 'stream': 'stream'}
- 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', 'stream': 'stream', 'root_storage_type': 'root-storage-type', 'arches': 'arches', 'region': 'region', 'virt_type': 'virt_type'}
- _toPy = {'series': 'series', 'stream': 'stream', 'root-storage-type': 'root_storage_type', 'arches': 'arches', 'region': 'region', 'virt_type': 'virt_type'}
- 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 = {'data': 'Data', 'status': 'Status', 'tag': 'Tag', 'info': 'Info'}
- _toPy = {'Tag': 'tag', 'Data': 'data', 'Status': 'status', '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 = {'Tag': 'tag', 'Addresses': 'addresses'}
- 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 = {'Addresses': 'addresses', 'Error': 'error'}
- 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) if error else None
-
-
-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 = {'since': 'Since', 'data': 'Data', 'status': 'Status', 'error': 'Error', 'info': 'Info', 'id_': 'Id', 'life': 'Life'}
- _toPy = {'Life': 'life', 'Info': 'info', 'Id': 'id_', 'Since': 'since', 'Data': 'data', 'Status': 'status', 'Error': 'error'}
- 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) if error else None
- 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 = {'entities': 'Entities', 'mode': 'Mode'}
- _toPy = {'Mode': 'mode', 'Entities': 'entities'}
- def __init__(self, entities=None, mode=None):
- '''
- entities : Entities
- mode : bool
- '''
- self.entities = Entities.from_json(entities) if entities else None
- self.mode = mode
-
-
-class ModifyUserSSHKeys(Type):
- _toSchema = {'user': 'User', 'keys': 'Keys'}
- _toPy = {'User': 'user', 'Keys': 'keys'}
- 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 = {'servicetag': 'ServiceTag', 'unittag': 'UnitTag', 'durationseconds': 'DurationSeconds'}
- _toPy = {'ServiceTag': 'servicetag', 'DurationSeconds': 'durationseconds', 'UnitTag': 'unittag'}
- 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 = {'results': 'results', 'message': 'message', 'status': 'status', 'actiontag': 'actiontag'}
- _toPy = {'results': 'results', 'message': 'message', '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 = {'Jobs': 'jobs', 'Error': 'error'}
- def __init__(self, error=None, jobs=None):
- '''
- error : Error
- jobs : typing.Sequence[str]
- '''
- self.error = Error.from_json(error) if error else None
- 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 = {'interfacename': 'InterfaceName', 'macaddress': 'MACAddress', 'dnssearchdomains': 'DNSSearchDomains', 'providervlanid': 'ProviderVLANId', 'dnsservers': 'DNSServers', 'parentinterfacename': 'ParentInterfaceName', 'disabled': 'Disabled', 'mtu': 'MTU', 'configtype': 'ConfigType', 'provideraddressid': 'ProviderAddressId', 'address': 'Address', 'providerspaceid': 'ProviderSpaceId', 'cidr': 'CIDR', 'noautostart': 'NoAutoStart', 'providerid': 'ProviderId', 'gatewayaddress': 'GatewayAddress', 'deviceindex': 'DeviceIndex', 'providersubnetid': 'ProviderSubnetId', 'interfacetype': 'InterfaceType', 'vlantag': 'VLANTag'}
- _toPy = {'CIDR': 'cidr', 'ProviderSpaceId': 'providerspaceid', 'ConfigType': 'configtype', 'DNSServers': 'dnsservers', 'NoAutoStart': 'noautostart', 'InterfaceName': 'interfacename', 'InterfaceType': 'interfacetype', 'Address': 'address', 'Disabled': 'disabled', 'ProviderSubnetId': 'providersubnetid', 'DeviceIndex': 'deviceindex', 'ProviderAddressId': 'provideraddressid', 'ParentInterfaceName': 'parentinterfacename', 'VLANTag': 'vlantag', 'MTU': 'mtu', 'ProviderVLANId': 'providervlanid', 'DNSSearchDomains': 'dnssearchdomains', 'MACAddress': 'macaddress', 'GatewayAddress': 'gatewayaddress', 'ProviderId': 'providerid'}
- 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 = {'error': 'Error', 'code': 'Code', 'info': 'Info'}
- _toPy = {'Code': 'code', 'Error': 'error', '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) if error else None
- 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', 'value': 'Value', 'time': 'Time'}
- _toPy = {'Value': 'value', 'Key': 'key', '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 = {'uuid': 'UUID', 'created': 'Created', 'charmurl': 'CharmURL', 'metrics': 'Metrics'}
- _toPy = {'CharmURL': 'charmurl', 'Metrics': 'metrics', 'UUID': 'uuid', '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 = {'tag': 'Tag', 'batch': 'Batch'}
- _toPy = {'Tag': 'tag', 'Batch': 'batch'}
- def __init__(self, batch=None, tag=None):
- '''
- batch : MetricBatch
- tag : str
- '''
- self.batch = MetricBatch.from_json(batch) if batch else None
- 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 = {'error': 'error', 'metrics': 'metrics'}
- _toPy = {'error': 'error', 'metrics': 'metrics'}
- def __init__(self, error=None, metrics=None):
- '''
- error : Error
- metrics : typing.Sequence[~MetricResult]
- '''
- self.error = Error.from_json(error) if error else None
- self.metrics = [MetricResult.from_json(o) for o in metrics or []]
-
-
-class MeterStatusParam(Type):
- _toSchema = {'tag': 'tag', 'code': 'code', 'info': 'info'}
- _toPy = {'tag': 'tag', 'code': 'code', 'info': 'info'}
- 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', 'value': 'value', 'time': 'time'}
- _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 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 = {'error': 'Error', 'phase': 'phase'}
- _toPy = {'Error': 'error', 'phase': 'phase'}
- def __init__(self, error=None, phase=None):
- '''
- error : Error
- phase : str
- '''
- self.error = Error.from_json(error) if error else None
- 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', 'spec': 'spec', 'phase': 'phase'}
- _toPy = {'attempt': 'attempt', 'spec': 'spec', 'phase': 'phase'}
- 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) if spec else None
-
-
-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 = {'phase': 'phase', 'attempt': 'attempt', 'source_api_addrs': 'source-api-addrs', 'source_ca_cert': 'source-ca-cert', 'target_api_addrs': 'target-api-addrs', 'target_ca_cert': 'target-ca-cert'}
- _toPy = {'target-ca-cert': 'target_ca_cert', 'source-api-addrs': 'source_api_addrs', 'source-ca-cert': 'source_ca_cert', 'attempt': 'attempt', 'phase': 'phase', 'target-api-addrs': 'target_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', 'Account': 'account', 'Config': 'config'}
- 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) if error else None
- self.result = ModelInfo.from_json(result) if result else None
-
-
-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 = {'model_tag': 'model-tag', 'access': 'access', 'user_tag': 'user-tag', 'action': 'action'}
- _toPy = {'model-tag': 'model_tag', 'access': 'access', 'user-tag': 'user_tag', 'action': 'action'}
- 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 = {'error': 'Error', 'constraints': 'Constraints'}
- _toPy = {'Error': 'error', 'Constraints': 'constraints'}
- def __init__(self, constraints=None, error=None):
- '''
- constraints : Value
- error : Error
- '''
- self.constraints = Value.from_json(constraints) if constraints else None
- self.error = Error.from_json(error) if error else None
-
-
-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 = {'proxy': 'Proxy', 'sslhostnameverification': 'SSLHostnameVerification', 'aptmirror': 'AptMirror', 'allowlxcloopmounts': 'AllowLXCLoopMounts', 'authorizedkeys': 'AuthorizedKeys', 'aptproxy': 'AptProxy', 'preferipv6': 'PreferIPv6', 'updatebehavior': 'UpdateBehavior', 'providertype': 'ProviderType'}
- _toPy = {'UpdateBehavior': 'updatebehavior', 'AptProxy': 'aptproxy', 'Proxy': 'proxy', 'AuthorizedKeys': 'authorizedkeys', 'ProviderType': 'providertype', 'AllowLXCLoopMounts': 'allowlxcloopmounts', 'PreferIPv6': 'preferipv6', 'SSLHostnameVerification': 'sslhostnameverification', 'AptMirror': 'aptmirror'}
- 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) if aptproxy else None
- self.authorizedkeys = authorizedkeys
- self.preferipv6 = preferipv6
- self.providertype = providertype
- self.proxy = Settings.from_json(proxy) if proxy else None
- self.sslhostnameverification = sslhostnameverification
- self.updatebehavior = UpdateBehavior.from_json(updatebehavior) if updatebehavior else None
-
-
-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 = {'Result': 'result', 'Error': 'error'}
- def __init__(self, error=None, result=None):
- '''
- error : Error
- result : typing.Sequence[str]
- '''
- self.error = Error.from_json(error) if error else None
- 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 = {'characteristics': 'Characteristics', 'volumes': 'Volumes', 'networkconfig': 'NetworkConfig', 'volumeattachments': 'VolumeAttachments', 'instanceid': 'InstanceId', 'tag': 'Tag', 'nonce': 'Nonce'}
- _toPy = {'Characteristics': 'characteristics', 'Volumes': 'volumes', 'NetworkConfig': 'networkconfig', 'InstanceId': 'instanceid', 'Nonce': 'nonce', 'Tag': 'tag', 'VolumeAttachments': 'volumeattachments'}
- 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) if characteristics else None
- 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 = {'machinetag': 'MachineTag', 'containertypes': 'ContainerTypes'}
- _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 = {'error': 'Error', 'info': 'Info'}
- _toPy = {'Info': 'info', 'Error': 'error'}
- def __init__(self, error=None, info=None):
- '''
- error : Error
- info : typing.Sequence[~NetworkConfig]
- '''
- self.error = Error.from_json(error) if error else None
- 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 = {'tags': 'Tags', 'imagemetadata': 'ImageMetadata', 'placement': 'Placement', 'volumes': 'Volumes', 'constraints': 'Constraints', 'jobs': 'Jobs', 'endpointbindings': 'EndpointBindings', 'series': 'Series', 'subnetstozones': 'SubnetsToZones'}
- _toPy = {'SubnetsToZones': 'subnetstozones', 'Series': 'series', 'EndpointBindings': 'endpointbindings', 'Placement': 'placement', 'Jobs': 'jobs', 'Tags': 'tags', 'ImageMetadata': 'imagemetadata', 'Volumes': 'volumes', 'Constraints': 'constraints'}
- 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) if constraints else None
- 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 = {'Result': 'result', 'Error': 'error'}
- def __init__(self, error=None, result=None):
- '''
- error : Error
- result : ProvisioningInfo
- '''
- self.error = Error.from_json(error) if error else None
- self.result = ProvisioningInfo.from_json(result) if result else None
-
-
-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 = {'noproxy': 'NoProxy', 'http': 'Http', 'https': 'Https', 'ftp': 'Ftp'}
- _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 = {'disablesslhostnameverification': 'DisableSSLHostnameVerification', 'error': 'Error', 'toolslist': 'ToolsList'}
- _toPy = {'ToolsList': 'toolslist', 'DisableSSLHostnameVerification': 'disablesslhostnameverification', '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) if error else None
- 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 = {'enableosupgrade': 'EnableOSUpgrade', 'enableosrefreshupdate': 'EnableOSRefreshUpdate'}
- _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 = {'volumetag': 'volumetag', 'info': 'info'}
- _toPy = {'volumetag': 'volumetag', 'info': 'info'}
- def __init__(self, info=None, volumetag=None):
- '''
- info : VolumeInfo
- volumetag : str
- '''
- self.info = VolumeInfo.from_json(info) if info else None
- self.volumetag = volumetag
-
-
-class VolumeAttachmentInfo(Type):
- _toSchema = {'devicename': 'devicename', 'busaddress': 'busaddress', 'read_only': 'read-only', 'devicelink': 'devicelink'}
- _toPy = {'devicename': 'devicename', 'busaddress': 'busaddress', 'read-only': 'read_only', 'devicelink': 'devicelink'}
- 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 = {'provider': 'provider', 'machinetag': 'machinetag', 'instanceid': 'instanceid', 'volumetag': 'volumetag', 'volumeid': 'volumeid', 'read_only': 'read-only'}
- _toPy = {'provider': 'provider', 'machinetag': 'machinetag', 'instanceid': 'instanceid', 'volumetag': 'volumetag', 'volumeid': 'volumeid', 'read-only': 'read_only'}
- 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 = {'persistent': 'persistent', 'volumeid': 'volumeid', 'hardwareid': 'hardwareid', 'size': 'size'}
- _toPy = {'persistent': 'persistent', 'volumeid': 'volumeid', 'hardwareid': 'hardwareid', '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 = {'provider': 'provider', 'tags': 'tags', 'attributes': 'attributes', 'volumetag': 'volumetag', 'size': 'size', 'attachment': 'attachment'}
- _toPy = {'provider': 'provider', 'tags': 'tags', 'attributes': 'attributes', 'volumetag': 'volumetag', 'size': 'size', 'attachment': 'attachment'}
- 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) if attachment else None
- self.attributes = attributes
- self.provider = provider
- self.size = size
- self.tags = tags
- self.volumetag = volumetag
-
-
-class WatchContainer(Type):
- _toSchema = {'machinetag': 'MachineTag', 'containertype': 'ContainerType'}
- _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 = {'noproxy': 'NoProxy', 'http': 'HTTP', 'https': 'HTTPS', 'ftp': 'FTP'}
- _toPy = {'HTTP': 'http', 'HTTPS': 'https', 'FTP': 'ftp', '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 = {'aptproxysettings': 'APTProxySettings', 'error': 'Error', 'proxysettings': 'ProxySettings'}
- _toPy = {'APTProxySettings': 'aptproxysettings', 'Error': 'error', 'ProxySettings': 'proxysettings'}
- def __init__(self, aptproxysettings=None, error=None, proxysettings=None):
- '''
- aptproxysettings : ProxyConfig
- error : Error
- proxysettings : ProxyConfig
- '''
- self.aptproxysettings = ProxyConfig.from_json(aptproxysettings) if aptproxysettings else None
- self.error = Error.from_json(error) if error else None
- self.proxysettings = ProxyConfig.from_json(proxysettings) if proxysettings else None
-
-
-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) if error else None
- 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 = {'Departed': 'departed', 'Changed': 'changed'}
- 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 = {'error': 'Error', 'changes': 'Changes', 'relationunitswatcherid': 'RelationUnitsWatcherId'}
- _toPy = {'Changes': 'changes', 'Error': 'error', 'RelationUnitsWatcherId': 'relationunitswatcherid'}
- def __init__(self, changes=None, error=None, relationunitswatcherid=None):
- '''
- changes : RelationUnitsChange
- error : Error
- relationunitswatcherid : str
- '''
- self.changes = RelationUnitsChange.from_json(changes) if changes else None
- self.error = Error.from_json(error) if error else None
- 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 = {'maxretrytime': 'MaxRetryTime', 'minretrytime': 'MinRetryTime', 'shouldretry': 'ShouldRetry', 'jitterretrytime': 'JitterRetryTime', 'retrytimefactor': 'RetryTimeFactor'}
- _toPy = {'RetryTimeFactor': 'retrytimefactor', 'ShouldRetry': 'shouldretry', 'MinRetryTime': 'minretrytime', 'JitterRetryTime': 'jitterretrytime', 'MaxRetryTime': 'maxretrytime'}
- 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 = {'Result': 'result', 'Error': 'error'}
- def __init__(self, error=None, result=None):
- '''
- error : Error
- result : RetryStrategy
- '''
- self.error = Error.from_json(error) if error else None
- self.result = RetryStrategy.from_json(result) if result else None
-
-
-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) if error else None
-
-
-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 = {'public_keys': 'public-keys', 'error': 'error'}
- _toPy = {'error': 'error', 'public-keys': 'public_keys'}
- def __init__(self, error=None, public_keys=None):
- '''
- error : Error
- public_keys : typing.Sequence[str]
- '''
- self.error = Error.from_json(error) if error else None
- 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 = {'numunits': 'NumUnits', 'placement': 'Placement', 'servicename': 'ServiceName'}
- _toPy = {'ServiceName': 'servicename', 'Placement': 'placement', 'NumUnits': 'numunits'}
- 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 = {'name': 'Name', 'limit': 'Limit', 'role': 'Role', 'optional': 'Optional', 'scope': 'Scope', 'interface': 'Interface'}
- _toPy = {'Name': 'name', 'Limit': 'limit', 'Optional': 'optional', 'Role': 'role', 'Interface': 'interface', 'Scope': 'scope'}
- 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 = {'config': 'Config', 'storage': 'Storage', 'numunits': 'NumUnits', 'endpointbindings': 'EndpointBindings', 'series': 'Series', 'charmurl': 'CharmUrl', 'configyaml': 'ConfigYAML', 'constraints': 'Constraints', 'placement': 'Placement', 'servicename': 'ServiceName', 'channel': 'Channel', 'resources': 'Resources'}
- _toPy = {'Storage': 'storage', 'Series': 'series', 'Placement': 'placement', 'ServiceName': 'servicename', 'Resources': 'resources', 'Config': 'config', 'EndpointBindings': 'endpointbindings', 'Channel': 'channel', 'ConfigYAML': 'configyaml', 'CharmUrl': 'charmurl', 'Constraints': 'constraints', 'NumUnits': 'numunits'}
- 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) if constraints else None
- 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 = {'config': 'Config', 'service': 'Service', 'constraints': 'Constraints', 'charm': 'Charm'}
- _toPy = {'Service': 'service', 'Constraints': 'constraints', 'Charm': 'charm', '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) if constraints else None
- self.service = service
-
-
-class ServiceMetricCredential(Type):
- _toSchema = {'metriccredentials': 'MetricCredentials', 'servicename': 'ServiceName'}
- _toPy = {'MetricCredentials': 'metriccredentials', 'ServiceName': 'servicename'}
- 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 = {'options': 'Options', 'servicename': 'ServiceName'}
- _toPy = {'ServiceName': 'servicename', 'Options': 'options'}
- def __init__(self, options=None, servicename=None):
- '''
- options : typing.Mapping[str, str]
- servicename : str
- '''
- self.options = options
- self.servicename = servicename
-
-
-class ServiceSetCharm(Type):
- _toSchema = {'forceseries': 'forceseries', 'forceunits': 'forceunits', 'cs_channel': 'cs-channel', 'resourceids': 'resourceids', 'servicename': 'servicename', 'charmurl': 'charmurl'}
- _toPy = {'forceseries': 'forceseries', 'forceunits': 'forceunits', 'servicename': 'servicename', 'cs-channel': 'cs_channel', 'charmurl': 'charmurl', 'resourceids': 'resourceids'}
- 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 = {'options': 'Options', 'servicename': 'ServiceName'}
- _toPy = {'ServiceName': 'servicename', 'Options': 'options'}
- 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', 'forceseries': 'ForceSeries', 'settingsstrings': 'SettingsStrings', 'constraints': 'Constraints', 'forcecharmurl': 'ForceCharmUrl', 'settingsyaml': 'SettingsYAML', 'charmurl': 'CharmUrl', 'servicename': 'ServiceName'}
- _toPy = {'ForceSeries': 'forceseries', 'ForceCharmUrl': 'forcecharmurl', 'SettingsYAML': 'settingsyaml', 'SettingsStrings': 'settingsstrings', 'ServiceName': 'servicename', 'CharmUrl': 'charmurl', 'MinUnits': 'minunits', 'Constraints': 'constraints'}
- 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) if constraints else None
- 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 = {'controllertag': 'ControllerTag', 'modeltag': 'ModelTag', 'duration': 'Duration'}
- _toPy = {'ControllerTag': 'controllertag', 'ModelTag': 'modeltag', 'Duration': 'duration'}
- 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', 'subnets': 'Subnets', 'error': 'Error'}
- _toPy = {'Name': 'name', 'Error': 'error', 'Subnets': 'subnets'}
- def __init__(self, error=None, name=None, subnets=None):
- '''
- error : Error
- name : str
- subnets : typing.Sequence[~Subnet]
- '''
- self.error = Error.from_json(error) if error else None
- 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 = {'mountpoint': 'mountpoint', 'read_only': 'read-only'}
- _toPy = {'mountpoint': 'mountpoint', 'read-only': 'read_only'}
- 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 = {'volumetag': 'volumetag', 'storage': 'storage', 'machineattachments': 'machineattachments', 'filesystemtag': 'filesystemtag', 'status': 'status', 'info': 'info'}
- _toPy = {'volumetag': 'volumetag', 'storage': 'storage', 'machineattachments': 'machineattachments', 'filesystemtag': 'filesystemtag', 'status': 'status', 'info': 'info'}
- 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) if info else None
- self.machineattachments = {k: FilesystemAttachmentInfo.from_json(v) for k, v in (machineattachments or dict()).items()}
- self.status = EntityStatus.from_json(status) if status else None
- self.storage = StorageDetails.from_json(storage) if storage else None
- 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) if error else None
- 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 = {'filesystemid': 'filesystemid', 'size': 'size'}
- _toPy = {'filesystemid': 'filesystemid', 'size': 'size'}
- def __init__(self, filesystemid=None, size=None):
- '''
- filesystemid : str
- size : int
- '''
- self.filesystemid = filesystemid
- self.size = size
-
-
-class StorageAddParams(Type):
- _toSchema = {'storage': 'storage', 'unit': 'unit', 'storagename': 'StorageName'}
- _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) if storage else None
- self.unit = unit
-
-
-class StorageAttachmentDetails(Type):
- _toSchema = {'machinetag': 'machinetag', 'unittag': 'unittag', 'storagetag': 'storagetag', 'location': 'location'}
- _toPy = {'machinetag': 'machinetag', 'unittag': 'unittag', 'storagetag': 'storagetag', 'location': 'location'}
- 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 = {'size': 'Size', 'pool': 'Pool', 'count': 'Count'}
- _toPy = {'Size': 'size', 'Count': 'count', 'Pool': 'pool'}
- 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', 'attachments': 'attachments', 'storagetag': 'storagetag', 'persistent': 'Persistent', 'ownertag': 'ownertag', 'status': 'status'}
- _toPy = {'kind': 'kind', 'attachments': 'attachments', 'Persistent': 'persistent', 'storagetag': 'storagetag', 'status': 'status', 'ownertag': 'ownertag'}
- 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) if status else None
- 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) if error else None
- 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) if error else None
- self.result = StorageDetails.from_json(result) if result else None
-
-
-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 = {'name': 'name', 'provider': 'provider', 'attrs': 'attrs'}
- _toPy = {'name': 'name', 'provider': 'provider', 'attrs': 'attrs'}
- 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 = {'providers': 'providers', 'names': 'names'}
- _toPy = {'providers': 'providers', 'names': 'names'}
- 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 = {'error': 'error', 'storagepools': 'storagepools'}
- _toPy = {'error': 'error', 'storagepools': 'storagepools'}
- def __init__(self, error=None, storagepools=None):
- '''
- error : Error
- storagepools : typing.Sequence[~StoragePool]
- '''
- self.error = Error.from_json(error) if error else None
- 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 = {'machineattachments': 'machineattachments', 'status': 'status', 'storage': 'storage', 'info': 'info', 'volumetag': 'volumetag'}
- _toPy = {'machineattachments': 'machineattachments', 'status': 'status', 'storage': 'storage', 'info': 'info', 'volumetag': 'volumetag'}
- 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) if info else None
- self.machineattachments = {k: VolumeAttachmentInfo.from_json(v) for k, v in (machineattachments or dict()).items()}
- self.status = EntityStatus.from_json(status) if status else None
- self.storage = StorageDetails.from_json(storage) if storage else None
- 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) if error else None
- 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) if error else None
- self.result = BlockDevice.from_json(result) if result else None
-
-
-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 = {'filesystemtag': 'filesystemtag', 'volumetag': 'volumetag', 'info': 'info'}
- _toPy = {'filesystemtag': 'filesystemtag', 'volumetag': 'volumetag', 'info': 'info'}
- def __init__(self, filesystemtag=None, info=None, volumetag=None):
- '''
- filesystemtag : str
- info : FilesystemInfo
- volumetag : str
- '''
- self.filesystemtag = filesystemtag
- self.info = FilesystemInfo.from_json(info) if info else None
- self.volumetag = volumetag
-
-
-class FilesystemAttachment(Type):
- _toSchema = {'filesystemtag': 'filesystemtag', 'info': 'info', 'machinetag': 'machinetag'}
- _toPy = {'filesystemtag': 'filesystemtag', 'info': 'info', '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) if info else None
- self.machinetag = machinetag
-
-
-class FilesystemAttachmentParams(Type):
- _toSchema = {'filesystemid': 'filesystemid', 'machinetag': 'machinetag', 'provider': 'provider', 'instanceid': 'instanceid', 'filesystemtag': 'filesystemtag', 'mountpoint': 'mountpoint', 'read_only': 'read-only'}
- _toPy = {'filesystemid': 'filesystemid', 'machinetag': 'machinetag', 'provider': 'provider', 'instanceid': 'instanceid', 'filesystemtag': 'filesystemtag', 'mountpoint': 'mountpoint', 'read-only': 'read_only'}
- 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) if error else None
- self.result = FilesystemAttachmentParams.from_json(result) if result else None
-
-
-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) if error else None
- self.result = FilesystemAttachment.from_json(result) if result else None
-
-
-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 = {'provider': 'provider', 'tags': 'tags', 'attributes': 'attributes', 'filesystemtag': 'filesystemtag', 'volumetag': 'volumetag', 'size': 'size', 'attachment': 'attachment'}
- _toPy = {'provider': 'provider', 'tags': 'tags', 'attributes': 'attributes', 'filesystemtag': 'filesystemtag', 'volumetag': 'volumetag', 'size': 'size', 'attachment': 'attachment'}
- 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) if attachment else None
- 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) if error else None
- self.result = FilesystemParams.from_json(result) if result else None
-
-
-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) if error else None
- self.result = Filesystem.from_json(result) if result else None
-
-
-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 = {'machinetag': 'machinetag', 'volumetag': 'volumetag', 'info': 'info'}
- _toPy = {'machinetag': 'machinetag', 'volumetag': 'volumetag', 'info': 'info'}
- def __init__(self, info=None, machinetag=None, volumetag=None):
- '''
- info : VolumeAttachmentInfo
- machinetag : str
- volumetag : str
- '''
- self.info = VolumeAttachmentInfo.from_json(info) if info else None
- 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) if error else None
- self.result = VolumeAttachmentParams.from_json(result) if result else None
-
-
-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) if error else None
- self.result = VolumeAttachment.from_json(result) if result else None
-
-
-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) if error else None
- self.result = VolumeParams.from_json(result) if result else None
-
-
-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) if error else None
- self.result = Volume.from_json(result) if result else None
-
-
-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 = {'Tag': 'tag', 'Error': 'error'}
- def __init__(self, error=None, tag=None):
- '''
- error : Error
- tag : str
- '''
- self.error = Error.from_json(error) if error else None
- 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 = {'name': 'Name', 'error': 'Error', 'available': 'Available'}
- _toPy = {'Available': 'available', 'Error': 'error', 'Name': 'name'}
- def __init__(self, available=None, error=None, name=None):
- '''
- available : bool
- error : Error
- name : str
- '''
- self.available = available
- self.error = Error.from_json(error) if error else None
- 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', 'name': 'Name', 'uuid': 'UUID', 'issystem': 'IsSystem', 'life': 'Life'}
- _toPy = {'IsSystem': 'issystem', 'GlobalName': 'globalname', 'Name': 'name', 'UUID': 'uuid', 'Life': 'life'}
- 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 = {'Result': 'result', 'Error': 'error'}
- def __init__(self, error=None, result=None):
- '''
- error : Error
- result : UndertakerModelInfo
- '''
- self.error = Error.from_json(error) if error else None
- self.result = UndertakerModelInfo.from_json(result) if result else None
-
-
-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 = {'error': 'Error', 'settings': 'Settings'}
- _toPy = {'Settings': 'settings', 'Error': 'error'}
- def __init__(self, error=None, settings=None):
- '''
- error : Error
- settings : typing.Mapping[str, typing.Any]
- '''
- self.error = Error.from_json(error) if error else None
- 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 = {'servicename': 'ServiceName', 'relation': 'Relation'}
- _toPy = {'Relation': 'relation', 'ServiceName': 'servicename'}
- def __init__(self, relation=None, servicename=None):
- '''
- relation : Relation
- servicename : str
- '''
- self.relation = Relation.from_json(relation) if relation else None
- 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 = {'CharmURL': 'charmurl', 'Tag': 'tag'}
- def __init__(self, charmurl=None, tag=None):
- '''
- charmurl : str
- tag : str
- '''
- self.charmurl = charmurl
- self.tag = tag
-
-
-class EntityPortRange(Type):
- _toSchema = {'fromport': 'FromPort', 'protocol': 'Protocol', 'tag': 'Tag', 'toport': 'ToPort'}
- _toPy = {'Protocol': 'protocol', 'Tag': 'tag', 'FromPort': 'fromport', '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 = {'error': 'Error', 'settings': 'Settings'}
- _toPy = {'Settings': 'settings', 'Error': 'error'}
- def __init__(self, error=None, settings=None):
- '''
- error : Error
- settings : typing.Mapping[str, str]
- '''
- self.error = Error.from_json(error) if error else None
- self.settings = settings
-
-
-class IntResult(Type):
- _toSchema = {'error': 'Error', 'result': 'Result'}
- _toPy = {'Result': 'result', 'Error': 'error'}
- def __init__(self, error=None, result=None):
- '''
- error : Error
- result : int
- '''
- self.error = Error.from_json(error) if error else None
- 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 = {'servicetag': 'ServiceTag', 'settings': 'Settings'}
- _toPy = {'Settings': 'settings', 'ServiceTag': 'servicetag'}
- def __init__(self, servicetag=None, settings=None):
- '''
- servicetag : str
- settings : typing.Mapping[str, str]
- '''
- self.servicetag = servicetag
- self.settings = settings
-
-
-class ModelResult(Type):
- _toSchema = {'name': 'Name', 'uuid': 'UUID', '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) if error else None
- 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 = {'key': 'Key', 'error': 'Error', 'id_': 'Id', 'endpoint': 'Endpoint', 'life': 'Life'}
- _toPy = {'Id': 'id_', 'Endpoint': 'endpoint', 'Life': 'life', 'Key': 'key', 'Error': 'error'}
- 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) if endpoint else None
- self.error = Error.from_json(error) if error else None
- 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 = {'unit': 'Unit', 'relation': 'Relation'}
- _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 = {'remoteunit': 'RemoteUnit', 'localunit': 'LocalUnit', 'relation': 'Relation'}
- _toPy = {'LocalUnit': 'localunit', 'RemoteUnit': 'remoteunit', 'Relation': 'relation'}
- 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 = {'unit': 'Unit', 'settings': 'Settings', 'relation': 'Relation'}
- _toPy = {'Settings': 'settings', 'Relation': 'relation', '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 = {'error': 'Error', 'mode': 'Mode'}
- _toPy = {'Mode': 'mode', 'Error': 'error'}
- def __init__(self, error=None, mode=None):
- '''
- error : Error
- mode : str
- '''
- self.error = Error.from_json(error) if error else None
- 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 = {'error': 'Error', 'service': 'Service', 'units': 'Units'}
- _toPy = {'Service': 'service', 'Units': 'units', 'Error': 'error'}
- def __init__(self, error=None, service=None, units=None):
- '''
- error : Error
- service : StatusResult
- units : typing.Mapping[str, ~StatusResult]
- '''
- self.error = Error.from_json(error) if error else None
- self.service = StatusResult.from_json(service) if service else None
- 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 = {'error': 'Error', 'settings': 'Settings'}
- _toPy = {'Settings': 'settings', 'Error': 'error'}
- def __init__(self, error=None, settings=None):
- '''
- error : Error
- settings : typing.Mapping[str, str]
- '''
- self.error = Error.from_json(error) if error else None
- 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', 'unittag': 'UnitTag', 'storagetag': 'StorageTag', 'ownertag': 'OwnerTag', 'life': 'Life', 'location': 'Location'}
- _toPy = {'StorageTag': 'storagetag', 'Life': 'life', 'OwnerTag': 'ownertag', 'Kind': 'kind', 'Location': 'location', 'UnitTag': 'unittag'}
- 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 = {'unittag': 'unittag', 'storagetag': 'storagetag'}
- _toPy = {'unittag': 'unittag', 'storagetag': 'storagetag'}
- 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) if error else None
- self.result = StorageAttachmentIds.from_json(result) if result else None
-
-
-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) if error else None
- self.result = StorageAttachment.from_json(result) if result else None
-
-
-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 = {'error': 'Error', 'result': 'Result', 'ok': 'Ok'}
- _toPy = {'Result': 'result', 'Error': 'error', 'Ok': 'ok'}
- def __init__(self, error=None, ok=None, result=None):
- '''
- error : Error
- ok : bool
- result : str
- '''
- self.error = Error.from_json(error) if error else None
- 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 = {'error': 'Error', 'info': 'Info'}
- _toPy = {'Info': 'info', 'Error': 'error'}
- def __init__(self, error=None, info=None):
- '''
- error : Error
- info : typing.Sequence[~NetworkConfig]
- '''
- self.error = Error.from_json(error) if error else None
- 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 = {'tag': 'Tag', 'tools': 'Tools'}
- _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) if tools else None
-
-
-class VersionResult(Type):
- _toSchema = {'version': 'Version', 'error': 'Error'}
- _toPy = {'Version': 'version', 'Error': 'error'}
- def __init__(self, error=None, version=None):
- '''
- error : Error
- version : Number
- '''
- self.error = Error.from_json(error) if error else None
- self.version = Number.from_json(version) if version else None
-
-
-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 = {'display_name': 'display-name', 'model_access_permission': 'model-access-permission', 'shared_model_tags': 'shared-model-tags', 'password': 'password', 'username': 'username'}
- _toPy = {'model-access-permission': 'model_access_permission', 'password': 'password', 'shared-model-tags': 'shared_model_tags', 'display-name': 'display_name', 'username': 'username'}
- 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 = {'tag': 'tag', 'error': 'error', 'secret_key': 'secret-key'}
- _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) if error else None
- 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) if error else None
- self.result = Macaroon.from_json(result) if result else None
-
-
-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 = {'last_connection': 'last-connection', 'created_by': 'created-by', 'date_created': 'date-created', 'username': 'username', 'display_name': 'display-name', 'disabled': 'disabled'}
- _toPy = {'created-by': 'created_by', 'date-created': 'date_created', 'display-name': 'display_name', 'disabled': 'disabled', 'last-connection': 'last_connection', 'username': 'username'}
- 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 = {'entities': 'entities', 'include-disabled': 'include_disabled'}
- 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) if error else None
- self.result = UserInfo.from_json(result) if result else None
-
-
-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 -> <class 'str'>
- '''
- # 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
schemas = json.loads(Path(options.schema).read_text("utf-8"))
capture = codegen.CodeWriter()
capture.write("""
+# DO NOT CHANGE THIS FILE! This file is auto-generated by facade.py.
+# Changes will be overwritten/lost when the file is regenerated.
+
from juju.client.facade import Type, ReturnMapping
""")
schemas = [Schema(s) for s in schemas]
--- /dev/null
+from .facade import Type
+
+__all__ = [
+ 'Delta',
+]
+
+
+class Delta(Type):
+ _toSchema = {'deltas': 'Deltas'}
+ _toPy = {'Deltas': 'deltas'}
+
+ def __init__(self, deltas=None):
+ '''
+ deltas : [str, str, object]
+ '''
+ self.deltas = deltas
+
+ @classmethod
+ def from_json(cls, data):
+ return cls(deltas=data)
[
{
"Name": "Action",
- "Version": 1,
+ "Version": 2,
"Schema": {
"type": "object",
"properties": {
}
}
},
+ "ApplicationsCharmsActions": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ApplicationsCharmActionsResults"
+ }
+ }
+ },
"Cancel": {
"type": "object",
"properties": {
"$ref": "#/definitions/ActionResults"
}
}
- },
- "ServicesCharmActions": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/ServicesCharmActionsResults"
- }
- }
}
},
"definitions": {
},
"additionalProperties": false
},
+ "ActionSpec": {
+ "type": "object",
+ "properties": {
+ "Description": {
+ "type": "string"
+ },
+ "Params": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Description",
+ "Params"
+ ]
+ },
"Actions": {
"type": "object",
"properties": {
- "actions": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Action"
+ "ActionSpecs": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/ActionSpec"
+ }
}
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "ActionSpecs"
+ ]
},
"ActionsByName": {
"type": "object",
},
"additionalProperties": false
},
+ "ApplicationCharmActionsResult": {
+ "type": "object",
+ "properties": {
+ "ApplicationTag": {
+ "type": "string"
+ },
+ "actions": {
+ "$ref": "#/definitions/Actions"
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ApplicationsCharmActionsResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationCharmActionsResult"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
"Entities": {
"type": "object",
"properties": {
"RunParams": {
"type": "object",
"properties": {
- "Commands": {
- "type": "string"
- },
- "Machines": {
+ "Applications": {
"type": "array",
"items": {
"type": "string"
}
},
- "Services": {
+ "Commands": {
+ "type": "string"
+ },
+ "Machines": {
"type": "array",
"items": {
"type": "string"
"Commands",
"Timeout",
"Machines",
- "Services",
+ "Applications",
"Units"
]
},
- "ServiceCharmActionsResult": {
- "type": "object",
- "properties": {
- "actions": {
- "$ref": "#/definitions/Actions"
- },
- "error": {
- "$ref": "#/definitions/Error"
- },
- "servicetag": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "ServicesCharmActionsResults": {
- "type": "object",
- "properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ServiceCharmActionsResult"
- }
- }
- },
- "additionalProperties": false
- },
"caveat": {
"type": "object",
"properties": {
}
},
{
- "Name": "Backups",
+ "Name": "Application",
"Version": 1,
"Schema": {
"type": "object",
"properties": {
- "Create": {
+ "AddRelation": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/BackupsCreateArgs"
+ "$ref": "#/definitions/AddRelation"
},
"Result": {
- "$ref": "#/definitions/BackupsMetadataResult"
+ "$ref": "#/definitions/AddRelationResults"
}
}
},
- "FinishRestore": {
- "type": "object"
- },
- "Info": {
+ "AddUnits": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/BackupsInfoArgs"
+ "$ref": "#/definitions/AddApplicationUnits"
},
"Result": {
- "$ref": "#/definitions/BackupsMetadataResult"
+ "$ref": "#/definitions/AddApplicationUnitsResults"
}
}
},
- "List": {
+ "CharmRelations": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/BackupsListArgs"
+ "$ref": "#/definitions/ApplicationCharmRelations"
},
"Result": {
- "$ref": "#/definitions/BackupsListResult"
+ "$ref": "#/definitions/ApplicationCharmRelationsResults"
}
}
},
- "PrepareRestore": {
- "type": "object"
- },
- "Remove": {
+ "Deploy": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/BackupsRemoveArgs"
+ "$ref": "#/definitions/ApplicationsDeploy"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
}
}
},
- "Restore": {
+ "Destroy": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/RestoreArgs"
+ "$ref": "#/definitions/ApplicationDestroy"
}
}
- }
- },
- "definitions": {
- "BackupsCreateArgs": {
+ },
+ "DestroyRelation": {
"type": "object",
"properties": {
- "Notes": {
- "type": "string"
+ "Params": {
+ "$ref": "#/definitions/DestroyRelation"
}
- },
- "additionalProperties": false,
- "required": [
- "Notes"
- ]
+ }
},
- "BackupsInfoArgs": {
+ "DestroyUnits": {
"type": "object",
"properties": {
- "ID": {
- "type": "string"
+ "Params": {
+ "$ref": "#/definitions/DestroyApplicationUnits"
}
- },
- "additionalProperties": false,
- "required": [
- "ID"
- ]
+ }
},
- "BackupsListArgs": {
+ "Expose": {
"type": "object",
- "additionalProperties": false
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ApplicationExpose"
+ }
+ }
},
- "BackupsListResult": {
+ "Get": {
"type": "object",
"properties": {
- "List": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/BackupsMetadataResult"
- }
+ "Params": {
+ "$ref": "#/definitions/ApplicationGet"
+ },
+ "Result": {
+ "$ref": "#/definitions/ApplicationGetResults"
}
- },
- "additionalProperties": false,
- "required": [
- "List"
- ]
+ }
},
- "BackupsMetadataResult": {
+ "GetCharmURL": {
"type": "object",
"properties": {
- "CACert": {
- "type": "string"
- },
- "CAPrivateKey": {
- "type": "string"
- },
- "Checksum": {
- "type": "string"
- },
- "ChecksumFormat": {
- "type": "string"
- },
- "Finished": {
- "type": "string",
- "format": "date-time"
- },
- "Hostname": {
- "type": "string"
- },
- "ID": {
- "type": "string"
- },
- "Machine": {
- "type": "string"
- },
- "Model": {
- "type": "string"
- },
- "Notes": {
- "type": "string"
- },
- "Size": {
- "type": "integer"
- },
- "Started": {
- "type": "string",
- "format": "date-time"
- },
- "Stored": {
- "type": "string",
- "format": "date-time"
+ "Params": {
+ "$ref": "#/definitions/ApplicationGet"
},
- "Version": {
- "$ref": "#/definitions/Number"
+ "Result": {
+ "$ref": "#/definitions/StringResult"
}
- },
- "additionalProperties": false,
- "required": [
- "ID",
- "Checksum",
- "ChecksumFormat",
- "Size",
- "Stored",
- "Started",
- "Finished",
- "Notes",
- "Model",
- "Machine",
- "Hostname",
- "Version",
- "CACert",
- "CAPrivateKey"
- ]
+ }
},
- "BackupsRemoveArgs": {
+ "GetConstraints": {
"type": "object",
"properties": {
- "ID": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "ID"
- ]
+ "Params": {
+ "$ref": "#/definitions/GetApplicationConstraints"
+ },
+ "Result": {
+ "$ref": "#/definitions/GetConstraintsResults"
+ }
+ }
},
- "Number": {
+ "Set": {
"type": "object",
"properties": {
- "Build": {
- "type": "integer"
- },
- "Major": {
- "type": "integer"
- },
- "Minor": {
- "type": "integer"
- },
- "Patch": {
- "type": "integer"
- },
- "Tag": {
- "type": "string"
+ "Params": {
+ "$ref": "#/definitions/ApplicationSet"
}
- },
- "additionalProperties": false,
- "required": [
- "Major",
- "Minor",
- "Tag",
- "Patch",
- "Build"
- ]
+ }
},
- "RestoreArgs": {
+ "SetCharm": {
"type": "object",
"properties": {
- "BackupId": {
- "type": "string"
+ "Params": {
+ "$ref": "#/definitions/ApplicationSetCharm"
}
- },
- "additionalProperties": false,
- "required": [
- "BackupId"
- ]
- }
- }
- }
- },
- {
- "Name": "Block",
- "Version": 2,
- "Schema": {
- "type": "object",
- "properties": {
- "List": {
+ }
+ },
+ "SetConstraints": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/BlockResults"
+ "Params": {
+ "$ref": "#/definitions/SetConstraints"
}
}
},
- "SwitchBlockOff": {
+ "SetMetricCredentials": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/BlockSwitchParams"
+ "$ref": "#/definitions/ApplicationMetricCredentials"
},
"Result": {
- "$ref": "#/definitions/ErrorResult"
+ "$ref": "#/definitions/ErrorResults"
}
}
},
- "SwitchBlockOn": {
+ "Unexpose": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/BlockSwitchParams"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResult"
+ "$ref": "#/definitions/ApplicationUnexpose"
+ }
+ }
+ },
+ "Unset": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ApplicationUnset"
+ }
+ }
+ },
+ "Update": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ApplicationUpdate"
}
}
}
},
"definitions": {
- "Block": {
+ "AddApplicationUnits": {
"type": "object",
"properties": {
- "id": {
- "type": "string"
- },
- "message": {
+ "ApplicationName": {
"type": "string"
},
- "tag": {
- "type": "string"
+ "NumUnits": {
+ "type": "integer"
},
- "type": {
- "type": "string"
+ "Placement": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Placement"
+ }
}
},
"additionalProperties": false,
"required": [
- "id",
- "tag",
- "type"
+ "ApplicationName",
+ "NumUnits",
+ "Placement"
]
},
- "BlockResult": {
+ "AddApplicationUnitsResults": {
"type": "object",
"properties": {
- "error": {
- "$ref": "#/definitions/Error"
- },
- "result": {
- "$ref": "#/definitions/Block"
+ "Units": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
"additionalProperties": false,
"required": [
- "result"
+ "Units"
]
},
- "BlockResults": {
+ "AddRelation": {
"type": "object",
"properties": {
- "results": {
+ "Endpoints": {
"type": "array",
"items": {
- "$ref": "#/definitions/BlockResult"
+ "type": "string"
}
}
},
- "additionalProperties": false
- },
- "BlockSwitchParams": {
- "type": "object",
- "properties": {
- "message": {
- "type": "string"
- },
- "type": {
- "type": "string"
- }
- },
"additionalProperties": false,
"required": [
- "type"
+ "Endpoints"
]
},
- "Error": {
+ "AddRelationResults": {
"type": "object",
"properties": {
- "Code": {
- "type": "string"
- },
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
- },
- "Message": {
- "type": "string"
+ "Endpoints": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/Relation"
+ }
+ }
}
},
"additionalProperties": false,
"required": [
- "Message",
- "Code"
+ "Endpoints"
]
},
- "ErrorInfo": {
+ "ApplicationCharmRelations": {
"type": "object",
"properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
- },
- "MacaroonPath": {
+ "ApplicationName": {
"type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "ApplicationName"
+ ]
},
- "ErrorResult": {
+ "ApplicationCharmRelationsResults": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "CharmRelations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
"additionalProperties": false,
"required": [
- "Error"
+ "CharmRelations"
]
},
- "Macaroon": {
+ "ApplicationDeploy": {
"type": "object",
"properties": {
- "caveats": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/caveat"
+ "ApplicationName": {
+ "type": "string"
+ },
+ "Channel": {
+ "type": "string"
+ },
+ "CharmUrl": {
+ "type": "string"
+ },
+ "Config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
}
},
- "data": {
+ "ConfigYAML": {
+ "type": "string"
+ },
+ "Constraints": {
+ "$ref": "#/definitions/Value"
+ },
+ "EndpointBindings": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ }
+ },
+ "NumUnits": {
+ "type": "integer"
+ },
+ "Placement": {
"type": "array",
"items": {
- "type": "integer"
+ "$ref": "#/definitions/Placement"
}
},
- "id": {
- "$ref": "#/definitions/packet"
+ "Resources": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ }
},
- "location": {
- "$ref": "#/definitions/packet"
+ "Series": {
+ "type": "string"
},
- "sig": {
- "type": "array",
- "items": {
- "type": "integer"
+ "Storage": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/Constraints"
+ }
}
}
},
"additionalProperties": false,
"required": [
- "data",
- "location",
- "id",
- "caveats",
- "sig"
- ]
- },
- "caveat": {
- "type": "object",
+ "ApplicationName",
+ "Series",
+ "CharmUrl",
+ "Channel",
+ "NumUnits",
+ "Config",
+ "ConfigYAML",
+ "Constraints",
+ "Placement",
+ "Storage",
+ "EndpointBindings",
+ "Resources"
+ ]
+ },
+ "ApplicationDestroy": {
+ "type": "object",
"properties": {
- "caveatId": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
- },
- "verificationId": {
- "$ref": "#/definitions/packet"
+ "ApplicationName": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "location",
- "caveatId",
- "verificationId"
+ "ApplicationName"
]
},
- "packet": {
+ "ApplicationExpose": {
"type": "object",
"properties": {
- "headerLen": {
- "type": "integer"
- },
- "start": {
- "type": "integer"
- },
- "totalLen": {
- "type": "integer"
+ "ApplicationName": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "start",
- "totalLen",
- "headerLen"
+ "ApplicationName"
]
- }
- }
- }
- },
- {
- "Name": "CharmRevisionUpdater",
- "Version": 1,
- "Schema": {
- "type": "object",
- "properties": {
- "UpdateLatestRevisions": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/ErrorResult"
- }
- }
- }
- },
- "definitions": {
- "Error": {
+ },
+ "ApplicationGet": {
"type": "object",
"properties": {
- "Code": {
- "type": "string"
- },
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
- },
- "Message": {
+ "ApplicationName": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Message",
- "Code"
+ "ApplicationName"
]
},
- "ErrorInfo": {
+ "ApplicationGetResults": {
"type": "object",
"properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
+ "Application": {
+ "type": "string"
},
- "MacaroonPath": {
+ "Charm": {
"type": "string"
- }
- },
- "additionalProperties": false
- },
- "ErrorResult": {
- "type": "object",
- "properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ },
+ "Config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ },
+ "Constraints": {
+ "$ref": "#/definitions/Value"
}
},
"additionalProperties": false,
"required": [
- "Error"
+ "Application",
+ "Charm",
+ "Config",
+ "Constraints"
]
},
- "Macaroon": {
+ "ApplicationMetricCredential": {
"type": "object",
"properties": {
- "caveats": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/caveat"
- }
- },
- "data": {
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
- "id": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
+ "ApplicationName": {
+ "type": "string"
},
- "sig": {
+ "MetricCredentials": {
"type": "array",
"items": {
"type": "integer"
},
"additionalProperties": false,
"required": [
- "data",
- "location",
- "id",
- "caveats",
- "sig"
+ "ApplicationName",
+ "MetricCredentials"
]
},
- "caveat": {
+ "ApplicationMetricCredentials": {
"type": "object",
"properties": {
- "caveatId": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
- },
- "verificationId": {
- "$ref": "#/definitions/packet"
+ "Creds": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationMetricCredential"
+ }
}
},
"additionalProperties": false,
"required": [
- "location",
- "caveatId",
- "verificationId"
+ "Creds"
]
},
- "packet": {
+ "ApplicationSet": {
"type": "object",
"properties": {
- "headerLen": {
- "type": "integer"
- },
- "start": {
- "type": "integer"
+ "ApplicationName": {
+ "type": "string"
},
- "totalLen": {
- "type": "integer"
+ "Options": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ }
}
},
"additionalProperties": false,
"required": [
- "start",
- "totalLen",
- "headerLen"
+ "ApplicationName",
+ "Options"
]
- }
- }
- }
- },
- {
- "Name": "Charms",
- "Version": 2,
- "Schema": {
- "type": "object",
- "properties": {
- "CharmInfo": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/CharmInfo"
- },
- "Result": {
- "$ref": "#/definitions/CharmInfo"
- }
- }
},
- "IsMetered": {
+ "ApplicationSetCharm": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/CharmInfo"
+ "applicationname": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/IsMeteredResult"
- }
- }
- },
- "List": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/CharmsList"
+ "charmurl": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/CharmsListResult"
- }
- }
- }
- },
- "definitions": {
- "CharmInfo": {
- "type": "object",
- "properties": {
- "CharmURL": {
+ "cs-channel": {
"type": "string"
+ },
+ "forceseries": {
+ "type": "boolean"
+ },
+ "forceunits": {
+ "type": "boolean"
+ },
+ "resourceids": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ }
}
},
"additionalProperties": false,
"required": [
- "CharmURL"
+ "applicationname",
+ "charmurl",
+ "cs-channel",
+ "forceunits",
+ "forceseries",
+ "resourceids"
]
},
- "CharmsList": {
+ "ApplicationUnexpose": {
"type": "object",
"properties": {
- "Names": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "ApplicationName": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Names"
+ "ApplicationName"
]
},
- "CharmsListResult": {
+ "ApplicationUnset": {
"type": "object",
"properties": {
- "CharmURLs": {
+ "ApplicationName": {
+ "type": "string"
+ },
+ "Options": {
"type": "array",
"items": {
"type": "string"
},
"additionalProperties": false,
"required": [
- "CharmURLs"
+ "ApplicationName",
+ "Options"
]
},
- "IsMeteredResult": {
+ "ApplicationUpdate": {
"type": "object",
"properties": {
- "Metered": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "Metered"
+ "ApplicationName": {
+ "type": "string"
+ },
+ "CharmUrl": {
+ "type": "string"
+ },
+ "Constraints": {
+ "$ref": "#/definitions/Value"
+ },
+ "ForceCharmUrl": {
+ "type": "boolean"
+ },
+ "ForceSeries": {
+ "type": "boolean"
+ },
+ "MinUnits": {
+ "type": "integer"
+ },
+ "SettingsStrings": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ }
+ },
+ "SettingsYAML": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "ApplicationName",
+ "CharmUrl",
+ "ForceCharmUrl",
+ "ForceSeries",
+ "MinUnits",
+ "SettingsStrings",
+ "SettingsYAML",
+ "Constraints"
]
- }
- }
- }
- },
- {
- "Name": "Cleaner",
- "Version": 2,
- "Schema": {
- "type": "object",
- "properties": {
- "Cleanup": {
- "type": "object"
},
- "WatchCleanups": {
+ "ApplicationsDeploy": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/NotifyWatchResult"
+ "Applications": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationDeploy"
+ }
}
- }
- }
- },
- "definitions": {
+ },
+ "additionalProperties": false,
+ "required": [
+ "Applications"
+ ]
+ },
+ "Constraints": {
+ "type": "object",
+ "properties": {
+ "Count": {
+ "type": "integer"
+ },
+ "Pool": {
+ "type": "string"
+ },
+ "Size": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Pool",
+ "Size",
+ "Count"
+ ]
+ },
+ "DestroyApplicationUnits": {
+ "type": "object",
+ "properties": {
+ "UnitNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "UnitNames"
+ ]
+ },
+ "DestroyRelation": {
+ "type": "object",
+ "properties": {
+ "Endpoints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Endpoints"
+ ]
+ },
"Error": {
"type": "object",
"properties": {
},
"additionalProperties": false
},
+ "ErrorResult": {
+ "type": "object",
+ "properties": {
+ "Error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Error"
+ ]
+ },
+ "ErrorResults": {
+ "type": "object",
+ "properties": {
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
+ },
+ "GetApplicationConstraints": {
+ "type": "object",
+ "properties": {
+ "ApplicationName": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "ApplicationName"
+ ]
+ },
+ "GetConstraintsResults": {
+ "type": "object",
+ "properties": {
+ "Constraints": {
+ "$ref": "#/definitions/Value"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Constraints"
+ ]
+ },
"Macaroon": {
"type": "object",
"properties": {
"sig"
]
},
- "NotifyWatchResult": {
+ "Placement": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "Directive": {
+ "type": "string"
},
- "NotifyWatcherId": {
+ "Scope": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "NotifyWatcherId",
- "Error"
+ "Scope",
+ "Directive"
]
},
- "caveat": {
+ "Relation": {
"type": "object",
"properties": {
- "caveatId": {
- "$ref": "#/definitions/packet"
+ "Interface": {
+ "type": "string"
},
- "location": {
- "$ref": "#/definitions/packet"
+ "Limit": {
+ "type": "integer"
},
- "verificationId": {
- "$ref": "#/definitions/packet"
+ "Name": {
+ "type": "string"
+ },
+ "Optional": {
+ "type": "boolean"
+ },
+ "Role": {
+ "type": "string"
+ },
+ "Scope": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "location",
- "caveatId",
- "verificationId"
+ "Name",
+ "Role",
+ "Interface",
+ "Optional",
+ "Limit",
+ "Scope"
]
},
- "packet": {
+ "SetConstraints": {
"type": "object",
"properties": {
- "headerLen": {
- "type": "integer"
- },
- "start": {
- "type": "integer"
+ "ApplicationName": {
+ "type": "string"
},
- "totalLen": {
- "type": "integer"
+ "Constraints": {
+ "$ref": "#/definitions/Value"
}
},
"additionalProperties": false,
"required": [
- "start",
- "totalLen",
- "headerLen"
+ "ApplicationName",
+ "Constraints"
]
- }
- }
- }
- },
- {
- "Name": "Client",
- "Version": 1,
- "Schema": {
- "type": "object",
- "properties": {
- "APIHostPorts": {
+ },
+ "StringResult": {
"type": "object",
"properties": {
+ "Error": {
+ "$ref": "#/definitions/Error"
+ },
"Result": {
- "$ref": "#/definitions/APIHostPortsResult"
+ "type": "string"
}
- }
- },
- "AbortCurrentUpgrade": {
- "type": "object"
+ },
+ "additionalProperties": false,
+ "required": [
+ "Error",
+ "Result"
+ ]
},
- "AddCharm": {
+ "Value": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/AddCharm"
- }
- }
+ "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": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "virt-type": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
},
- "AddCharmWithAuthorization": {
+ "caveat": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/AddCharmWithAuthorization"
+ "caveatId": {
+ "$ref": "#/definitions/packet"
+ },
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "verificationId": {
+ "$ref": "#/definitions/packet"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "location",
+ "caveatId",
+ "verificationId"
+ ]
},
- "AddMachines": {
+ "packet": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/AddMachines"
+ "headerLen": {
+ "type": "integer"
},
- "Result": {
- "$ref": "#/definitions/AddMachinesResults"
+ "start": {
+ "type": "integer"
+ },
+ "totalLen": {
+ "type": "integer"
}
- }
- },
- "AddMachinesV2": {
+ },
+ "additionalProperties": false,
+ "required": [
+ "start",
+ "totalLen",
+ "headerLen"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "Name": "ApplicationScaler",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "Rescale": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/AddMachines"
+ "$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/AddMachinesResults"
+ "$ref": "#/definitions/ErrorResults"
}
}
},
- "AgentVersion": {
+ "Watch": {
"type": "object",
"properties": {
"Result": {
- "$ref": "#/definitions/AgentVersionResult"
+ "$ref": "#/definitions/StringsWatchResult"
}
}
- },
- "CharmInfo": {
+ }
+ },
+ "definitions": {
+ "Entities": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/CharmInfo"
- },
- "Result": {
- "$ref": "#/definitions/CharmInfo"
+ "Entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Entities"
+ ]
},
- "DestroyMachines": {
+ "Entity": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/DestroyMachines"
+ "Tag": {
+ "type": "string"
}
- }
- },
- "DestroyModel": {
- "type": "object"
+ },
+ "additionalProperties": false,
+ "required": [
+ "Tag"
+ ]
},
- "FindTools": {
+ "Error": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/FindToolsParams"
+ "Code": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/FindToolsResult"
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "Message": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Message",
+ "Code"
+ ]
},
- "FullStatus": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/StatusParams"
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
},
- "Result": {
- "$ref": "#/definitions/FullStatus"
+ "MacaroonPath": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false
},
- "GetBundleChanges": {
+ "ErrorResult": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/GetBundleChangesParams"
- },
- "Result": {
- "$ref": "#/definitions/GetBundleChangesResults"
+ "Error": {
+ "$ref": "#/definitions/Error"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Error"
+ ]
},
- "GetModelConstraints": {
+ "ErrorResults": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/GetConstraintsResults"
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResult"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
},
- "InjectMachines": {
+ "Macaroon": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/AddMachines"
+ "caveats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/caveat"
+ }
},
- "Result": {
- "$ref": "#/definitions/AddMachinesResults"
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "id": {
+ "$ref": "#/definitions/packet"
+ },
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "sig": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "data",
+ "location",
+ "id",
+ "caveats",
+ "sig"
+ ]
},
- "ModelGet": {
+ "StringsWatchResult": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/ModelConfigResults"
+ "Changes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "Error": {
+ "$ref": "#/definitions/Error"
+ },
+ "StringsWatcherId": {
+ "type": "string"
}
- }
- },
- "ModelInfo": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/ModelInfo"
- }
- }
- },
- "ModelSet": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/ModelSet"
- }
- }
- },
- "ModelUnset": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/ModelUnset"
- }
- }
- },
- "ModelUserInfo": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/ModelUserInfoResults"
- }
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "StringsWatcherId",
+ "Changes",
+ "Error"
+ ]
},
- "PrivateAddress": {
+ "caveat": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/PrivateAddress"
+ "caveatId": {
+ "$ref": "#/definitions/packet"
},
- "Result": {
- "$ref": "#/definitions/PrivateAddressResults"
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "verificationId": {
+ "$ref": "#/definitions/packet"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "location",
+ "caveatId",
+ "verificationId"
+ ]
},
- "ProvisioningScript": {
+ "packet": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/ProvisioningScriptParams"
+ "headerLen": {
+ "type": "integer"
},
- "Result": {
- "$ref": "#/definitions/ProvisioningScriptResult"
+ "start": {
+ "type": "integer"
+ },
+ "totalLen": {
+ "type": "integer"
}
- }
- },
- "PublicAddress": {
+ },
+ "additionalProperties": false,
+ "required": [
+ "start",
+ "totalLen",
+ "headerLen"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "Name": "Backups",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "Create": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/PublicAddress"
+ "$ref": "#/definitions/BackupsCreateArgs"
},
"Result": {
- "$ref": "#/definitions/PublicAddressResults"
+ "$ref": "#/definitions/BackupsMetadataResult"
}
}
},
- "ResolveCharms": {
+ "FinishRestore": {
+ "type": "object"
+ },
+ "Info": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/ResolveCharms"
+ "$ref": "#/definitions/BackupsInfoArgs"
},
"Result": {
- "$ref": "#/definitions/ResolveCharmResults"
- }
- }
- },
- "Resolved": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Resolved"
+ "$ref": "#/definitions/BackupsMetadataResult"
}
}
},
- "RetryProvisioning": {
+ "List": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/Entities"
+ "$ref": "#/definitions/BackupsListArgs"
},
"Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/BackupsListResult"
}
}
},
- "SetModelAgentVersion": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/SetModelAgentVersion"
- }
- }
+ "PrepareRestore": {
+ "type": "object"
},
- "SetModelConstraints": {
+ "Remove": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/SetConstraints"
+ "$ref": "#/definitions/BackupsRemoveArgs"
}
}
},
- "StatusHistory": {
+ "Restore": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/StatusHistoryArgs"
- },
- "Result": {
- "$ref": "#/definitions/StatusHistoryResults"
- }
- }
- },
- "WatchAll": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/AllWatcherId"
+ "$ref": "#/definitions/RestoreArgs"
}
}
}
},
"definitions": {
- "APIHostPortsResult": {
+ "BackupsCreateArgs": {
"type": "object",
"properties": {
- "Servers": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/HostPort"
- }
- }
+ "Notes": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Servers"
+ "Notes"
]
},
- "AddCharm": {
+ "BackupsInfoArgs": {
"type": "object",
"properties": {
- "Channel": {
- "type": "string"
- },
- "URL": {
+ "ID": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "URL",
- "Channel"
+ "ID"
]
},
- "AddCharmWithAuthorization": {
+ "BackupsListArgs": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "BackupsListResult": {
"type": "object",
"properties": {
- "Channel": {
- "type": "string"
- },
- "CharmStoreMacaroon": {
- "$ref": "#/definitions/Macaroon"
- },
- "URL": {
- "type": "string"
+ "List": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackupsMetadataResult"
+ }
}
},
"additionalProperties": false,
"required": [
- "URL",
- "Channel",
- "CharmStoreMacaroon"
+ "List"
]
},
- "AddMachineParams": {
+ "BackupsMetadataResult": {
"type": "object",
"properties": {
- "Addrs": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Address"
- }
+ "CACert": {
+ "type": "string"
},
- "Constraints": {
- "$ref": "#/definitions/Value"
+ "CAPrivateKey": {
+ "type": "string"
},
- "ContainerType": {
+ "Checksum": {
"type": "string"
},
- "Disks": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Constraints"
- }
+ "ChecksumFormat": {
+ "type": "string"
},
- "HardwareCharacteristics": {
- "$ref": "#/definitions/HardwareCharacteristics"
+ "Finished": {
+ "type": "string",
+ "format": "date-time"
},
- "InstanceId": {
+ "Hostname": {
"type": "string"
},
- "Jobs": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "ID": {
+ "type": "string"
},
- "Nonce": {
+ "Machine": {
"type": "string"
},
- "ParentId": {
+ "Model": {
"type": "string"
},
- "Placement": {
- "$ref": "#/definitions/Placement"
+ "Notes": {
+ "type": "string"
},
"Series": {
"type": "string"
+ },
+ "Size": {
+ "type": "integer"
+ },
+ "Started": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "Stored": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "Version": {
+ "$ref": "#/definitions/Number"
}
},
"additionalProperties": false,
"required": [
- "Series",
- "Constraints",
- "Jobs",
- "Disks",
- "Placement",
- "ParentId",
- "ContainerType",
- "InstanceId",
- "Nonce",
- "HardwareCharacteristics",
- "Addrs"
+ "ID",
+ "Checksum",
+ "ChecksumFormat",
+ "Size",
+ "Stored",
+ "Started",
+ "Finished",
+ "Notes",
+ "Model",
+ "Machine",
+ "Hostname",
+ "Version",
+ "Series",
+ "CACert",
+ "CAPrivateKey"
]
},
- "AddMachines": {
+ "BackupsRemoveArgs": {
"type": "object",
"properties": {
- "MachineParams": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AddMachineParams"
- }
+ "ID": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "MachineParams"
+ "ID"
]
},
- "AddMachinesResult": {
+ "Number": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "Build": {
+ "type": "integer"
},
- "Machine": {
+ "Major": {
+ "type": "integer"
+ },
+ "Minor": {
+ "type": "integer"
+ },
+ "Patch": {
+ "type": "integer"
+ },
+ "Tag": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Machine",
- "Error"
+ "Major",
+ "Minor",
+ "Tag",
+ "Patch",
+ "Build"
]
},
- "AddMachinesResults": {
+ "RestoreArgs": {
"type": "object",
"properties": {
- "Machines": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AddMachinesResult"
- }
+ "BackupId": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Machines"
+ "BackupId"
]
+ }
+ }
+ }
+ },
+ {
+ "Name": "Block",
+ "Version": 2,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "List": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/BlockResults"
+ }
+ }
},
- "Address": {
+ "SwitchBlockOff": {
"type": "object",
"properties": {
- "Scope": {
+ "Params": {
+ "$ref": "#/definitions/BlockSwitchParams"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResult"
+ }
+ }
+ },
+ "SwitchBlockOn": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/BlockSwitchParams"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResult"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Block": {
+ "type": "object",
+ "properties": {
+ "id": {
"type": "string"
},
- "SpaceName": {
+ "message": {
"type": "string"
},
- "Type": {
+ "tag": {
"type": "string"
},
- "Value": {
+ "type": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Value",
- "Type",
- "Scope"
+ "id",
+ "tag",
+ "type"
]
},
- "AgentVersionResult": {
+ "BlockResult": {
"type": "object",
"properties": {
- "Version": {
- "$ref": "#/definitions/Number"
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "result": {
+ "$ref": "#/definitions/Block"
}
},
"additionalProperties": false,
"required": [
- "Version"
+ "result"
]
},
- "AllWatcherId": {
+ "BlockResults": {
"type": "object",
"properties": {
- "AllWatcherId": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BlockResult"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "BlockSwitchParams": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string"
+ },
+ "type": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "AllWatcherId"
+ "type"
]
},
- "Binary": {
+ "Error": {
"type": "object",
"properties": {
- "Arch": {
+ "Code": {
"type": "string"
},
- "Number": {
- "$ref": "#/definitions/Number"
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
},
- "Series": {
+ "Message": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Number",
- "Series",
- "Arch"
+ "Message",
+ "Code"
]
},
- "BundleChangesChange": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "args": {
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "MacaroonPath": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ErrorResult": {
+ "type": "object",
+ "properties": {
+ "Error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Error"
+ ]
+ },
+ "Macaroon": {
+ "type": "object",
+ "properties": {
+ "caveats": {
"type": "array",
"items": {
- "type": "object",
- "additionalProperties": true
+ "$ref": "#/definitions/caveat"
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "integer"
}
},
"id": {
- "type": "string"
+ "$ref": "#/definitions/packet"
},
- "method": {
- "type": "string"
+ "location": {
+ "$ref": "#/definitions/packet"
},
- "requires": {
+ "sig": {
"type": "array",
"items": {
- "type": "string"
+ "type": "integer"
}
}
},
"additionalProperties": false,
"required": [
+ "data",
+ "location",
"id",
- "method",
- "args",
- "requires"
+ "caveats",
+ "sig"
]
},
- "CharmInfo": {
+ "caveat": {
"type": "object",
"properties": {
- "CharmURL": {
- "type": "string"
+ "caveatId": {
+ "$ref": "#/definitions/packet"
+ },
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "verificationId": {
+ "$ref": "#/definitions/packet"
}
},
"additionalProperties": false,
"required": [
- "CharmURL"
+ "location",
+ "caveatId",
+ "verificationId"
]
},
- "Constraints": {
+ "packet": {
"type": "object",
"properties": {
- "Count": {
+ "headerLen": {
"type": "integer"
},
- "Pool": {
- "type": "string"
+ "start": {
+ "type": "integer"
},
- "Size": {
+ "totalLen": {
"type": "integer"
}
},
"additionalProperties": false,
"required": [
- "Pool",
- "Size",
- "Count"
+ "start",
+ "totalLen",
+ "headerLen"
]
- },
- "DestroyMachines": {
+ }
+ }
+ }
+ },
+ {
+ "Name": "CharmRevisionUpdater",
+ "Version": 2,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "UpdateLatestRevisions": {
"type": "object",
"properties": {
- "Force": {
- "type": "boolean"
- },
- "MachineNames": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "Result": {
+ "$ref": "#/definitions/ErrorResult"
}
- },
- "additionalProperties": false,
- "required": [
- "MachineNames",
- "Force"
- ]
- },
- "DetailedStatus": {
+ }
+ }
+ },
+ "definitions": {
+ "Error": {
"type": "object",
"properties": {
- "Data": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
- },
- "Err": {
- "type": "object",
- "additionalProperties": true
- },
- "Info": {
- "type": "string"
- },
- "Kind": {
- "type": "string"
- },
- "Life": {
+ "Code": {
"type": "string"
},
- "Since": {
- "type": "string",
- "format": "date-time"
- },
- "Status": {
- "type": "string"
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
},
- "Version": {
+ "Message": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Status",
- "Info",
- "Data",
- "Since",
- "Kind",
- "Version",
- "Life",
- "Err"
+ "Message",
+ "Code"
]
},
- "EndpointStatus": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "Name": {
- "type": "string"
- },
- "Role": {
- "type": "string"
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
},
- "ServiceName": {
+ "MacaroonPath": {
"type": "string"
- },
- "Subordinate": {
- "type": "boolean"
}
},
- "additionalProperties": false,
- "required": [
- "ServiceName",
- "Name",
- "Role",
- "Subordinate"
- ]
+ "additionalProperties": false
},
- "Entities": {
+ "ErrorResult": {
"type": "object",
"properties": {
- "Entities": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Entity"
- }
+ "Error": {
+ "$ref": "#/definitions/Error"
}
},
"additionalProperties": false,
"required": [
- "Entities"
+ "Error"
]
},
- "Entity": {
+ "Macaroon": {
"type": "object",
"properties": {
- "Tag": {
- "type": "string"
+ "caveats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/caveat"
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "id": {
+ "$ref": "#/definitions/packet"
+ },
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "sig": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
}
},
"additionalProperties": false,
"required": [
- "Tag"
+ "data",
+ "location",
+ "id",
+ "caveats",
+ "sig"
]
},
- "EntityStatus": {
+ "caveat": {
"type": "object",
"properties": {
- "Data": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
- },
- "Info": {
- "type": "string"
+ "caveatId": {
+ "$ref": "#/definitions/packet"
},
- "Since": {
- "type": "string",
- "format": "date-time"
+ "location": {
+ "$ref": "#/definitions/packet"
},
- "Status": {
- "type": "string"
+ "verificationId": {
+ "$ref": "#/definitions/packet"
}
},
"additionalProperties": false,
"required": [
- "Status",
- "Info",
- "Data",
- "Since"
+ "location",
+ "caveatId",
+ "verificationId"
]
},
- "Error": {
+ "packet": {
"type": "object",
"properties": {
- "Code": {
- "type": "string"
+ "headerLen": {
+ "type": "integer"
},
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
+ "start": {
+ "type": "integer"
},
- "Message": {
- "type": "string"
+ "totalLen": {
+ "type": "integer"
}
},
"additionalProperties": false,
"required": [
- "Message",
- "Code"
+ "start",
+ "totalLen",
+ "headerLen"
]
+ }
+ }
+ }
+ },
+ {
+ "Name": "Charms",
+ "Version": 2,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "CharmInfo": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/CharmInfo"
+ },
+ "Result": {
+ "$ref": "#/definitions/CharmInfo"
+ }
+ }
},
- "ErrorInfo": {
+ "IsMetered": {
"type": "object",
"properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
+ "Params": {
+ "$ref": "#/definitions/CharmInfo"
},
- "MacaroonPath": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/IsMeteredResult"
}
- },
- "additionalProperties": false
+ }
},
- "ErrorResult": {
+ "List": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "Params": {
+ "$ref": "#/definitions/CharmsList"
+ },
+ "Result": {
+ "$ref": "#/definitions/CharmsListResult"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CharmInfo": {
+ "type": "object",
+ "properties": {
+ "CharmURL": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Error"
+ "CharmURL"
]
},
- "ErrorResults": {
+ "CharmsList": {
"type": "object",
"properties": {
- "Results": {
+ "Names": {
"type": "array",
"items": {
- "$ref": "#/definitions/ErrorResult"
+ "type": "string"
}
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "Names"
]
},
- "FindToolsParams": {
+ "CharmsListResult": {
"type": "object",
"properties": {
- "Arch": {
- "type": "string"
- },
- "MajorVersion": {
- "type": "integer"
- },
- "MinorVersion": {
- "type": "integer"
- },
- "Number": {
- "$ref": "#/definitions/Number"
- },
- "Series": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Number",
- "MajorVersion",
- "MinorVersion",
- "Arch",
- "Series"
- ]
- },
- "FindToolsResult": {
- "type": "object",
- "properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- },
- "List": {
+ "CharmURLs": {
"type": "array",
"items": {
- "$ref": "#/definitions/Tools"
+ "type": "string"
}
}
},
"additionalProperties": false,
"required": [
- "List",
- "Error"
+ "CharmURLs"
]
},
- "FullStatus": {
+ "IsMeteredResult": {
"type": "object",
"properties": {
- "AvailableVersion": {
- "type": "string"
- },
- "Machines": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "$ref": "#/definitions/MachineStatus"
- }
- }
- },
- "ModelName": {
- "type": "string"
- },
- "Relations": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/RelationStatus"
- }
- },
- "Services": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "$ref": "#/definitions/ServiceStatus"
- }
- }
+ "Metered": {
+ "type": "boolean"
}
},
"additionalProperties": false,
"required": [
- "ModelName",
- "AvailableVersion",
- "Machines",
- "Services",
- "Relations"
+ "Metered"
]
+ }
+ }
+ }
+ },
+ {
+ "Name": "Cleaner",
+ "Version": 2,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "Cleanup": {
+ "type": "object"
},
- "GetBundleChangesParams": {
+ "WatchCleanups": {
"type": "object",
"properties": {
- "yaml": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResult"
}
- },
- "additionalProperties": false,
- "required": [
- "yaml"
- ]
- },
- "GetBundleChangesResults": {
+ }
+ }
+ },
+ "definitions": {
+ "Error": {
"type": "object",
"properties": {
- "changes": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/BundleChangesChange"
- }
+ "Code": {
+ "type": "string"
},
- "errors": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "additionalProperties": false
- },
- "GetConstraintsResults": {
- "type": "object",
- "properties": {
- "Constraints": {
- "$ref": "#/definitions/Value"
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "Message": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Constraints"
+ "Message",
+ "Code"
]
},
- "HardwareCharacteristics": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "Arch": {
- "type": "string"
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
},
- "AvailabilityZone": {
+ "MacaroonPath": {
"type": "string"
- },
- "CpuCores": {
- "type": "integer"
- },
- "CpuPower": {
- "type": "integer"
- },
- "Mem": {
- "type": "integer"
- },
- "RootDisk": {
- "type": "integer"
- },
- "Tags": {
- "type": "array",
- "items": {
- "type": "string"
- }
}
},
"additionalProperties": false
},
- "HostPort": {
- "type": "object",
- "properties": {
- "Address": {
- "$ref": "#/definitions/Address"
- },
- "Port": {
- "type": "integer"
- }
- },
- "additionalProperties": false,
- "required": [
- "Address",
- "Port"
- ]
- },
"Macaroon": {
"type": "object",
"properties": {
"sig"
]
},
- "MachineStatus": {
+ "NotifyWatchResult": {
"type": "object",
"properties": {
- "AgentStatus": {
- "$ref": "#/definitions/DetailedStatus"
- },
- "Containers": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "$ref": "#/definitions/MachineStatus"
- }
- }
- },
- "DNSName": {
- "type": "string"
- },
- "Hardware": {
- "type": "string"
- },
- "HasVote": {
- "type": "boolean"
- },
- "Id": {
- "type": "string"
- },
- "InstanceId": {
- "type": "string"
- },
- "InstanceStatus": {
- "$ref": "#/definitions/DetailedStatus"
- },
- "Jobs": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "Series": {
+ "NotifyWatcherId": {
"type": "string"
- },
- "WantsVote": {
- "type": "boolean"
}
},
"additionalProperties": false,
"required": [
- "AgentStatus",
- "InstanceStatus",
- "DNSName",
- "InstanceId",
- "Series",
- "Id",
- "Containers",
- "Hardware",
- "Jobs",
- "HasVote",
- "WantsVote"
+ "NotifyWatcherId",
+ "Error"
]
},
- "MeterStatus": {
+ "caveat": {
"type": "object",
"properties": {
- "Color": {
- "type": "string"
+ "caveatId": {
+ "$ref": "#/definitions/packet"
},
- "Message": {
- "type": "string"
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "verificationId": {
+ "$ref": "#/definitions/packet"
}
},
"additionalProperties": false,
"required": [
- "Color",
- "Message"
+ "location",
+ "caveatId",
+ "verificationId"
]
},
- "ModelConfigResults": {
+ "packet": {
"type": "object",
"properties": {
- "Config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
+ "headerLen": {
+ "type": "integer"
+ },
+ "start": {
+ "type": "integer"
+ },
+ "totalLen": {
+ "type": "integer"
}
},
"additionalProperties": false,
"required": [
- "Config"
+ "start",
+ "totalLen",
+ "headerLen"
]
- },
- "ModelInfo": {
+ }
+ }
+ }
+ },
+ {
+ "Name": "Client",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "APIHostPorts": {
"type": "object",
"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": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ModelUserInfo"
- }
+ "Result": {
+ "$ref": "#/definitions/APIHostPortsResult"
}
- },
- "additionalProperties": false,
- "required": [
- "Name",
- "UUID",
- "ServerUUID",
- "ProviderType",
- "DefaultSeries",
- "OwnerTag",
- "Life",
- "Status",
- "Users"
- ]
+ }
},
- "ModelSet": {
+ "AbortCurrentUpgrade": {
+ "type": "object"
+ },
+ "AddCharm": {
"type": "object",
"properties": {
- "Config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
+ "Params": {
+ "$ref": "#/definitions/AddCharm"
}
- },
- "additionalProperties": false,
- "required": [
- "Config"
- ]
+ }
},
- "ModelUnset": {
+ "AddCharmWithAuthorization": {
"type": "object",
"properties": {
- "Keys": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "Params": {
+ "$ref": "#/definitions/AddCharmWithAuthorization"
}
- },
- "additionalProperties": false,
- "required": [
- "Keys"
- ]
+ }
},
- "ModelUserInfo": {
+ "AddMachines": {
"type": "object",
"properties": {
- "access": {
- "type": "string"
- },
- "displayname": {
- "type": "string"
- },
- "lastconnection": {
- "type": "string",
- "format": "date-time"
+ "Params": {
+ "$ref": "#/definitions/AddMachines"
},
- "user": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/AddMachinesResults"
}
- },
- "additionalProperties": false,
- "required": [
- "user",
- "displayname",
- "lastconnection",
- "access"
- ]
+ }
},
- "ModelUserInfoResult": {
+ "AddMachinesV2": {
"type": "object",
"properties": {
- "error": {
- "$ref": "#/definitions/Error"
+ "Params": {
+ "$ref": "#/definitions/AddMachines"
},
- "result": {
- "$ref": "#/definitions/ModelUserInfo"
+ "Result": {
+ "$ref": "#/definitions/AddMachinesResults"
}
- },
- "additionalProperties": false
+ }
},
- "ModelUserInfoResults": {
+ "AgentVersion": {
"type": "object",
"properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ModelUserInfoResult"
- }
+ "Result": {
+ "$ref": "#/definitions/AgentVersionResult"
}
- },
- "additionalProperties": false,
- "required": [
- "results"
- ]
+ }
},
- "Number": {
+ "CharmInfo": {
"type": "object",
"properties": {
- "Build": {
- "type": "integer"
- },
- "Major": {
- "type": "integer"
- },
- "Minor": {
- "type": "integer"
- },
- "Patch": {
- "type": "integer"
+ "Params": {
+ "$ref": "#/definitions/CharmInfo"
},
- "Tag": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/CharmInfo"
}
- },
- "additionalProperties": false,
- "required": [
- "Major",
- "Minor",
- "Tag",
- "Patch",
- "Build"
- ]
+ }
},
- "Placement": {
+ "DestroyMachines": {
"type": "object",
"properties": {
- "Directive": {
- "type": "string"
- },
- "Scope": {
- "type": "string"
+ "Params": {
+ "$ref": "#/definitions/DestroyMachines"
}
- },
- "additionalProperties": false,
- "required": [
- "Scope",
- "Directive"
- ]
+ }
},
- "PrivateAddress": {
+ "DestroyModel": {
+ "type": "object"
+ },
+ "FindTools": {
"type": "object",
"properties": {
- "Target": {
- "type": "string"
+ "Params": {
+ "$ref": "#/definitions/FindToolsParams"
+ },
+ "Result": {
+ "$ref": "#/definitions/FindToolsResult"
}
- },
- "additionalProperties": false,
- "required": [
- "Target"
- ]
+ }
},
- "PrivateAddressResults": {
+ "FullStatus": {
"type": "object",
"properties": {
- "PrivateAddress": {
- "type": "string"
+ "Params": {
+ "$ref": "#/definitions/StatusParams"
+ },
+ "Result": {
+ "$ref": "#/definitions/FullStatus"
}
- },
- "additionalProperties": false,
- "required": [
- "PrivateAddress"
- ]
+ }
},
- "ProvisioningScriptParams": {
+ "GetBundleChanges": {
"type": "object",
"properties": {
- "DataDir": {
- "type": "string"
- },
- "DisablePackageCommands": {
- "type": "boolean"
- },
- "MachineId": {
- "type": "string"
+ "Params": {
+ "$ref": "#/definitions/GetBundleChangesParams"
},
- "Nonce": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/GetBundleChangesResults"
}
- },
- "additionalProperties": false,
- "required": [
- "MachineId",
- "Nonce",
- "DataDir",
- "DisablePackageCommands"
- ]
+ }
},
- "ProvisioningScriptResult": {
+ "GetModelConstraints": {
"type": "object",
"properties": {
- "Script": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/GetConstraintsResults"
}
- },
- "additionalProperties": false,
- "required": [
- "Script"
- ]
+ }
},
- "PublicAddress": {
+ "InjectMachines": {
"type": "object",
"properties": {
- "Target": {
- "type": "string"
+ "Params": {
+ "$ref": "#/definitions/AddMachines"
+ },
+ "Result": {
+ "$ref": "#/definitions/AddMachinesResults"
}
- },
- "additionalProperties": false,
- "required": [
- "Target"
- ]
+ }
},
- "PublicAddressResults": {
+ "ModelGet": {
"type": "object",
"properties": {
- "PublicAddress": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/ModelConfigResults"
}
- },
- "additionalProperties": false,
- "required": [
- "PublicAddress"
- ]
+ }
},
- "RelationStatus": {
+ "ModelInfo": {
"type": "object",
"properties": {
- "Endpoints": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EndpointStatus"
- }
+ "Result": {
+ "$ref": "#/definitions/ModelInfo"
+ }
+ }
+ },
+ "ModelSet": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModelSet"
+ }
+ }
+ },
+ "ModelUnset": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModelUnset"
+ }
+ }
+ },
+ "ModelUserInfo": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/ModelUserInfoResults"
+ }
+ }
+ },
+ "PrivateAddress": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/PrivateAddress"
},
- "Id": {
- "type": "integer"
+ "Result": {
+ "$ref": "#/definitions/PrivateAddressResults"
+ }
+ }
+ },
+ "ProvisioningScript": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ProvisioningScriptParams"
},
- "Interface": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/ProvisioningScriptResult"
+ }
+ }
+ },
+ "PublicAddress": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/PublicAddress"
},
- "Key": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/PublicAddressResults"
+ }
+ }
+ },
+ "ResolveCharms": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ResolveCharms"
},
- "Scope": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/ResolveCharmResults"
}
- },
- "additionalProperties": false,
- "required": [
- "Id",
- "Key",
- "Interface",
- "Scope",
- "Endpoints"
- ]
+ }
},
- "ResolveCharmResult": {
+ "Resolved": {
"type": "object",
"properties": {
- "Error": {
- "type": "string"
+ "Params": {
+ "$ref": "#/definitions/Resolved"
+ }
+ }
+ },
+ "RetryProvisioning": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "URL": {
- "$ref": "#/definitions/URL"
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
}
- },
- "additionalProperties": false
+ }
},
- "ResolveCharmResults": {
+ "SetModelAgentVersion": {
"type": "object",
"properties": {
- "URLs": {
+ "Params": {
+ "$ref": "#/definitions/SetModelAgentVersion"
+ }
+ }
+ },
+ "SetModelConstraints": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetConstraints"
+ }
+ }
+ },
+ "StatusHistory": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/StatusHistoryRequests"
+ },
+ "Result": {
+ "$ref": "#/definitions/StatusHistoryResults"
+ }
+ }
+ },
+ "WatchAll": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/AllWatcherId"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "APIHostPortsResult": {
+ "type": "object",
+ "properties": {
+ "Servers": {
"type": "array",
"items": {
- "$ref": "#/definitions/ResolveCharmResult"
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HostPort"
+ }
}
}
},
"additionalProperties": false,
"required": [
- "URLs"
+ "Servers"
]
},
- "ResolveCharms": {
+ "AddCharm": {
"type": "object",
"properties": {
- "References": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/URL"
- }
+ "Channel": {
+ "type": "string"
+ },
+ "URL": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "References"
+ "URL",
+ "Channel"
]
},
- "Resolved": {
+ "AddCharmWithAuthorization": {
"type": "object",
"properties": {
- "Retry": {
- "type": "boolean"
+ "Channel": {
+ "type": "string"
},
- "UnitName": {
+ "CharmStoreMacaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "URL": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "UnitName",
- "Retry"
+ "URL",
+ "Channel",
+ "CharmStoreMacaroon"
]
},
- "ServiceStatus": {
+ "AddMachineParams": {
"type": "object",
"properties": {
- "CanUpgradeTo": {
- "type": "string"
- },
- "Charm": {
- "type": "string"
+ "Addrs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Address"
+ }
},
- "Err": {
- "type": "object",
- "additionalProperties": true
+ "Constraints": {
+ "$ref": "#/definitions/Value"
},
- "Exposed": {
- "type": "boolean"
+ "ContainerType": {
+ "type": "string"
+ },
+ "Disks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Constraints"
+ }
+ },
+ "HardwareCharacteristics": {
+ "$ref": "#/definitions/HardwareCharacteristics"
+ },
+ "InstanceId": {
+ "type": "string"
+ },
+ "Jobs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "Nonce": {
+ "type": "string"
+ },
+ "ParentId": {
+ "type": "string"
+ },
+ "Placement": {
+ "$ref": "#/definitions/Placement"
+ },
+ "Series": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Series",
+ "Constraints",
+ "Jobs",
+ "Disks",
+ "Placement",
+ "ParentId",
+ "ContainerType",
+ "InstanceId",
+ "Nonce",
+ "HardwareCharacteristics",
+ "Addrs"
+ ]
+ },
+ "AddMachines": {
+ "type": "object",
+ "properties": {
+ "MachineParams": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AddMachineParams"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "MachineParams"
+ ]
+ },
+ "AddMachinesResult": {
+ "type": "object",
+ "properties": {
+ "Error": {
+ "$ref": "#/definitions/Error"
+ },
+ "Machine": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Machine",
+ "Error"
+ ]
+ },
+ "AddMachinesResults": {
+ "type": "object",
+ "properties": {
+ "Machines": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AddMachinesResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Machines"
+ ]
+ },
+ "Address": {
+ "type": "object",
+ "properties": {
+ "Scope": {
+ "type": "string"
+ },
+ "SpaceName": {
+ "type": "string"
+ },
+ "Type": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Value",
+ "Type",
+ "Scope"
+ ]
+ },
+ "AgentVersionResult": {
+ "type": "object",
+ "properties": {
+ "Version": {
+ "$ref": "#/definitions/Number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Version"
+ ]
+ },
+ "AllWatcherId": {
+ "type": "object",
+ "properties": {
+ "AllWatcherId": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "AllWatcherId"
+ ]
+ },
+ "ApplicationStatus": {
+ "type": "object",
+ "properties": {
+ "CanUpgradeTo": {
+ "type": "string"
+ },
+ "Charm": {
+ "type": "string"
+ },
+ "Err": {
+ "type": "object",
+ "additionalProperties": true
+ },
+ "Exposed": {
+ "type": "boolean"
},
"Life": {
"type": "string"
"Status"
]
},
- "SetConstraints": {
+ "Binary": {
"type": "object",
"properties": {
- "Constraints": {
- "$ref": "#/definitions/Value"
+ "Arch": {
+ "type": "string"
},
- "ServiceName": {
+ "Number": {
+ "$ref": "#/definitions/Number"
+ },
+ "Series": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "ServiceName",
- "Constraints"
+ "Number",
+ "Series",
+ "Arch"
]
},
- "SetModelAgentVersion": {
+ "BundleChangesChange": {
"type": "object",
"properties": {
- "Version": {
- "$ref": "#/definitions/Number"
+ "args": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "id": {
+ "type": "string"
+ },
+ "method": {
+ "type": "string"
+ },
+ "requires": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
"additionalProperties": false,
"required": [
- "Version"
+ "id",
+ "method",
+ "args",
+ "requires"
]
},
- "StatusHistoryArgs": {
+ "CharmInfo": {
"type": "object",
"properties": {
- "Kind": {
- "type": "string"
- },
- "Name": {
+ "CharmURL": {
"type": "string"
- },
- "Size": {
- "type": "integer"
}
},
"additionalProperties": false,
"required": [
- "Kind",
- "Size",
- "Name"
+ "CharmURL"
]
},
- "StatusHistoryResults": {
+ "Constraints": {
"type": "object",
"properties": {
- "Statuses": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/DetailedStatus"
- }
+ "Count": {
+ "type": "integer"
+ },
+ "Pool": {
+ "type": "string"
+ },
+ "Size": {
+ "type": "integer"
}
},
"additionalProperties": false,
"required": [
- "Statuses"
+ "Pool",
+ "Size",
+ "Count"
]
},
- "StatusParams": {
+ "DestroyMachines": {
"type": "object",
"properties": {
- "Patterns": {
+ "Force": {
+ "type": "boolean"
+ },
+ "MachineNames": {
"type": "array",
"items": {
"type": "string"
},
"additionalProperties": false,
"required": [
- "Patterns"
+ "MachineNames",
+ "Force"
]
},
- "Tools": {
+ "DetailedStatus": {
"type": "object",
"properties": {
- "sha256": {
- "type": "string"
+ "Data": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
},
- "size": {
- "type": "integer"
+ "Err": {
+ "type": "object",
+ "additionalProperties": true
},
- "url": {
+ "Info": {
"type": "string"
},
- "version": {
- "$ref": "#/definitions/Binary"
+ "Kind": {
+ "type": "string"
+ },
+ "Life": {
+ "type": "string"
+ },
+ "Since": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "Status": {
+ "type": "string"
+ },
+ "Version": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "version",
- "url",
- "size"
+ "Status",
+ "Info",
+ "Data",
+ "Since",
+ "Kind",
+ "Version",
+ "Life",
+ "Err"
]
},
- "URL": {
+ "EndpointStatus": {
"type": "object",
"properties": {
- "Channel": {
+ "ApplicationName": {
"type": "string"
},
"Name": {
"type": "string"
},
- "Revision": {
- "type": "integer"
- },
- "Schema": {
- "type": "string"
- },
- "Series": {
+ "Role": {
"type": "string"
},
- "User": {
- "type": "string"
+ "Subordinate": {
+ "type": "boolean"
}
},
"additionalProperties": false,
"required": [
- "Schema",
- "User",
+ "ApplicationName",
"Name",
- "Revision",
- "Series",
- "Channel"
+ "Role",
+ "Subordinate"
]
},
- "UnitStatus": {
+ "Entities": {
"type": "object",
"properties": {
- "AgentStatus": {
- "$ref": "#/definitions/DetailedStatus"
- },
- "Charm": {
- "type": "string"
- },
- "Machine": {
- "type": "string"
- },
- "OpenedPorts": {
+ "Entities": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/Entity"
}
- },
- "PublicAddress": {
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Entities"
+ ]
+ },
+ "Entity": {
+ "type": "object",
+ "properties": {
+ "Tag": {
"type": "string"
- },
- "Subordinates": {
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Tag"
+ ]
+ },
+ "EntityStatus": {
+ "type": "object",
+ "properties": {
+ "Data": {
"type": "object",
"patternProperties": {
".*": {
- "$ref": "#/definitions/UnitStatus"
+ "type": "object",
+ "additionalProperties": true
}
}
},
- "WorkloadStatus": {
- "$ref": "#/definitions/DetailedStatus"
+ "Info": {
+ "type": "string"
+ },
+ "Since": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "Status": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "AgentStatus",
- "WorkloadStatus",
- "Machine",
- "OpenedPorts",
- "PublicAddress",
- "Charm",
- "Subordinates"
+ "Status",
+ "Info",
+ "Data",
+ "Since"
]
},
- "Value": {
+ "Error": {
"type": "object",
"properties": {
- "arch": {
- "type": "string"
- },
- "container": {
+ "Code": {
"type": "string"
},
- "cpu-cores": {
- "type": "integer"
- },
- "cpu-power": {
- "type": "integer"
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
},
- "instance-type": {
+ "Message": {
"type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Message",
+ "Code"
+ ]
+ },
+ "ErrorInfo": {
+ "type": "object",
+ "properties": {
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
},
- "mem": {
- "type": "integer"
- },
- "root-disk": {
- "type": "integer"
- },
- "spaces": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "tags": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "virt-type": {
+ "MacaroonPath": {
"type": "string"
}
},
"additionalProperties": false
},
- "caveat": {
+ "ErrorResult": {
"type": "object",
"properties": {
- "caveatId": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
- },
- "verificationId": {
- "$ref": "#/definitions/packet"
+ "Error": {
+ "$ref": "#/definitions/Error"
}
},
"additionalProperties": false,
"required": [
- "location",
- "caveatId",
- "verificationId"
+ "Error"
]
},
- "packet": {
+ "ErrorResults": {
"type": "object",
"properties": {
- "headerLen": {
- "type": "integer"
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
+ },
+ "FindToolsParams": {
+ "type": "object",
+ "properties": {
+ "Arch": {
+ "type": "string"
},
- "start": {
+ "MajorVersion": {
"type": "integer"
},
- "totalLen": {
+ "MinorVersion": {
"type": "integer"
+ },
+ "Number": {
+ "$ref": "#/definitions/Number"
+ },
+ "Series": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "start",
- "totalLen",
- "headerLen"
+ "Number",
+ "MajorVersion",
+ "MinorVersion",
+ "Arch",
+ "Series"
]
- }
- }
- }
- },
- {
- "Name": "Controller",
- "Version": 2,
- "Schema": {
- "type": "object",
- "properties": {
- "AllModels": {
+ },
+ "FindToolsResult": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/UserModelList"
+ "Error": {
+ "$ref": "#/definitions/Error"
+ },
+ "List": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Tools"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "List",
+ "Error"
+ ]
},
- "DestroyController": {
+ "FullStatus": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/DestroyControllerArgs"
- }
- }
- },
- "InitiateModelMigration": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/InitiateModelMigrationArgs"
+ "Applications": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/ApplicationStatus"
+ }
+ }
},
- "Result": {
- "$ref": "#/definitions/InitiateModelMigrationResults"
- }
- }
- },
- "ListBlockedModels": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/ModelBlockInfoList"
- }
- }
- },
- "ModelConfig": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/ModelConfigResults"
- }
- }
- },
- "ModelStatus": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "AvailableVersion": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/ModelStatusResults"
- }
- }
- },
- "RemoveBlocks": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/RemoveBlocksArgs"
- }
- }
- },
- "WatchAllModels": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/AllWatcherId"
- }
- }
- }
- },
- "definitions": {
- "AllWatcherId": {
- "type": "object",
- "properties": {
- "AllWatcherId": {
+ "Machines": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/MachineStatus"
+ }
+ }
+ },
+ "ModelName": {
"type": "string"
+ },
+ "Relations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RelationStatus"
+ }
}
},
"additionalProperties": false,
"required": [
- "AllWatcherId"
+ "ModelName",
+ "AvailableVersion",
+ "Machines",
+ "Applications",
+ "Relations"
]
},
- "DestroyControllerArgs": {
+ "GetBundleChangesParams": {
"type": "object",
"properties": {
- "destroy-models": {
- "type": "boolean"
+ "yaml": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "destroy-models"
+ "yaml"
]
},
- "Entities": {
+ "GetBundleChangesResults": {
"type": "object",
"properties": {
- "Entities": {
+ "changes": {
"type": "array",
"items": {
- "$ref": "#/definitions/Entity"
+ "$ref": "#/definitions/BundleChangesChange"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "type": "string"
}
}
},
- "additionalProperties": false,
- "required": [
- "Entities"
- ]
+ "additionalProperties": false
},
- "Entity": {
+ "GetConstraintsResults": {
"type": "object",
"properties": {
- "Tag": {
- "type": "string"
+ "Constraints": {
+ "$ref": "#/definitions/Value"
}
},
"additionalProperties": false,
"required": [
- "Tag"
+ "Constraints"
]
},
- "Error": {
+ "HardwareCharacteristics": {
"type": "object",
"properties": {
- "Code": {
+ "Arch": {
"type": "string"
},
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
- },
- "Message": {
+ "AvailabilityZone": {
"type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Message",
- "Code"
- ]
- },
- "ErrorInfo": {
- "type": "object",
- "properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
},
- "MacaroonPath": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "InitiateModelMigrationArgs": {
- "type": "object",
- "properties": {
- "specs": {
+ "CpuCores": {
+ "type": "integer"
+ },
+ "CpuPower": {
+ "type": "integer"
+ },
+ "Mem": {
+ "type": "integer"
+ },
+ "RootDisk": {
+ "type": "integer"
+ },
+ "Tags": {
"type": "array",
"items": {
- "$ref": "#/definitions/ModelMigrationSpec"
+ "type": "string"
}
}
},
- "additionalProperties": false,
- "required": [
- "specs"
- ]
+ "additionalProperties": false
},
- "InitiateModelMigrationResult": {
+ "History": {
"type": "object",
"properties": {
- "error": {
+ "Error": {
"$ref": "#/definitions/Error"
},
- "id": {
- "type": "string"
- },
- "model-tag": {
- "type": "string"
+ "Statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DetailedStatus"
+ }
}
},
"additionalProperties": false,
"required": [
- "model-tag",
- "error",
- "id"
+ "Statuses"
]
},
- "InitiateModelMigrationResults": {
+ "HostPort": {
"type": "object",
"properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/InitiateModelMigrationResult"
- }
+ "Address": {
+ "$ref": "#/definitions/Address"
+ },
+ "Port": {
+ "type": "integer"
}
},
"additionalProperties": false,
"required": [
- "results"
+ "Address",
+ "Port"
]
},
"Macaroon": {
"sig"
]
},
- "Model": {
+ "MachineStatus": {
"type": "object",
"properties": {
- "Name": {
+ "AgentStatus": {
+ "$ref": "#/definitions/DetailedStatus"
+ },
+ "Containers": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/MachineStatus"
+ }
+ }
+ },
+ "DNSName": {
"type": "string"
},
- "OwnerTag": {
+ "Hardware": {
"type": "string"
},
- "UUID": {
+ "HasVote": {
+ "type": "boolean"
+ },
+ "Id": {
"type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Name",
- "UUID",
- "OwnerTag"
- ]
- },
- "ModelBlockInfo": {
- "type": "object",
- "properties": {
- "blocks": {
+ },
+ "InstanceId": {
+ "type": "string"
+ },
+ "InstanceStatus": {
+ "$ref": "#/definitions/DetailedStatus"
+ },
+ "Jobs": {
"type": "array",
"items": {
"type": "string"
}
},
- "model-uuid": {
- "type": "string"
- },
- "name": {
+ "Series": {
"type": "string"
},
- "owner-tag": {
- "type": "string"
+ "WantsVote": {
+ "type": "boolean"
}
},
"additionalProperties": false,
"required": [
- "name",
- "model-uuid",
- "owner-tag",
- "blocks"
+ "AgentStatus",
+ "InstanceStatus",
+ "DNSName",
+ "InstanceId",
+ "Series",
+ "Id",
+ "Containers",
+ "Hardware",
+ "Jobs",
+ "HasVote",
+ "WantsVote"
]
},
- "ModelBlockInfoList": {
+ "MeterStatus": {
"type": "object",
"properties": {
- "models": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ModelBlockInfo"
- }
+ "Color": {
+ "type": "string"
+ },
+ "Message": {
+ "type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "Color",
+ "Message"
+ ]
},
"ModelConfigResults": {
"type": "object",
"Config"
]
},
- "ModelMigrationSpec": {
+ "ModelInfo": {
"type": "object",
"properties": {
- "model-tag": {
+ "Cloud": {
"type": "string"
},
- "target-info": {
- "$ref": "#/definitions/ModelMigrationTargetInfo"
- }
- },
- "additionalProperties": false,
- "required": [
- "model-tag",
- "target-info"
- ]
- },
- "ModelMigrationTargetInfo": {
- "type": "object",
- "properties": {
- "addrs": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "auth-tag": {
+ "DefaultSeries": {
"type": "string"
},
- "ca-cert": {
+ "Life": {
"type": "string"
},
- "controller-tag": {
+ "Name": {
"type": "string"
},
- "password": {
+ "OwnerTag": {
"type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "controller-tag",
- "addrs",
- "ca-cert",
- "auth-tag",
- "password"
- ]
- },
- "ModelStatus": {
- "type": "object",
- "properties": {
- "hosted-machine-count": {
- "type": "integer"
},
- "life": {
+ "ProviderType": {
"type": "string"
},
- "model-tag": {
+ "ServerUUID": {
"type": "string"
},
- "owner-tag": {
+ "Status": {
+ "$ref": "#/definitions/EntityStatus"
+ },
+ "UUID": {
"type": "string"
},
- "service-count": {
- "type": "integer"
+ "Users": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelUserInfo"
+ }
}
},
"additionalProperties": false,
"required": [
- "model-tag",
- "life",
- "hosted-machine-count",
- "service-count",
- "owner-tag"
+ "Name",
+ "UUID",
+ "ServerUUID",
+ "ProviderType",
+ "DefaultSeries",
+ "Cloud",
+ "OwnerTag",
+ "Life",
+ "Status",
+ "Users"
]
},
- "ModelStatusResults": {
+ "ModelSet": {
"type": "object",
"properties": {
- "models": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ModelStatus"
+ "Config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
}
}
},
"additionalProperties": false,
"required": [
- "models"
+ "Config"
]
},
- "RemoveBlocksArgs": {
+ "ModelUnset": {
"type": "object",
"properties": {
- "all": {
- "type": "boolean"
+ "Keys": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
"additionalProperties": false,
"required": [
- "all"
+ "Keys"
]
},
- "UserModel": {
+ "ModelUserInfo": {
"type": "object",
"properties": {
- "LastConnection": {
+ "access": {
+ "type": "string"
+ },
+ "displayname": {
+ "type": "string"
+ },
+ "lastconnection": {
"type": "string",
"format": "date-time"
},
- "Model": {
- "$ref": "#/definitions/Model"
+ "user": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Model",
- "LastConnection"
+ "user",
+ "displayname",
+ "lastconnection",
+ "access"
]
},
- "UserModelList": {
+ "ModelUserInfoResult": {
"type": "object",
"properties": {
- "UserModels": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "result": {
+ "$ref": "#/definitions/ModelUserInfo"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ModelUserInfoResults": {
+ "type": "object",
+ "properties": {
+ "results": {
"type": "array",
"items": {
- "$ref": "#/definitions/UserModel"
+ "$ref": "#/definitions/ModelUserInfoResult"
}
}
},
"additionalProperties": false,
"required": [
- "UserModels"
+ "results"
]
},
- "caveat": {
+ "Number": {
"type": "object",
"properties": {
- "caveatId": {
- "$ref": "#/definitions/packet"
+ "Build": {
+ "type": "integer"
},
- "location": {
- "$ref": "#/definitions/packet"
+ "Major": {
+ "type": "integer"
},
- "verificationId": {
- "$ref": "#/definitions/packet"
+ "Minor": {
+ "type": "integer"
+ },
+ "Patch": {
+ "type": "integer"
+ },
+ "Tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "location",
- "caveatId",
- "verificationId"
+ "Major",
+ "Minor",
+ "Tag",
+ "Patch",
+ "Build"
]
},
- "packet": {
+ "Placement": {
"type": "object",
"properties": {
- "headerLen": {
- "type": "integer"
- },
- "start": {
- "type": "integer"
+ "Directive": {
+ "type": "string"
},
- "totalLen": {
- "type": "integer"
+ "Scope": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "start",
- "totalLen",
- "headerLen"
+ "Scope",
+ "Directive"
]
- }
- }
- }
- },
- {
- "Name": "Deployer",
- "Version": 1,
- "Schema": {
- "type": "object",
- "properties": {
- "APIAddresses": {
+ },
+ "PrivateAddress": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/StringsResult"
+ "Target": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Target"
+ ]
},
- "APIHostPorts": {
+ "PrivateAddressResults": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/APIHostPortsResult"
+ "PrivateAddress": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "PrivateAddress"
+ ]
},
- "CACert": {
+ "ProvisioningScriptParams": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/BytesResult"
- }
- }
- },
- "ConnectionInfo": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/DeployerConnectionValues"
- }
- }
- },
- "Life": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "DataDir": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/LifeResults"
- }
- }
- },
- "ModelUUID": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/StringResult"
- }
- }
- },
- "Remove": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "DisablePackageCommands": {
+ "type": "boolean"
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
- },
- "SetPasswords": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/EntityPasswords"
+ "MachineId": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
+ "Nonce": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "MachineId",
+ "Nonce",
+ "DataDir",
+ "DisablePackageCommands"
+ ]
},
- "StateAddresses": {
+ "ProvisioningScriptResult": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/StringsResult"
+ "Script": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Script"
+ ]
},
- "WatchAPIHostPorts": {
+ "PublicAddress": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/NotifyWatchResult"
+ "Target": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Target"
+ ]
},
- "WatchUnits": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/StringsWatchResults"
- }
- }
- }
- },
- "definitions": {
- "APIHostPortsResult": {
+ "PublicAddressResults": {
"type": "object",
"properties": {
- "Servers": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/HostPort"
- }
- }
+ "PublicAddress": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Servers"
+ "PublicAddress"
]
},
- "Address": {
+ "RelationStatus": {
"type": "object",
"properties": {
- "Scope": {
- "type": "string"
+ "Endpoints": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointStatus"
+ }
},
- "SpaceName": {
+ "Id": {
+ "type": "integer"
+ },
+ "Interface": {
"type": "string"
},
- "Type": {
+ "Key": {
"type": "string"
},
- "Value": {
+ "Scope": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Value",
- "Type",
- "Scope"
+ "Id",
+ "Key",
+ "Interface",
+ "Scope",
+ "Endpoints"
]
},
- "BytesResult": {
+ "ResolveCharmResult": {
"type": "object",
"properties": {
- "Result": {
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "Error": {
+ "type": "string"
+ },
+ "URL": {
+ "$ref": "#/definitions/URL"
}
},
- "additionalProperties": false,
- "required": [
- "Result"
- ]
+ "additionalProperties": false
},
- "DeployerConnectionValues": {
+ "ResolveCharmResults": {
"type": "object",
"properties": {
- "APIAddresses": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "StateAddresses": {
+ "URLs": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/ResolveCharmResult"
}
}
},
"additionalProperties": false,
"required": [
- "StateAddresses",
- "APIAddresses"
+ "URLs"
]
},
- "Entities": {
+ "ResolveCharms": {
"type": "object",
"properties": {
- "Entities": {
+ "References": {
"type": "array",
"items": {
- "$ref": "#/definitions/Entity"
+ "$ref": "#/definitions/URL"
}
}
},
"additionalProperties": false,
"required": [
- "Entities"
+ "References"
]
},
- "Entity": {
+ "Resolved": {
"type": "object",
"properties": {
- "Tag": {
+ "Retry": {
+ "type": "boolean"
+ },
+ "UnitName": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Tag"
+ "UnitName",
+ "Retry"
]
},
- "EntityPassword": {
+ "SetConstraints": {
"type": "object",
"properties": {
- "Password": {
+ "ApplicationName": {
"type": "string"
},
- "Tag": {
- "type": "string"
+ "Constraints": {
+ "$ref": "#/definitions/Value"
}
},
"additionalProperties": false,
"required": [
- "Tag",
- "Password"
+ "ApplicationName",
+ "Constraints"
]
},
- "EntityPasswords": {
+ "SetModelAgentVersion": {
"type": "object",
"properties": {
- "Changes": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EntityPassword"
- }
+ "Version": {
+ "$ref": "#/definitions/Number"
}
},
"additionalProperties": false,
"required": [
- "Changes"
+ "Version"
]
},
- "Error": {
+ "StatusHistoryFilter": {
"type": "object",
"properties": {
- "Code": {
- "type": "string"
+ "Date": {
+ "type": "string",
+ "format": "date-time"
},
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
+ "Delta": {
+ "type": "integer"
},
- "Message": {
- "type": "string"
+ "Size": {
+ "type": "integer"
}
},
"additionalProperties": false,
"required": [
- "Message",
- "Code"
+ "Size",
+ "Date",
+ "Delta"
]
},
- "ErrorInfo": {
+ "StatusHistoryRequest": {
"type": "object",
"properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
+ "Filter": {
+ "$ref": "#/definitions/StatusHistoryFilter"
},
- "MacaroonPath": {
+ "HistoryKind": {
+ "type": "string"
+ },
+ "Size": {
+ "type": "integer"
+ },
+ "Tag": {
"type": "string"
- }
- },
- "additionalProperties": false
- },
- "ErrorResult": {
- "type": "object",
- "properties": {
- "Error": {
- "$ref": "#/definitions/Error"
}
},
"additionalProperties": false,
"required": [
- "Error"
+ "HistoryKind",
+ "Size",
+ "Filter",
+ "Tag"
]
},
- "ErrorResults": {
+ "StatusHistoryRequests": {
"type": "object",
"properties": {
- "Results": {
+ "Requests": {
"type": "array",
"items": {
- "$ref": "#/definitions/ErrorResult"
+ "$ref": "#/definitions/StatusHistoryRequest"
}
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "Requests"
]
},
- "HostPort": {
- "type": "object",
- "properties": {
- "Address": {
- "$ref": "#/definitions/Address"
- },
- "Port": {
- "type": "integer"
- }
- },
- "additionalProperties": false,
- "required": [
- "Address",
- "Port"
- ]
- },
- "LifeResult": {
+ "StatusHistoryResult": {
"type": "object",
"properties": {
"Error": {
"$ref": "#/definitions/Error"
},
- "Life": {
- "type": "string"
+ "History": {
+ "$ref": "#/definitions/History"
}
},
"additionalProperties": false,
"required": [
- "Life",
- "Error"
+ "History"
]
},
- "LifeResults": {
+ "StatusHistoryResults": {
"type": "object",
"properties": {
"Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/LifeResult"
+ "$ref": "#/definitions/StatusHistoryResult"
}
}
},
"Results"
]
},
- "Macaroon": {
+ "StatusParams": {
"type": "object",
"properties": {
- "caveats": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/caveat"
- }
- },
- "data": {
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
- "id": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
- },
- "sig": {
+ "Patterns": {
"type": "array",
"items": {
- "type": "integer"
+ "type": "string"
}
}
},
"additionalProperties": false,
"required": [
- "data",
- "location",
- "id",
- "caveats",
- "sig"
+ "Patterns"
]
},
- "NotifyWatchResult": {
+ "Tools": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "sha256": {
+ "type": "string"
},
- "NotifyWatcherId": {
+ "size": {
+ "type": "integer"
+ },
+ "url": {
"type": "string"
+ },
+ "version": {
+ "$ref": "#/definitions/Binary"
}
},
"additionalProperties": false,
"required": [
- "NotifyWatcherId",
- "Error"
+ "version",
+ "url",
+ "size"
]
},
- "StringResult": {
+ "URL": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "Channel": {
+ "type": "string"
},
- "Result": {
+ "Name": {
+ "type": "string"
+ },
+ "Revision": {
+ "type": "integer"
+ },
+ "Schema": {
+ "type": "string"
+ },
+ "Series": {
+ "type": "string"
+ },
+ "User": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Error",
- "Result"
+ "Schema",
+ "User",
+ "Name",
+ "Revision",
+ "Series",
+ "Channel"
]
},
- "StringsResult": {
+ "UnitStatus": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "AgentStatus": {
+ "$ref": "#/definitions/DetailedStatus"
},
- "Result": {
+ "Charm": {
+ "type": "string"
+ },
+ "Machine": {
+ "type": "string"
+ },
+ "OpenedPorts": {
"type": "array",
"items": {
"type": "string"
}
+ },
+ "PublicAddress": {
+ "type": "string"
+ },
+ "Subordinates": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/UnitStatus"
+ }
+ }
+ },
+ "WorkloadStatus": {
+ "$ref": "#/definitions/DetailedStatus"
}
},
"additionalProperties": false,
"required": [
- "Error",
- "Result"
+ "AgentStatus",
+ "WorkloadStatus",
+ "Machine",
+ "OpenedPorts",
+ "PublicAddress",
+ "Charm",
+ "Subordinates"
]
},
- "StringsWatchResult": {
+ "Value": {
"type": "object",
"properties": {
- "Changes": {
+ "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": {
"type": "array",
"items": {
"type": "string"
}
},
- "Error": {
- "$ref": "#/definitions/Error"
- },
- "StringsWatcherId": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "StringsWatcherId",
- "Changes",
- "Error"
- ]
- },
- "StringsWatchResults": {
- "type": "object",
- "properties": {
- "Results": {
+ "tags": {
"type": "array",
"items": {
- "$ref": "#/definitions/StringsWatchResult"
+ "type": "string"
}
+ },
+ "virt-type": {
+ "type": "string"
}
},
- "additionalProperties": false,
- "required": [
- "Results"
- ]
+ "additionalProperties": false
},
"caveat": {
"type": "object",
}
},
{
- "Name": "DiscoverSpaces",
- "Version": 2,
+ "Name": "Controller",
+ "Version": 3,
"Schema": {
"type": "object",
"properties": {
- "AddSubnets": {
+ "AllModels": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/AddSubnetsParams"
- },
"Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/UserModelList"
}
}
},
- "CreateSpaces": {
+ "DestroyController": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/CreateSpacesParams"
+ "$ref": "#/definitions/DestroyControllerArgs"
+ }
+ }
+ },
+ "InitiateModelMigration": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/InitiateModelMigrationArgs"
},
"Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/InitiateModelMigrationResults"
}
}
},
- "ListSpaces": {
+ "ListBlockedModels": {
"type": "object",
"properties": {
"Result": {
- "$ref": "#/definitions/DiscoverSpacesResults"
+ "$ref": "#/definitions/ModelBlockInfoList"
}
}
},
- "ListSubnets": {
+ "ModelConfig": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/ModelConfigResults"
+ }
+ }
+ },
+ "ModelStatus": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/SubnetsFilters"
+ "$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/ListSubnetsResults"
+ "$ref": "#/definitions/ModelStatusResults"
}
}
},
- "ModelConfig": {
+ "RemoveBlocks": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/RemoveBlocksArgs"
+ }
+ }
+ },
+ "WatchAllModels": {
"type": "object",
"properties": {
"Result": {
- "$ref": "#/definitions/ModelConfigResult"
+ "$ref": "#/definitions/AllWatcherId"
}
}
}
},
"definitions": {
- "AddSubnetParams": {
+ "AllWatcherId": {
"type": "object",
"properties": {
- "SpaceTag": {
- "type": "string"
- },
- "SubnetProviderId": {
- "type": "string"
- },
- "SubnetTag": {
+ "AllWatcherId": {
"type": "string"
- },
- "Zones": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "SpaceTag"
- ]
- },
- "AddSubnetsParams": {
- "type": "object",
- "properties": {
- "Subnets": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AddSubnetParams"
- }
}
},
"additionalProperties": false,
"required": [
- "Subnets"
+ "AllWatcherId"
]
},
- "CreateSpaceParams": {
+ "DestroyControllerArgs": {
"type": "object",
"properties": {
- "ProviderId": {
- "type": "string"
- },
- "Public": {
+ "destroy-models": {
"type": "boolean"
- },
- "SpaceTag": {
- "type": "string"
- },
- "SubnetTags": {
- "type": "array",
- "items": {
- "type": "string"
- }
}
},
"additionalProperties": false,
"required": [
- "SubnetTags",
- "SpaceTag",
- "Public"
+ "destroy-models"
]
},
- "CreateSpacesParams": {
+ "Entities": {
"type": "object",
"properties": {
- "Spaces": {
+ "Entities": {
"type": "array",
"items": {
- "$ref": "#/definitions/CreateSpaceParams"
+ "$ref": "#/definitions/Entity"
}
}
},
"additionalProperties": false,
"required": [
- "Spaces"
+ "Entities"
]
},
- "DiscoverSpacesResults": {
+ "Entity": {
"type": "object",
"properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ProviderSpace"
- }
+ "Tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "Tag"
]
},
"Error": {
},
"additionalProperties": false
},
- "ErrorResult": {
+ "InitiateModelMigrationArgs": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "specs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelMigrationSpec"
+ }
}
},
"additionalProperties": false,
"required": [
- "Error"
+ "specs"
]
},
- "ErrorResults": {
+ "InitiateModelMigrationResult": {
"type": "object",
"properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ErrorResult"
- }
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "id": {
+ "type": "string"
+ },
+ "model-tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "model-tag",
+ "error",
+ "id"
]
},
- "ListSubnetsResults": {
+ "InitiateModelMigrationResults": {
"type": "object",
"properties": {
- "Results": {
+ "results": {
"type": "array",
"items": {
- "$ref": "#/definitions/Subnet"
+ "$ref": "#/definitions/InitiateModelMigrationResult"
}
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "results"
]
},
"Macaroon": {
"sig"
]
},
- "ModelConfigResult": {
+ "Model": {
"type": "object",
"properties": {
- "Config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
+ "Name": {
+ "type": "string"
+ },
+ "OwnerTag": {
+ "type": "string"
+ },
+ "UUID": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Config"
+ "Name",
+ "UUID",
+ "OwnerTag"
]
},
- "ProviderSpace": {
+ "ModelBlockInfo": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "blocks": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
- "Name": {
+ "model-uuid": {
"type": "string"
},
- "ProviderId": {
+ "name": {
"type": "string"
},
- "Subnets": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Subnet"
- }
+ "owner-tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Name",
- "ProviderId",
- "Subnets"
+ "name",
+ "model-uuid",
+ "owner-tag",
+ "blocks"
]
},
- "Subnet": {
+ "ModelBlockInfoList": {
"type": "object",
"properties": {
- "CIDR": {
- "type": "string"
- },
- "Life": {
- "type": "string"
- },
- "ProviderId": {
- "type": "string"
- },
- "SpaceTag": {
- "type": "string"
- },
- "StaticRangeHighIP": {
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
- "StaticRangeLowIP": {
+ "models": {
"type": "array",
"items": {
- "type": "integer"
+ "$ref": "#/definitions/ModelBlockInfo"
}
- },
- "Status": {
- "type": "string"
- },
- "VLANTag": {
- "type": "integer"
- },
- "Zones": {
- "type": "array",
- "items": {
- "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ModelConfigResults": {
+ "type": "object",
+ "properties": {
+ "Config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
}
}
},
"additionalProperties": false,
"required": [
- "CIDR",
- "VLANTag",
- "Life",
- "SpaceTag",
- "Zones"
+ "Config"
]
},
- "SubnetsFilters": {
+ "ModelMigrationSpec": {
"type": "object",
"properties": {
- "SpaceTag": {
+ "model-tag": {
"type": "string"
},
- "Zone": {
- "type": "string"
+ "target-info": {
+ "$ref": "#/definitions/ModelMigrationTargetInfo"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "model-tag",
+ "target-info"
+ ]
},
- "caveat": {
+ "ModelMigrationTargetInfo": {
"type": "object",
"properties": {
- "caveatId": {
- "$ref": "#/definitions/packet"
+ "addrs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
- "location": {
- "$ref": "#/definitions/packet"
+ "auth-tag": {
+ "type": "string"
},
- "verificationId": {
- "$ref": "#/definitions/packet"
+ "ca-cert": {
+ "type": "string"
+ },
+ "controller-tag": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "location",
- "caveatId",
- "verificationId"
+ "controller-tag",
+ "addrs",
+ "ca-cert",
+ "auth-tag",
+ "password"
]
},
- "packet": {
+ "ModelStatus": {
"type": "object",
"properties": {
- "headerLen": {
+ "application-count": {
"type": "integer"
},
- "start": {
+ "hosted-machine-count": {
"type": "integer"
},
- "totalLen": {
- "type": "integer"
- }
- },
- "additionalProperties": false,
- "required": [
- "start",
- "totalLen",
- "headerLen"
- ]
- }
- }
- }
- },
- {
- "Name": "DiskManager",
- "Version": 2,
- "Schema": {
- "type": "object",
- "properties": {
- "SetMachineBlockDevices": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/SetMachineBlockDevices"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
- }
- },
- "definitions": {
- "BlockDevice": {
- "type": "object",
- "properties": {
- "BusAddress": {
- "type": "string"
- },
- "DeviceLinks": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "DeviceName": {
- "type": "string"
- },
- "FilesystemType": {
- "type": "string"
- },
- "HardwareId": {
- "type": "string"
- },
- "InUse": {
- "type": "boolean"
- },
- "Label": {
- "type": "string"
- },
- "MountPoint": {
- "type": "string"
- },
- "Size": {
- "type": "integer"
- },
- "UUID": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "DeviceName",
- "DeviceLinks",
- "Label",
- "UUID",
- "HardwareId",
- "BusAddress",
- "Size",
- "FilesystemType",
- "InUse",
- "MountPoint"
- ]
- },
- "Error": {
- "type": "object",
- "properties": {
- "Code": {
+ "life": {
"type": "string"
},
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
- },
- "Message": {
+ "model-tag": {
"type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Message",
- "Code"
- ]
- },
- "ErrorInfo": {
- "type": "object",
- "properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
},
- "MacaroonPath": {
+ "owner-tag": {
"type": "string"
}
},
- "additionalProperties": false
- },
- "ErrorResult": {
- "type": "object",
- "properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- }
- },
"additionalProperties": false,
"required": [
- "Error"
+ "model-tag",
+ "life",
+ "hosted-machine-count",
+ "application-count",
+ "owner-tag"
]
},
- "ErrorResults": {
+ "ModelStatusResults": {
"type": "object",
"properties": {
- "Results": {
+ "models": {
"type": "array",
"items": {
- "$ref": "#/definitions/ErrorResult"
+ "$ref": "#/definitions/ModelStatus"
}
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "models"
]
},
- "Macaroon": {
+ "RemoveBlocksArgs": {
"type": "object",
"properties": {
- "caveats": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/caveat"
- }
- },
- "data": {
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
- "id": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
- },
- "sig": {
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "all": {
+ "type": "boolean"
}
},
"additionalProperties": false,
"required": [
- "data",
- "location",
- "id",
- "caveats",
- "sig"
+ "all"
]
},
- "MachineBlockDevices": {
+ "UserModel": {
"type": "object",
"properties": {
- "blockdevices": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/BlockDevice"
- }
+ "LastConnection": {
+ "type": "string",
+ "format": "date-time"
},
- "machine": {
- "type": "string"
+ "Model": {
+ "$ref": "#/definitions/Model"
}
},
"additionalProperties": false,
"required": [
- "machine"
+ "Model",
+ "LastConnection"
]
},
- "SetMachineBlockDevices": {
+ "UserModelList": {
"type": "object",
"properties": {
- "machineblockdevices": {
+ "UserModels": {
"type": "array",
"items": {
- "$ref": "#/definitions/MachineBlockDevices"
+ "$ref": "#/definitions/UserModel"
}
}
},
"additionalProperties": false,
"required": [
- "machineblockdevices"
+ "UserModels"
]
},
"caveat": {
}
},
{
- "Name": "EntityWatcher",
- "Version": 2,
+ "Name": "Deployer",
+ "Version": 1,
"Schema": {
"type": "object",
"properties": {
- "Next": {
+ "APIAddresses": {
"type": "object",
"properties": {
"Result": {
- "$ref": "#/definitions/EntitiesWatchResult"
+ "$ref": "#/definitions/StringsResult"
}
}
},
- "Stop": {
- "type": "object"
- }
- },
- "definitions": {
- "EntitiesWatchResult": {
+ "APIHostPorts": {
"type": "object",
"properties": {
- "Changes": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "EntityWatcherId": {
- "type": "string"
- },
- "Error": {
- "$ref": "#/definitions/Error"
+ "Result": {
+ "$ref": "#/definitions/APIHostPortsResult"
}
- },
- "additionalProperties": false,
- "required": [
- "EntityWatcherId",
- "Changes",
- "Error"
- ]
+ }
},
- "Error": {
+ "CACert": {
"type": "object",
"properties": {
- "Code": {
- "type": "string"
- },
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
- },
- "Message": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/BytesResult"
}
- },
- "additionalProperties": false,
- "required": [
- "Message",
- "Code"
- ]
+ }
},
- "ErrorInfo": {
+ "ConnectionInfo": {
"type": "object",
"properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
- },
- "MacaroonPath": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/DeployerConnectionValues"
}
- },
- "additionalProperties": false
+ }
},
- "Macaroon": {
+ "Life": {
"type": "object",
"properties": {
- "caveats": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/caveat"
- }
- },
- "data": {
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
- "id": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "sig": {
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "Result": {
+ "$ref": "#/definitions/LifeResults"
}
- },
- "additionalProperties": false,
- "required": [
- "data",
- "location",
- "id",
- "caveats",
- "sig"
- ]
+ }
},
- "caveat": {
+ "ModelUUID": {
"type": "object",
"properties": {
- "caveatId": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
- },
- "verificationId": {
- "$ref": "#/definitions/packet"
+ "Result": {
+ "$ref": "#/definitions/StringResult"
}
- },
- "additionalProperties": false,
- "required": [
- "location",
- "caveatId",
- "verificationId"
- ]
+ }
},
- "packet": {
+ "Remove": {
"type": "object",
"properties": {
- "headerLen": {
- "type": "integer"
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "start": {
- "type": "integer"
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "SetPasswords": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/EntityPasswords"
},
- "totalLen": {
- "type": "integer"
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
}
- },
- "additionalProperties": false,
- "required": [
- "start",
- "totalLen",
- "headerLen"
- ]
- }
- }
- }
- },
- {
- "Name": "FilesystemAttachmentsWatcher",
- "Version": 2,
- "Schema": {
- "type": "object",
- "properties": {
- "Next": {
+ }
+ },
+ "StateAddresses": {
"type": "object",
"properties": {
"Result": {
- "$ref": "#/definitions/MachineStorageIdsWatchResult"
+ "$ref": "#/definitions/StringsResult"
}
}
},
- "Stop": {
- "type": "object"
+ "WatchAPIHostPorts": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
+ }
+ },
+ "WatchUnits": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/StringsWatchResults"
+ }
+ }
}
},
"definitions": {
- "Error": {
+ "APIHostPortsResult": {
"type": "object",
"properties": {
- "Code": {
- "type": "string"
- },
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
- },
- "Message": {
- "type": "string"
+ "Servers": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HostPort"
+ }
+ }
}
},
"additionalProperties": false,
"required": [
- "Message",
- "Code"
+ "Servers"
]
},
- "ErrorInfo": {
+ "Address": {
"type": "object",
"properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
+ "Scope": {
+ "type": "string"
},
- "MacaroonPath": {
+ "SpaceName": {
+ "type": "string"
+ },
+ "Type": {
+ "type": "string"
+ },
+ "Value": {
"type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "Value",
+ "Type",
+ "Scope"
+ ]
},
- "Macaroon": {
+ "BytesResult": {
"type": "object",
"properties": {
- "caveats": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/caveat"
- }
- },
- "data": {
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
- "id": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
- },
- "sig": {
+ "Result": {
"type": "array",
"items": {
"type": "integer"
},
"additionalProperties": false,
"required": [
- "data",
- "location",
- "id",
- "caveats",
- "sig"
+ "Result"
]
},
- "MachineStorageId": {
+ "DeployerConnectionValues": {
"type": "object",
"properties": {
- "attachmenttag": {
- "type": "string"
+ "APIAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
- "machinetag": {
- "type": "string"
+ "StateAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
"additionalProperties": false,
"required": [
- "machinetag",
- "attachmenttag"
+ "StateAddresses",
+ "APIAddresses"
]
},
- "MachineStorageIdsWatchResult": {
+ "Entities": {
"type": "object",
"properties": {
- "Changes": {
+ "Entities": {
"type": "array",
"items": {
- "$ref": "#/definitions/MachineStorageId"
+ "$ref": "#/definitions/Entity"
}
- },
- "Error": {
- "$ref": "#/definitions/Error"
- },
- "MachineStorageIdsWatcherId": {
- "type": "string"
}
},
"additionalProperties": false,
"required": [
- "MachineStorageIdsWatcherId",
- "Changes",
- "Error"
+ "Entities"
]
},
- "caveat": {
+ "Entity": {
"type": "object",
"properties": {
- "caveatId": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
- },
- "verificationId": {
- "$ref": "#/definitions/packet"
+ "Tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "location",
- "caveatId",
- "verificationId"
+ "Tag"
]
},
- "packet": {
+ "EntityPassword": {
"type": "object",
"properties": {
- "headerLen": {
- "type": "integer"
- },
- "start": {
- "type": "integer"
+ "Password": {
+ "type": "string"
},
- "totalLen": {
- "type": "integer"
+ "Tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "start",
- "totalLen",
- "headerLen"
+ "Tag",
+ "Password"
]
- }
- }
- }
- },
- {
- "Name": "Firewaller",
- "Version": 2,
- "Schema": {
- "type": "object",
- "properties": {
- "GetAssignedMachine": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/StringResults"
- }
- }
- },
- "GetExposed": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/BoolResults"
- }
- }
- },
- "GetMachineActiveSubnets": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/StringsResults"
- }
- }
- },
- "GetMachinePorts": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/MachinePortsParams"
- },
- "Result": {
- "$ref": "#/definitions/MachinePortsResults"
- }
- }
},
- "InstanceId": {
+ "EntityPasswords": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/StringResults"
+ "Changes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityPassword"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Changes"
+ ]
},
- "Life": {
+ "Error": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "Code": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/LifeResults"
- }
- }
- },
- "ModelConfig": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/ModelConfigResult"
- }
- }
- },
- "Watch": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
},
- "Result": {
- "$ref": "#/definitions/NotifyWatchResults"
- }
- }
- },
- "WatchForModelConfigChanges": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/NotifyWatchResult"
- }
- }
- },
- "WatchModelMachines": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/StringsWatchResult"
+ "Message": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Message",
+ "Code"
+ ]
},
- "WatchOpenedPorts": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
},
- "Result": {
- "$ref": "#/definitions/StringsWatchResults"
+ "MacaroonPath": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false
},
- "WatchUnits": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/StringsWatchResults"
- }
- }
- }
- },
- "definitions": {
- "BoolResult": {
+ "ErrorResult": {
"type": "object",
"properties": {
"Error": {
"$ref": "#/definitions/Error"
- },
- "Result": {
- "type": "boolean"
}
},
"additionalProperties": false,
"required": [
- "Error",
- "Result"
+ "Error"
]
},
- "BoolResults": {
+ "ErrorResults": {
"type": "object",
"properties": {
"Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/BoolResult"
+ "$ref": "#/definitions/ErrorResult"
}
}
},
"Results"
]
},
- "Entities": {
- "type": "object",
- "properties": {
- "Entities": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Entity"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Entities"
- ]
- },
- "Entity": {
- "type": "object",
- "properties": {
- "Tag": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Tag"
- ]
- },
- "Error": {
+ "HostPort": {
"type": "object",
"properties": {
- "Code": {
- "type": "string"
- },
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
+ "Address": {
+ "$ref": "#/definitions/Address"
},
- "Message": {
- "type": "string"
+ "Port": {
+ "type": "integer"
}
},
"additionalProperties": false,
"required": [
- "Message",
- "Code"
+ "Address",
+ "Port"
]
},
- "ErrorInfo": {
- "type": "object",
- "properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
- },
- "MacaroonPath": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
"LifeResult": {
"type": "object",
"properties": {
"sig"
]
},
- "MachinePortRange": {
+ "NotifyWatchResult": {
"type": "object",
"properties": {
- "PortRange": {
- "$ref": "#/definitions/PortRange"
- },
- "RelationTag": {
- "type": "string"
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "UnitTag": {
+ "NotifyWatcherId": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "UnitTag",
- "RelationTag",
- "PortRange"
+ "NotifyWatcherId",
+ "Error"
]
},
- "MachinePorts": {
+ "StringResult": {
"type": "object",
"properties": {
- "MachineTag": {
- "type": "string"
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "SubnetTag": {
+ "Result": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "MachineTag",
- "SubnetTag"
+ "Error",
+ "Result"
]
},
- "MachinePortsParams": {
+ "StringsResult": {
"type": "object",
"properties": {
- "Params": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/MachinePorts"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Params"
- ]
- },
- "MachinePortsResult": {
- "type": "object",
- "properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- },
- "Ports": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/MachinePortRange"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Error",
- "Ports"
- ]
- },
- "MachinePortsResults": {
- "type": "object",
- "properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/MachinePortsResult"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Results"
- ]
- },
- "ModelConfigResult": {
- "type": "object",
- "properties": {
- "Config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Config"
- ]
- },
- "NotifyWatchResult": {
- "type": "object",
- "properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- },
- "NotifyWatcherId": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "NotifyWatcherId",
- "Error"
- ]
- },
- "NotifyWatchResults": {
- "type": "object",
- "properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/NotifyWatchResult"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Results"
- ]
- },
- "PortRange": {
- "type": "object",
- "properties": {
- "FromPort": {
- "type": "integer"
- },
- "Protocol": {
- "type": "string"
- },
- "ToPort": {
- "type": "integer"
- }
- },
- "additionalProperties": false,
- "required": [
- "FromPort",
- "ToPort",
- "Protocol"
- ]
- },
- "StringResult": {
- "type": "object",
- "properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- },
- "Result": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Error",
- "Result"
- ]
- },
- "StringResults": {
- "type": "object",
- "properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/StringResult"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Results"
- ]
- },
- "StringsResult": {
- "type": "object",
- "properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- },
- "Result": {
+ "Error": {
+ "$ref": "#/definitions/Error"
+ },
+ "Result": {
"type": "array",
"items": {
"type": "string"
"Result"
]
},
- "StringsResults": {
- "type": "object",
- "properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/StringsResult"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Results"
- ]
- },
"StringsWatchResult": {
"type": "object",
"properties": {
}
},
{
- "Name": "HighAvailability",
+ "Name": "DiscoverSpaces",
"Version": 2,
"Schema": {
"type": "object",
"properties": {
- "EnableHA": {
+ "AddSubnets": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/ControllersSpecs"
+ "$ref": "#/definitions/AddSubnetsParams"
},
"Result": {
- "$ref": "#/definitions/ControllersChangeResults"
+ "$ref": "#/definitions/ErrorResults"
}
}
},
- "ResumeHAReplicationAfterUpgrade": {
+ "CreateSpaces": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/ResumeReplicationParams"
+ "$ref": "#/definitions/CreateSpacesParams"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
}
}
},
- "StopHAReplicationForUpgrade": {
+ "ListSpaces": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/DiscoverSpacesResults"
+ }
+ }
+ },
+ "ListSubnets": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/UpgradeMongoParams"
+ "$ref": "#/definitions/SubnetsFilters"
},
"Result": {
- "$ref": "#/definitions/MongoUpgradeResults"
+ "$ref": "#/definitions/ListSubnetsResults"
+ }
+ }
+ },
+ "ModelConfig": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/ModelConfigResult"
}
}
}
},
"definitions": {
- "Address": {
+ "AddSubnetParams": {
"type": "object",
"properties": {
- "Scope": {
- "type": "string"
- },
- "SpaceName": {
- "type": "string"
- },
- "SpaceProviderId": {
+ "SpaceTag": {
"type": "string"
},
- "Type": {
+ "SubnetProviderId": {
"type": "string"
},
- "Value": {
+ "SubnetTag": {
"type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Value",
- "Type",
- "Scope",
- "SpaceName",
- "SpaceProviderId"
- ]
- },
- "ControllersChangeResult": {
- "type": "object",
- "properties": {
- "Error": {
- "$ref": "#/definitions/Error"
},
- "Result": {
- "$ref": "#/definitions/ControllersChanges"
+ "Zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
"additionalProperties": false,
"required": [
- "Result",
- "Error"
+ "SpaceTag"
]
},
- "ControllersChangeResults": {
+ "AddSubnetsParams": {
"type": "object",
"properties": {
- "Results": {
+ "Subnets": {
"type": "array",
"items": {
- "$ref": "#/definitions/ControllersChangeResult"
+ "$ref": "#/definitions/AddSubnetParams"
}
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "Subnets"
]
},
- "ControllersChanges": {
+ "CreateSpaceParams": {
"type": "object",
"properties": {
- "added": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "converted": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "demoted": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "ProviderId": {
+ "type": "string"
},
- "maintained": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "Public": {
+ "type": "boolean"
},
- "promoted": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "SpaceTag": {
+ "type": "string"
},
- "removed": {
+ "SubnetTags": {
"type": "array",
"items": {
"type": "string"
}
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "SubnetTags",
+ "SpaceTag",
+ "Public"
+ ]
},
- "ControllersSpec": {
+ "CreateSpacesParams": {
"type": "object",
"properties": {
- "ModelTag": {
- "type": "string"
- },
- "constraints": {
- "$ref": "#/definitions/Value"
- },
- "num-controllers": {
- "type": "integer"
- },
- "placement": {
+ "Spaces": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/CreateSpaceParams"
}
- },
- "series": {
- "type": "string"
}
},
"additionalProperties": false,
"required": [
- "ModelTag",
- "num-controllers"
+ "Spaces"
]
},
- "ControllersSpecs": {
+ "DiscoverSpacesResults": {
"type": "object",
"properties": {
- "Specs": {
+ "Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/ControllersSpec"
+ "$ref": "#/definitions/ProviderSpace"
}
}
},
"additionalProperties": false,
"required": [
- "Specs"
+ "Results"
]
},
"Error": {
},
"additionalProperties": false
},
- "HAMember": {
+ "ErrorResult": {
"type": "object",
"properties": {
- "PublicAddress": {
- "$ref": "#/definitions/Address"
- },
- "Series": {
- "type": "string"
- },
- "Tag": {
- "type": "string"
+ "Error": {
+ "$ref": "#/definitions/Error"
}
},
"additionalProperties": false,
"required": [
- "Tag",
- "PublicAddress",
- "Series"
+ "Error"
+ ]
+ },
+ "ErrorResults": {
+ "type": "object",
+ "properties": {
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
+ },
+ "ListSubnetsResults": {
+ "type": "object",
+ "properties": {
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Subnet"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Results"
]
},
"Macaroon": {
"sig"
]
},
- "Member": {
+ "ModelConfigResult": {
"type": "object",
"properties": {
- "Address": {
- "type": "string"
- },
- "Arbiter": {
- "type": "boolean"
- },
- "BuildIndexes": {
- "type": "boolean"
- },
- "Hidden": {
- "type": "boolean"
- },
- "Id": {
- "type": "integer"
- },
- "Priority": {
- "type": "number"
- },
- "SlaveDelay": {
- "type": "integer"
- },
- "Tags": {
+ "Config": {
"type": "object",
"patternProperties": {
".*": {
- "type": "string"
+ "type": "object",
+ "additionalProperties": true
}
}
- },
- "Votes": {
- "type": "integer"
}
},
"additionalProperties": false,
"required": [
- "Id",
- "Address",
- "Arbiter",
- "BuildIndexes",
- "Hidden",
- "Priority",
- "Tags",
- "SlaveDelay",
- "Votes"
+ "Config"
]
},
- "MongoUpgradeResults": {
+ "ProviderSpace": {
"type": "object",
"properties": {
- "Master": {
- "$ref": "#/definitions/HAMember"
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "Members": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/HAMember"
- }
+ "Name": {
+ "type": "string"
},
- "RsMembers": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Member"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "RsMembers",
- "Master",
- "Members"
- ]
- },
- "ResumeReplicationParams": {
- "type": "object",
- "properties": {
- "Members": {
+ "ProviderId": {
+ "type": "string"
+ },
+ "Subnets": {
"type": "array",
"items": {
- "$ref": "#/definitions/Member"
+ "$ref": "#/definitions/Subnet"
}
}
},
"additionalProperties": false,
"required": [
- "Members"
- ]
- },
- "UpgradeMongoParams": {
- "type": "object",
- "properties": {
- "Target": {
- "$ref": "#/definitions/Version"
- }
- },
- "additionalProperties": false,
- "required": [
- "Target"
+ "Name",
+ "ProviderId",
+ "Subnets"
]
},
- "Value": {
+ "Subnet": {
"type": "object",
"properties": {
- "arch": {
+ "CIDR": {
"type": "string"
},
- "container": {
+ "Life": {
"type": "string"
},
- "cpu-cores": {
- "type": "integer"
- },
- "cpu-power": {
- "type": "integer"
- },
- "instance-type": {
+ "ProviderId": {
"type": "string"
},
- "mem": {
- "type": "integer"
- },
- "root-disk": {
- "type": "integer"
+ "SpaceTag": {
+ "type": "string"
},
- "spaces": {
+ "StaticRangeHighIP": {
"type": "array",
"items": {
- "type": "string"
+ "type": "integer"
}
},
- "tags": {
+ "StaticRangeLowIP": {
"type": "array",
"items": {
- "type": "string"
+ "type": "integer"
}
},
- "virt-type": {
+ "Status": {
"type": "string"
- }
- },
- "additionalProperties": false
- },
- "Version": {
- "type": "object",
- "properties": {
- "Major": {
- "type": "integer"
},
- "Minor": {
+ "VLANTag": {
"type": "integer"
},
- "Patch": {
- "type": "string"
- },
- "StorageEngine": {
- "type": "string"
+ "Zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
"additionalProperties": false,
"required": [
- "Major",
- "Minor",
- "Patch",
- "StorageEngine"
+ "CIDR",
+ "VLANTag",
+ "Life",
+ "SpaceTag",
+ "Zones"
]
},
+ "SubnetsFilters": {
+ "type": "object",
+ "properties": {
+ "SpaceTag": {
+ "type": "string"
+ },
+ "Zone": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
"caveat": {
"type": "object",
"properties": {
}
},
{
- "Name": "HostKeyReporter",
- "Version": 1,
+ "Name": "DiskManager",
+ "Version": 2,
"Schema": {
"type": "object",
"properties": {
- "ReportKeys": {
+ "SetMachineBlockDevices": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/SSHHostKeySet"
+ "$ref": "#/definitions/SetMachineBlockDevices"
},
"Result": {
"$ref": "#/definitions/ErrorResults"
}
},
"definitions": {
+ "BlockDevice": {
+ "type": "object",
+ "properties": {
+ "BusAddress": {
+ "type": "string"
+ },
+ "DeviceLinks": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "FilesystemType": {
+ "type": "string"
+ },
+ "HardwareId": {
+ "type": "string"
+ },
+ "InUse": {
+ "type": "boolean"
+ },
+ "Label": {
+ "type": "string"
+ },
+ "MountPoint": {
+ "type": "string"
+ },
+ "Size": {
+ "type": "integer"
+ },
+ "UUID": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "DeviceName",
+ "DeviceLinks",
+ "Label",
+ "UUID",
+ "HardwareId",
+ "BusAddress",
+ "Size",
+ "FilesystemType",
+ "InUse",
+ "MountPoint"
+ ]
+ },
"Error": {
"type": "object",
"properties": {
"sig"
]
},
- "SSHHostKeySet": {
+ "MachineBlockDevices": {
"type": "object",
"properties": {
- "entity-keys": {
+ "blockdevices": {
"type": "array",
"items": {
- "$ref": "#/definitions/SSHHostKeys"
+ "$ref": "#/definitions/BlockDevice"
}
+ },
+ "machine": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "entity-keys"
+ "machine"
]
},
- "SSHHostKeys": {
+ "SetMachineBlockDevices": {
"type": "object",
"properties": {
- "public-keys": {
+ "machineblockdevices": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/MachineBlockDevices"
}
- },
- "tag": {
- "type": "string"
}
},
"additionalProperties": false,
"required": [
- "tag",
- "public-keys"
+ "machineblockdevices"
]
},
"caveat": {
}
},
{
- "Name": "ImageManager",
+ "Name": "EntityWatcher",
"Version": 2,
"Schema": {
"type": "object",
"properties": {
- "DeleteImages": {
+ "Next": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/ImageFilterParams"
- },
"Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/EntitiesWatchResult"
}
}
},
- "ListImages": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/ImageFilterParams"
- },
- "Result": {
- "$ref": "#/definitions/ListImageResult"
- }
- }
+ "Stop": {
+ "type": "object"
}
},
"definitions": {
- "Error": {
+ "EntitiesWatchResult": {
"type": "object",
"properties": {
- "Code": {
- "type": "string"
- },
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
+ "Changes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
- "Message": {
+ "EntityWatcherId": {
"type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Message",
- "Code"
- ]
- },
- "ErrorInfo": {
- "type": "object",
- "properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
},
- "MacaroonPath": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "ErrorResult": {
- "type": "object",
- "properties": {
"Error": {
"$ref": "#/definitions/Error"
}
},
"additionalProperties": false,
"required": [
+ "EntityWatcherId",
+ "Changes",
"Error"
]
},
- "ErrorResults": {
- "type": "object",
- "properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ErrorResult"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Results"
- ]
- },
- "ImageFilterParams": {
- "type": "object",
- "properties": {
- "images": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ImageSpec"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "images"
- ]
- },
- "ImageMetadata": {
+ "Error": {
"type": "object",
"properties": {
- "arch": {
- "type": "string"
- },
- "created": {
- "type": "string",
- "format": "date-time"
- },
- "kind": {
+ "Code": {
"type": "string"
},
- "series": {
- "type": "string"
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
},
- "url": {
+ "Message": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "kind",
- "arch",
- "series",
- "url",
- "created"
+ "Message",
+ "Code"
]
},
- "ImageSpec": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "arch": {
- "type": "string"
- },
- "kind": {
- "type": "string"
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
},
- "series": {
+ "MacaroonPath": {
"type": "string"
}
},
- "additionalProperties": false,
- "required": [
- "kind",
- "arch",
- "series"
- ]
- },
- "ListImageResult": {
- "type": "object",
- "properties": {
- "result": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ImageMetadata"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "result"
- ]
+ "additionalProperties": false
},
"Macaroon": {
"type": "object",
}
},
{
- "Name": "ImageMetadata",
+ "Name": "FilesystemAttachmentsWatcher",
"Version": 2,
"Schema": {
"type": "object",
"properties": {
- "Delete": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/MetadataImageIds"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
- },
- "List": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/ImageMetadataFilter"
- },
- "Result": {
- "$ref": "#/definitions/ListCloudImageMetadataResult"
- }
- }
- },
- "Save": {
+ "Next": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/MetadataSaveParams"
- },
"Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/MachineStorageIdsWatchResult"
}
}
},
- "UpdateFromPublishedImages": {
+ "Stop": {
"type": "object"
}
},
"definitions": {
- "CloudImageMetadata": {
- "type": "object",
- "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"
- }
- },
- "additionalProperties": false,
- "required": [
- "image_id",
- "region",
- "version",
- "series",
- "arch",
- "source",
- "priority"
- ]
- },
- "CloudImageMetadataList": {
- "type": "object",
- "properties": {
- "metadata": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/CloudImageMetadata"
- }
- }
- },
- "additionalProperties": false
- },
"Error": {
"type": "object",
"properties": {
},
"additionalProperties": false
},
- "ErrorResult": {
- "type": "object",
- "properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- }
- },
- "additionalProperties": false,
- "required": [
- "Error"
- ]
- },
- "ErrorResults": {
- "type": "object",
- "properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ErrorResult"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Results"
- ]
- },
- "ImageMetadataFilter": {
- "type": "object",
- "properties": {
- "arches": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "region": {
- "type": "string"
- },
- "root-storage-type": {
- "type": "string"
- },
- "series": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "stream": {
- "type": "string"
- },
- "virt_type": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "ListCloudImageMetadataResult": {
- "type": "object",
- "properties": {
- "result": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/CloudImageMetadata"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "result"
- ]
- },
"Macaroon": {
"type": "object",
"properties": {
"sig"
]
},
- "MetadataImageIds": {
+ "MachineStorageId": {
"type": "object",
"properties": {
- "image_ids": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "attachmenttag": {
+ "type": "string"
+ },
+ "machinetag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "image_ids"
+ "machinetag",
+ "attachmenttag"
]
},
- "MetadataSaveParams": {
+ "MachineStorageIdsWatchResult": {
"type": "object",
"properties": {
- "metadata": {
+ "Changes": {
"type": "array",
"items": {
- "$ref": "#/definitions/CloudImageMetadataList"
+ "$ref": "#/definitions/MachineStorageId"
}
+ },
+ "Error": {
+ "$ref": "#/definitions/Error"
+ },
+ "MachineStorageIdsWatcherId": {
+ "type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "MachineStorageIdsWatcherId",
+ "Changes",
+ "Error"
+ ]
},
"caveat": {
"type": "object",
}
},
{
- "Name": "InstancePoller",
- "Version": 2,
+ "Name": "Firewaller",
+ "Version": 3,
"Schema": {
"type": "object",
"properties": {
- "AreManuallyProvisioned": {
+ "GetAssignedMachine": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/BoolResults"
+ "$ref": "#/definitions/StringResults"
}
}
},
- "InstanceId": {
+ "GetExposed": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/StringResults"
+ "$ref": "#/definitions/BoolResults"
}
}
},
- "InstanceStatus": {
+ "GetMachineActiveSubnets": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/StatusResults"
+ "$ref": "#/definitions/StringsResults"
}
}
},
- "Life": {
+ "GetMachinePorts": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/Entities"
+ "$ref": "#/definitions/MachinePortsParams"
},
"Result": {
- "$ref": "#/definitions/LifeResults"
- }
- }
- },
- "ModelConfig": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/ModelConfigResult"
+ "$ref": "#/definitions/MachinePortsResults"
}
}
},
- "ProviderAddresses": {
+ "InstanceId": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/MachineAddressesResults"
+ "$ref": "#/definitions/StringResults"
}
}
},
- "SetInstanceStatus": {
+ "Life": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/SetStatus"
+ "$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/LifeResults"
}
}
},
- "SetProviderAddresses": {
+ "ModelConfig": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/SetMachinesAddresses"
- },
"Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/ModelConfigResult"
}
}
},
- "Status": {
+ "Watch": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/StatusResults"
+ "$ref": "#/definitions/NotifyWatchResults"
}
}
},
"$ref": "#/definitions/StringsWatchResult"
}
}
- }
- },
- "definitions": {
- "Address": {
+ },
+ "WatchOpenedPorts": {
"type": "object",
"properties": {
- "Scope": {
- "type": "string"
- },
- "SpaceName": {
- "type": "string"
- },
- "Type": {
- "type": "string"
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "Value": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/StringsWatchResults"
}
- },
- "additionalProperties": false,
- "required": [
- "Value",
- "Type",
- "Scope"
- ]
+ }
},
+ "WatchUnits": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/StringsWatchResults"
+ }
+ }
+ }
+ },
+ "definitions": {
"BoolResult": {
"type": "object",
"properties": {
"Tag"
]
},
- "EntityStatusArgs": {
- "type": "object",
- "properties": {
- "Data": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
- },
- "Info": {
- "type": "string"
- },
- "Status": {
- "type": "string"
- },
- "Tag": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Tag",
- "Status",
- "Info",
- "Data"
- ]
- },
"Error": {
"type": "object",
"properties": {
},
"additionalProperties": false
},
- "ErrorResult": {
- "type": "object",
- "properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- }
- },
- "additionalProperties": false,
- "required": [
- "Error"
- ]
- },
- "ErrorResults": {
- "type": "object",
- "properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ErrorResult"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Results"
- ]
- },
"LifeResult": {
"type": "object",
"properties": {
"sig"
]
},
- "MachineAddresses": {
+ "MachinePortRange": {
"type": "object",
"properties": {
- "Addresses": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Address"
- }
+ "PortRange": {
+ "$ref": "#/definitions/PortRange"
},
- "Tag": {
+ "RelationTag": {
+ "type": "string"
+ },
+ "UnitTag": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Tag",
- "Addresses"
+ "UnitTag",
+ "RelationTag",
+ "PortRange"
]
},
- "MachineAddressesResult": {
+ "MachinePorts": {
"type": "object",
"properties": {
- "Addresses": {
+ "MachineTag": {
+ "type": "string"
+ },
+ "SubnetTag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "MachineTag",
+ "SubnetTag"
+ ]
+ },
+ "MachinePortsParams": {
+ "type": "object",
+ "properties": {
+ "Params": {
"type": "array",
"items": {
- "$ref": "#/definitions/Address"
+ "$ref": "#/definitions/MachinePorts"
}
- },
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Params"
+ ]
+ },
+ "MachinePortsResult": {
+ "type": "object",
+ "properties": {
"Error": {
"$ref": "#/definitions/Error"
+ },
+ "Ports": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MachinePortRange"
+ }
}
},
"additionalProperties": false,
"required": [
"Error",
- "Addresses"
+ "Ports"
]
},
- "MachineAddressesResults": {
+ "MachinePortsResults": {
"type": "object",
"properties": {
"Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/MachineAddressesResult"
+ "$ref": "#/definitions/MachinePortsResult"
}
}
},
"Error"
]
},
- "SetMachinesAddresses": {
+ "NotifyWatchResults": {
"type": "object",
"properties": {
- "MachineAddresses": {
+ "Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/MachineAddresses"
+ "$ref": "#/definitions/NotifyWatchResult"
}
}
},
"additionalProperties": false,
"required": [
- "MachineAddresses"
+ "Results"
]
},
- "SetStatus": {
+ "PortRange": {
"type": "object",
"properties": {
- "Entities": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EntityStatusArgs"
- }
+ "FromPort": {
+ "type": "integer"
+ },
+ "Protocol": {
+ "type": "string"
+ },
+ "ToPort": {
+ "type": "integer"
}
},
"additionalProperties": false,
"required": [
- "Entities"
+ "FromPort",
+ "ToPort",
+ "Protocol"
]
},
- "StatusResult": {
+ "StringResult": {
"type": "object",
"properties": {
- "Data": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
- },
"Error": {
"$ref": "#/definitions/Error"
},
- "Id": {
- "type": "string"
- },
- "Info": {
- "type": "string"
- },
- "Life": {
- "type": "string"
- },
- "Since": {
- "type": "string",
- "format": "date-time"
- },
- "Status": {
+ "Result": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"Error",
- "Id",
- "Life",
- "Status",
- "Info",
- "Data",
- "Since"
+ "Result"
]
},
- "StatusResults": {
+ "StringResults": {
"type": "object",
"properties": {
"Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/StatusResult"
+ "$ref": "#/definitions/StringResult"
}
}
},
"Results"
]
},
- "StringResult": {
+ "StringsResult": {
"type": "object",
"properties": {
"Error": {
"$ref": "#/definitions/Error"
},
"Result": {
- "type": "string"
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
"additionalProperties": false,
"Result"
]
},
- "StringResults": {
+ "StringsResults": {
"type": "object",
"properties": {
"Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/StringResult"
+ "$ref": "#/definitions/StringsResult"
}
}
},
"Error"
]
},
+ "StringsWatchResults": {
+ "type": "object",
+ "properties": {
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StringsWatchResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
+ },
"caveat": {
"type": "object",
"properties": {
}
},
{
- "Name": "KeyManager",
- "Version": 1,
+ "Name": "HighAvailability",
+ "Version": 2,
"Schema": {
"type": "object",
"properties": {
- "AddKeys": {
+ "EnableHA": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/ModifyUserSSHKeys"
+ "$ref": "#/definitions/ControllersSpecs"
},
"Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/ControllersChangeResults"
}
}
},
- "DeleteKeys": {
+ "ResumeHAReplicationAfterUpgrade": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/ModifyUserSSHKeys"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/ResumeReplicationParams"
}
}
},
- "ImportKeys": {
+ "StopHAReplicationForUpgrade": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/ModifyUserSSHKeys"
+ "$ref": "#/definitions/UpgradeMongoParams"
},
"Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/MongoUpgradeResults"
}
}
+ }
+ },
+ "definitions": {
+ "Address": {
+ "type": "object",
+ "properties": {
+ "Scope": {
+ "type": "string"
+ },
+ "SpaceName": {
+ "type": "string"
+ },
+ "SpaceProviderId": {
+ "type": "string"
+ },
+ "Type": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Value",
+ "Type",
+ "Scope",
+ "SpaceName",
+ "SpaceProviderId"
+ ]
},
- "ListKeys": {
+ "ControllersChangeResult": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/ListSSHKeys"
+ "Error": {
+ "$ref": "#/definitions/Error"
},
"Result": {
- "$ref": "#/definitions/StringsResults"
+ "$ref": "#/definitions/ControllersChanges"
}
- }
- }
- },
- "definitions": {
- "Entities": {
+ },
+ "additionalProperties": false,
+ "required": [
+ "Result",
+ "Error"
+ ]
+ },
+ "ControllersChangeResults": {
"type": "object",
"properties": {
- "Entities": {
+ "Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/Entity"
+ "$ref": "#/definitions/ControllersChangeResult"
}
}
},
"additionalProperties": false,
"required": [
- "Entities"
+ "Results"
]
},
- "Entity": {
+ "ControllersChanges": {
"type": "object",
"properties": {
- "Tag": {
+ "added": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "converted": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "demoted": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "maintained": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "promoted": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "removed": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "ControllersSpec": {
+ "type": "object",
+ "properties": {
+ "ModelTag": {
+ "type": "string"
+ },
+ "constraints": {
+ "$ref": "#/definitions/Value"
+ },
+ "num-controllers": {
+ "type": "integer"
+ },
+ "placement": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "series": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Tag"
+ "ModelTag",
+ "num-controllers"
+ ]
+ },
+ "ControllersSpecs": {
+ "type": "object",
+ "properties": {
+ "Specs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ControllersSpec"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Specs"
]
},
"Error": {
},
"additionalProperties": false
},
- "ErrorResult": {
- "type": "object",
- "properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- }
- },
- "additionalProperties": false,
- "required": [
- "Error"
- ]
- },
- "ErrorResults": {
- "type": "object",
- "properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ErrorResult"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Results"
- ]
- },
- "ListSSHKeys": {
+ "HAMember": {
"type": "object",
"properties": {
- "Entities": {
- "$ref": "#/definitions/Entities"
+ "PublicAddress": {
+ "$ref": "#/definitions/Address"
},
- "Mode": {
- "type": "boolean"
+ "Series": {
+ "type": "string"
+ },
+ "Tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Entities",
- "Mode"
+ "Tag",
+ "PublicAddress",
+ "Series"
]
},
"Macaroon": {
"sig"
]
},
- "ModifyUserSSHKeys": {
+ "Member": {
"type": "object",
"properties": {
- "Keys": {
- "type": "array",
- "items": {
- "type": "string"
+ "Address": {
+ "type": "string"
+ },
+ "Arbiter": {
+ "type": "boolean"
+ },
+ "BuildIndexes": {
+ "type": "boolean"
+ },
+ "Hidden": {
+ "type": "boolean"
+ },
+ "Id": {
+ "type": "integer"
+ },
+ "Priority": {
+ "type": "number"
+ },
+ "SlaveDelay": {
+ "type": "integer"
+ },
+ "Tags": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
}
},
- "User": {
- "type": "string"
+ "Votes": {
+ "type": "integer"
}
},
"additionalProperties": false,
"required": [
- "User",
- "Keys"
+ "Id",
+ "Address",
+ "Arbiter",
+ "BuildIndexes",
+ "Hidden",
+ "Priority",
+ "Tags",
+ "SlaveDelay",
+ "Votes"
]
},
- "StringsResult": {
+ "MongoUpgradeResults": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "Master": {
+ "$ref": "#/definitions/HAMember"
},
- "Result": {
+ "Members": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/HAMember"
+ }
+ },
+ "RsMembers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Member"
}
}
},
"additionalProperties": false,
"required": [
- "Error",
- "Result"
+ "RsMembers",
+ "Master",
+ "Members"
]
},
- "StringsResults": {
+ "ResumeReplicationParams": {
"type": "object",
"properties": {
- "Results": {
+ "Members": {
"type": "array",
"items": {
- "$ref": "#/definitions/StringsResult"
+ "$ref": "#/definitions/Member"
}
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "Members"
+ ]
+ },
+ "UpgradeMongoParams": {
+ "type": "object",
+ "properties": {
+ "Target": {
+ "$ref": "#/definitions/Version"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Target"
+ ]
+ },
+ "Value": {
+ "type": "object",
+ "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": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "virt-type": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "Version": {
+ "type": "object",
+ "properties": {
+ "Major": {
+ "type": "integer"
+ },
+ "Minor": {
+ "type": "integer"
+ },
+ "Patch": {
+ "type": "string"
+ },
+ "StorageEngine": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Major",
+ "Minor",
+ "Patch",
+ "StorageEngine"
]
},
"caveat": {
}
},
{
- "Name": "KeyUpdater",
+ "Name": "HostKeyReporter",
"Version": 1,
"Schema": {
"type": "object",
"properties": {
- "AuthorisedKeys": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/StringsResults"
- }
- }
- },
- "WatchAuthorisedKeys": {
+ "ReportKeys": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/Entities"
+ "$ref": "#/definitions/SSHHostKeySet"
},
"Result": {
- "$ref": "#/definitions/NotifyWatchResults"
+ "$ref": "#/definitions/ErrorResults"
}
}
}
},
"definitions": {
- "Entities": {
- "type": "object",
- "properties": {
- "Entities": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Entity"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Entities"
- ]
- },
- "Entity": {
- "type": "object",
- "properties": {
- "Tag": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Tag"
- ]
- },
"Error": {
"type": "object",
"properties": {
},
"additionalProperties": false
},
+ "ErrorResult": {
+ "type": "object",
+ "properties": {
+ "Error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Error"
+ ]
+ },
+ "ErrorResults": {
+ "type": "object",
+ "properties": {
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
+ },
"Macaroon": {
"type": "object",
"properties": {
"sig"
]
},
- "NotifyWatchResult": {
- "type": "object",
- "properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- },
- "NotifyWatcherId": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "NotifyWatcherId",
- "Error"
- ]
- },
- "NotifyWatchResults": {
+ "SSHHostKeySet": {
"type": "object",
"properties": {
- "Results": {
+ "entity-keys": {
"type": "array",
"items": {
- "$ref": "#/definitions/NotifyWatchResult"
+ "$ref": "#/definitions/SSHHostKeys"
}
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "entity-keys"
]
},
- "StringsResult": {
+ "SSHHostKeys": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- },
- "Result": {
+ "public-keys": {
"type": "array",
"items": {
"type": "string"
}
+ },
+ "tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Error",
- "Result"
- ]
- },
- "StringsResults": {
- "type": "object",
- "properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/StringsResult"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Results"
+ "tag",
+ "public-keys"
]
},
"caveat": {
}
},
{
- "Name": "LeadershipService",
+ "Name": "ImageManager",
"Version": 2,
"Schema": {
"type": "object",
"properties": {
- "BlockUntilLeadershipReleased": {
+ "DeleteImages": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/ServiceTag"
+ "$ref": "#/definitions/ImageFilterParams"
},
"Result": {
- "$ref": "#/definitions/ErrorResult"
+ "$ref": "#/definitions/ErrorResults"
}
}
},
- "ClaimLeadership": {
+ "ListImages": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/ClaimLeadershipBulkParams"
+ "$ref": "#/definitions/ImageFilterParams"
},
"Result": {
- "$ref": "#/definitions/ClaimLeadershipBulkResults"
+ "$ref": "#/definitions/ListImageResult"
}
}
}
},
"definitions": {
- "ClaimLeadershipBulkParams": {
+ "Error": {
"type": "object",
"properties": {
- "Params": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ClaimLeadershipParams"
- }
+ "Code": {
+ "type": "string"
+ },
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "Message": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Params"
+ "Message",
+ "Code"
]
},
- "ClaimLeadershipBulkResults": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ErrorResult"
- }
- }
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "MacaroonPath": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ErrorResult": {
+ "type": "object",
+ "properties": {
+ "Error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Error"
+ ]
+ },
+ "ErrorResults": {
+ "type": "object",
+ "properties": {
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResult"
+ }
+ }
},
"additionalProperties": false,
"required": [
"Results"
]
},
- "ClaimLeadershipParams": {
+ "ImageFilterParams": {
"type": "object",
"properties": {
- "DurationSeconds": {
- "type": "number"
- },
- "ServiceTag": {
- "type": "string"
- },
- "UnitTag": {
- "type": "string"
+ "images": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageSpec"
+ }
}
},
"additionalProperties": false,
"required": [
- "ServiceTag",
- "UnitTag",
- "DurationSeconds"
+ "images"
]
},
- "Error": {
+ "ImageMetadata": {
"type": "object",
"properties": {
- "Code": {
+ "arch": {
"type": "string"
},
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
+ "created": {
+ "type": "string",
+ "format": "date-time"
},
- "Message": {
+ "kind": {
+ "type": "string"
+ },
+ "series": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Message",
- "Code"
+ "kind",
+ "arch",
+ "series",
+ "url",
+ "created"
]
},
- "ErrorInfo": {
+ "ImageSpec": {
"type": "object",
"properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
+ "arch": {
+ "type": "string"
},
- "MacaroonPath": {
+ "kind": {
+ "type": "string"
+ },
+ "series": {
"type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "kind",
+ "arch",
+ "series"
+ ]
},
- "ErrorResult": {
+ "ListImageResult": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "result": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageMetadata"
+ }
}
},
"additionalProperties": false,
"required": [
- "Error"
+ "result"
]
},
"Macaroon": {
"sig"
]
},
- "ServiceTag": {
- "type": "object",
- "properties": {
- "Name": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Name"
- ]
- },
"caveat": {
"type": "object",
"properties": {
}
},
{
- "Name": "LifeFlag",
- "Version": 1,
+ "Name": "ImageMetadata",
+ "Version": 2,
"Schema": {
"type": "object",
"properties": {
- "Life": {
+ "Delete": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/Entities"
+ "$ref": "#/definitions/MetadataImageIds"
},
"Result": {
- "$ref": "#/definitions/LifeResults"
+ "$ref": "#/definitions/ErrorResults"
}
}
},
- "Watch": {
+ "List": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/Entities"
+ "$ref": "#/definitions/ImageMetadataFilter"
},
"Result": {
- "$ref": "#/definitions/NotifyWatchResults"
+ "$ref": "#/definitions/ListCloudImageMetadataResult"
+ }
+ }
+ },
+ "Save": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/MetadataSaveParams"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
}
}
+ },
+ "UpdateFromPublishedImages": {
+ "type": "object"
}
},
"definitions": {
- "Entities": {
+ "CloudImageMetadata": {
"type": "object",
"properties": {
- "Entities": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Entity"
- }
+ "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"
}
},
"additionalProperties": false,
"required": [
- "Entities"
+ "image_id",
+ "region",
+ "version",
+ "series",
+ "arch",
+ "source",
+ "priority"
]
},
- "Entity": {
+ "CloudImageMetadataList": {
"type": "object",
"properties": {
- "Tag": {
- "type": "string"
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudImageMetadata"
+ }
}
},
- "additionalProperties": false,
- "required": [
- "Tag"
- ]
+ "additionalProperties": false
},
"Error": {
"type": "object",
},
"additionalProperties": false
},
- "LifeResult": {
+ "ErrorResult": {
"type": "object",
"properties": {
"Error": {
"$ref": "#/definitions/Error"
- },
- "Life": {
- "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Life",
"Error"
]
},
- "LifeResults": {
+ "ErrorResults": {
"type": "object",
"properties": {
"Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/LifeResult"
+ "$ref": "#/definitions/ErrorResult"
}
}
},
"Results"
]
},
- "Macaroon": {
+ "ImageMetadataFilter": {
"type": "object",
"properties": {
- "caveats": {
+ "arches": {
"type": "array",
"items": {
- "$ref": "#/definitions/caveat"
+ "type": "string"
}
},
- "data": {
+ "region": {
+ "type": "string"
+ },
+ "root-storage-type": {
+ "type": "string"
+ },
+ "series": {
"type": "array",
"items": {
- "type": "integer"
+ "type": "string"
}
},
- "id": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
+ "stream": {
+ "type": "string"
},
- "sig": {
+ "virt_type": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ListCloudImageMetadataResult": {
+ "type": "object",
+ "properties": {
+ "result": {
"type": "array",
"items": {
- "type": "integer"
+ "$ref": "#/definitions/CloudImageMetadata"
}
}
},
"additionalProperties": false,
"required": [
- "data",
- "location",
- "id",
- "caveats",
- "sig"
+ "result"
]
},
- "NotifyWatchResult": {
+ "Macaroon": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "caveats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/caveat"
+ }
},
- "NotifyWatcherId": {
- "type": "string"
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "id": {
+ "$ref": "#/definitions/packet"
+ },
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "sig": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
}
},
"additionalProperties": false,
"required": [
- "NotifyWatcherId",
- "Error"
+ "data",
+ "location",
+ "id",
+ "caveats",
+ "sig"
]
},
- "NotifyWatchResults": {
+ "MetadataImageIds": {
"type": "object",
"properties": {
- "Results": {
+ "image_ids": {
"type": "array",
"items": {
- "$ref": "#/definitions/NotifyWatchResult"
+ "type": "string"
}
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "image_ids"
]
},
+ "MetadataSaveParams": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudImageMetadataList"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
"caveat": {
"type": "object",
"properties": {
}
},
{
- "Name": "Logger",
- "Version": 1,
+ "Name": "InstancePoller",
+ "Version": 3,
"Schema": {
"type": "object",
"properties": {
- "LoggingConfig": {
+ "AreManuallyProvisioned": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/BoolResults"
+ }
+ }
+ },
+ "InstanceId": {
"type": "object",
"properties": {
"Params": {
}
}
},
- "WatchLoggingConfig": {
+ "InstanceStatus": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/NotifyWatchResults"
+ "$ref": "#/definitions/StatusResults"
}
}
- }
- },
- "definitions": {
- "Entities": {
+ },
+ "Life": {
"type": "object",
"properties": {
- "Entities": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Entity"
- }
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/LifeResults"
}
- },
- "additionalProperties": false,
- "required": [
- "Entities"
- ]
+ }
},
- "Entity": {
+ "ModelConfig": {
"type": "object",
"properties": {
- "Tag": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/ModelConfigResult"
}
- },
- "additionalProperties": false,
- "required": [
- "Tag"
- ]
+ }
},
- "Error": {
+ "ProviderAddresses": {
"type": "object",
"properties": {
- "Code": {
- "type": "string"
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
+ "Result": {
+ "$ref": "#/definitions/MachineAddressesResults"
+ }
+ }
+ },
+ "SetInstanceStatus": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetStatus"
},
- "Message": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
}
- },
- "additionalProperties": false,
- "required": [
- "Message",
- "Code"
- ]
+ }
},
- "ErrorInfo": {
+ "SetProviderAddresses": {
"type": "object",
"properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
+ "Params": {
+ "$ref": "#/definitions/SetMachinesAddresses"
},
- "MacaroonPath": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
}
- },
- "additionalProperties": false
+ }
},
- "Macaroon": {
+ "Status": {
"type": "object",
"properties": {
- "caveats": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/caveat"
- }
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "data": {
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "Result": {
+ "$ref": "#/definitions/StatusResults"
+ }
+ }
+ },
+ "WatchForModelConfigChanges": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
+ }
+ },
+ "WatchModelMachines": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/StringsWatchResult"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Address": {
+ "type": "object",
+ "properties": {
+ "Scope": {
+ "type": "string"
},
- "id": {
- "$ref": "#/definitions/packet"
+ "SpaceName": {
+ "type": "string"
},
- "location": {
- "$ref": "#/definitions/packet"
+ "Type": {
+ "type": "string"
},
- "sig": {
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "Value": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "data",
- "location",
- "id",
- "caveats",
- "sig"
+ "Value",
+ "Type",
+ "Scope"
]
},
- "NotifyWatchResult": {
+ "BoolResult": {
"type": "object",
"properties": {
"Error": {
"$ref": "#/definitions/Error"
},
- "NotifyWatcherId": {
- "type": "string"
+ "Result": {
+ "type": "boolean"
}
},
"additionalProperties": false,
"required": [
- "NotifyWatcherId",
- "Error"
+ "Error",
+ "Result"
]
},
- "NotifyWatchResults": {
+ "BoolResults": {
"type": "object",
"properties": {
"Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/NotifyWatchResult"
+ "$ref": "#/definitions/BoolResult"
}
}
},
"Results"
]
},
- "StringResult": {
+ "Entities": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- },
- "Result": {
- "type": "string"
+ "Entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
}
},
"additionalProperties": false,
"required": [
- "Error",
- "Result"
+ "Entities"
]
},
- "StringResults": {
+ "Entity": {
"type": "object",
"properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/StringResult"
- }
+ "Tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "Tag"
]
},
- "caveat": {
+ "EntityStatusArgs": {
"type": "object",
"properties": {
- "caveatId": {
- "$ref": "#/definitions/packet"
+ "Data": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
},
- "location": {
- "$ref": "#/definitions/packet"
+ "Info": {
+ "type": "string"
},
- "verificationId": {
- "$ref": "#/definitions/packet"
+ "Status": {
+ "type": "string"
+ },
+ "Tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "location",
- "caveatId",
- "verificationId"
+ "Tag",
+ "Status",
+ "Info",
+ "Data"
]
},
- "packet": {
+ "Error": {
"type": "object",
"properties": {
- "headerLen": {
- "type": "integer"
+ "Code": {
+ "type": "string"
},
- "start": {
- "type": "integer"
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
},
- "totalLen": {
- "type": "integer"
+ "Message": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "start",
- "totalLen",
- "headerLen"
+ "Message",
+ "Code"
]
- }
- }
- }
- },
- {
- "Name": "MachineActions",
- "Version": 1,
- "Schema": {
- "type": "object",
- "properties": {
- "Actions": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/ActionResults"
- }
- }
- },
- "BeginActions": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
},
- "FinishActions": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/ActionExecutionResults"
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
+ "MacaroonPath": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false
},
- "RunningActions": {
+ "ErrorResult": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/ActionsByReceivers"
+ "Error": {
+ "$ref": "#/definitions/Error"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Error"
+ ]
},
- "WatchActionNotifications": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/StringsWatchResults"
- }
- }
- }
- },
- "definitions": {
- "Action": {
+ "ErrorResults": {
"type": "object",
"properties": {
- "name": {
- "type": "string"
- },
- "parameters": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResult"
}
- },
- "receiver": {
- "type": "string"
- },
- "tag": {
- "type": "string"
}
},
"additionalProperties": false,
"required": [
- "tag",
- "receiver",
- "name"
+ "Results"
]
},
- "ActionExecutionResult": {
+ "LifeResult": {
"type": "object",
"properties": {
- "actiontag": {
- "type": "string"
- },
- "message": {
- "type": "string"
- },
- "results": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "status": {
+ "Life": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "actiontag",
- "status"
+ "Life",
+ "Error"
]
},
- "ActionExecutionResults": {
+ "LifeResults": {
"type": "object",
"properties": {
- "results": {
+ "Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/ActionExecutionResult"
+ "$ref": "#/definitions/LifeResult"
}
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
},
- "ActionResult": {
+ "Macaroon": {
"type": "object",
"properties": {
- "action": {
- "$ref": "#/definitions/Action"
- },
- "completed": {
- "type": "string",
- "format": "date-time"
+ "caveats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/caveat"
+ }
},
- "enqueued": {
- "type": "string",
- "format": "date-time"
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
},
- "error": {
- "$ref": "#/definitions/Error"
+ "id": {
+ "$ref": "#/definitions/packet"
},
- "message": {
- "type": "string"
+ "location": {
+ "$ref": "#/definitions/packet"
},
- "output": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
+ "sig": {
+ "type": "array",
+ "items": {
+ "type": "integer"
}
- },
- "started": {
- "type": "string",
- "format": "date-time"
- },
- "status": {
- "type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "data",
+ "location",
+ "id",
+ "caveats",
+ "sig"
+ ]
},
- "ActionResults": {
+ "MachineAddresses": {
"type": "object",
"properties": {
- "results": {
+ "Addresses": {
"type": "array",
"items": {
- "$ref": "#/definitions/ActionResult"
+ "$ref": "#/definitions/Address"
}
+ },
+ "Tag": {
+ "type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "Tag",
+ "Addresses"
+ ]
},
- "ActionsByReceiver": {
+ "MachineAddressesResult": {
"type": "object",
"properties": {
- "actions": {
+ "Addresses": {
"type": "array",
"items": {
- "$ref": "#/definitions/ActionResult"
+ "$ref": "#/definitions/Address"
}
},
- "error": {
+ "Error": {
"$ref": "#/definitions/Error"
- },
- "receiver": {
- "type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "Error",
+ "Addresses"
+ ]
},
- "ActionsByReceivers": {
+ "MachineAddressesResults": {
"type": "object",
"properties": {
- "actions": {
+ "Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/ActionsByReceiver"
+ "$ref": "#/definitions/MachineAddressesResult"
}
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
},
- "Entities": {
+ "ModelConfigResult": {
"type": "object",
"properties": {
- "Entities": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Entity"
+ "Config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
}
}
},
"additionalProperties": false,
"required": [
- "Entities"
+ "Config"
]
},
- "Entity": {
+ "NotifyWatchResult": {
"type": "object",
"properties": {
- "Tag": {
+ "Error": {
+ "$ref": "#/definitions/Error"
+ },
+ "NotifyWatcherId": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Tag"
+ "NotifyWatcherId",
+ "Error"
]
},
- "Error": {
+ "SetMachinesAddresses": {
"type": "object",
"properties": {
- "Code": {
- "type": "string"
- },
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
- },
- "Message": {
- "type": "string"
+ "MachineAddresses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MachineAddresses"
+ }
}
},
"additionalProperties": false,
"required": [
- "Message",
- "Code"
+ "MachineAddresses"
]
},
- "ErrorInfo": {
+ "SetStatus": {
"type": "object",
"properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
- },
- "MacaroonPath": {
- "type": "string"
+ "Entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityStatusArgs"
+ }
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "Entities"
+ ]
},
- "ErrorResult": {
+ "StatusResult": {
"type": "object",
"properties": {
+ "Data": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ },
"Error": {
"$ref": "#/definitions/Error"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Info": {
+ "type": "string"
+ },
+ "Life": {
+ "type": "string"
+ },
+ "Since": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "Status": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Error"
+ "Error",
+ "Id",
+ "Life",
+ "Status",
+ "Info",
+ "Data",
+ "Since"
]
},
- "ErrorResults": {
+ "StatusResults": {
"type": "object",
"properties": {
"Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/ErrorResult"
+ "$ref": "#/definitions/StatusResult"
}
}
},
"Results"
]
},
- "Macaroon": {
+ "StringResult": {
"type": "object",
"properties": {
- "caveats": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/caveat"
- }
- },
- "data": {
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
- "id": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "sig": {
+ "Result": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Error",
+ "Result"
+ ]
+ },
+ "StringResults": {
+ "type": "object",
+ "properties": {
+ "Results": {
"type": "array",
"items": {
- "type": "integer"
+ "$ref": "#/definitions/StringResult"
}
}
},
"additionalProperties": false,
"required": [
- "data",
- "location",
- "id",
- "caveats",
- "sig"
+ "Results"
]
},
"StringsWatchResult": {
"Error"
]
},
- "StringsWatchResults": {
- "type": "object",
- "properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/StringsWatchResult"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Results"
- ]
- },
"caveat": {
"type": "object",
"properties": {
}
},
{
- "Name": "MachineManager",
- "Version": 2,
+ "Name": "KeyManager",
+ "Version": 1,
"Schema": {
"type": "object",
"properties": {
- "AddMachines": {
+ "AddKeys": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/AddMachines"
+ "$ref": "#/definitions/ModifyUserSSHKeys"
},
"Result": {
- "$ref": "#/definitions/AddMachinesResults"
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "DeleteKeys": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModifyUserSSHKeys"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "ImportKeys": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModifyUserSSHKeys"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "ListKeys": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ListSSHKeys"
+ },
+ "Result": {
+ "$ref": "#/definitions/StringsResults"
}
}
}
},
"definitions": {
- "AddMachineParams": {
+ "Entities": {
"type": "object",
"properties": {
- "Addrs": {
+ "Entities": {
"type": "array",
"items": {
- "$ref": "#/definitions/Address"
+ "$ref": "#/definitions/Entity"
}
- },
- "Constraints": {
- "$ref": "#/definitions/Value"
- },
- "ContainerType": {
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Entities"
+ ]
+ },
+ "Entity": {
+ "type": "object",
+ "properties": {
+ "Tag": {
"type": "string"
- },
- "Disks": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Constraints"
- }
- },
- "HardwareCharacteristics": {
- "$ref": "#/definitions/HardwareCharacteristics"
- },
- "InstanceId": {
- "type": "string"
- },
- "Jobs": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "Nonce": {
- "type": "string"
- },
- "ParentId": {
- "type": "string"
- },
- "Placement": {
- "$ref": "#/definitions/Placement"
- },
- "Series": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Series",
- "Constraints",
- "Jobs",
- "Disks",
- "Placement",
- "ParentId",
- "ContainerType",
- "InstanceId",
- "Nonce",
- "HardwareCharacteristics",
- "Addrs"
- ]
- },
- "AddMachines": {
- "type": "object",
- "properties": {
- "MachineParams": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AddMachineParams"
- }
}
},
"additionalProperties": false,
"required": [
- "MachineParams"
+ "Tag"
]
},
- "AddMachinesResult": {
+ "Error": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "Code": {
+ "type": "string"
},
- "Machine": {
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "Message": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Machine",
- "Error"
+ "Message",
+ "Code"
]
},
- "AddMachinesResults": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "Machines": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AddMachinesResult"
- }
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "MacaroonPath": {
+ "type": "string"
}
},
- "additionalProperties": false,
- "required": [
- "Machines"
- ]
+ "additionalProperties": false
},
- "Address": {
+ "ErrorResult": {
"type": "object",
"properties": {
- "Scope": {
- "type": "string"
- },
- "SpaceName": {
- "type": "string"
- },
- "Type": {
- "type": "string"
- },
- "Value": {
- "type": "string"
+ "Error": {
+ "$ref": "#/definitions/Error"
}
},
"additionalProperties": false,
"required": [
- "Value",
- "Type",
- "Scope"
+ "Error"
]
},
- "Constraints": {
+ "ErrorResults": {
"type": "object",
"properties": {
- "Count": {
- "type": "integer"
- },
- "Pool": {
- "type": "string"
- },
- "Size": {
- "type": "integer"
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResult"
+ }
}
},
"additionalProperties": false,
"required": [
- "Pool",
- "Size",
- "Count"
+ "Results"
]
},
- "Error": {
+ "ListSSHKeys": {
"type": "object",
"properties": {
- "Code": {
- "type": "string"
- },
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
+ "Entities": {
+ "$ref": "#/definitions/Entities"
},
- "Message": {
- "type": "string"
+ "Mode": {
+ "type": "boolean"
}
},
"additionalProperties": false,
"required": [
- "Message",
- "Code"
+ "Entities",
+ "Mode"
]
},
- "ErrorInfo": {
- "type": "object",
- "properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
- },
- "MacaroonPath": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "HardwareCharacteristics": {
- "type": "object",
- "properties": {
- "Arch": {
- "type": "string"
- },
- "AvailabilityZone": {
- "type": "string"
- },
- "CpuCores": {
- "type": "integer"
- },
- "CpuPower": {
- "type": "integer"
- },
- "Mem": {
- "type": "integer"
- },
- "RootDisk": {
- "type": "integer"
- },
- "Tags": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "additionalProperties": false
- },
"Macaroon": {
"type": "object",
"properties": {
"sig"
]
},
- "Placement": {
+ "ModifyUserSSHKeys": {
"type": "object",
"properties": {
- "Directive": {
- "type": "string"
+ "Keys": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
- "Scope": {
+ "User": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Scope",
- "Directive"
+ "User",
+ "Keys"
]
},
- "Value": {
+ "StringsResult": {
"type": "object",
"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"
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "spaces": {
+ "Result": {
"type": "array",
"items": {
"type": "string"
}
- },
- "tags": {
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Error",
+ "Result"
+ ]
+ },
+ "StringsResults": {
+ "type": "object",
+ "properties": {
+ "Results": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/StringsResult"
}
- },
- "virt-type": {
- "type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
},
"caveat": {
"type": "object",
}
},
{
- "Name": "Machiner",
+ "Name": "KeyUpdater",
"Version": 1,
"Schema": {
"type": "object",
"properties": {
- "APIAddresses": {
+ "AuthorisedKeys": {
"type": "object",
"properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
"Result": {
- "$ref": "#/definitions/StringsResult"
+ "$ref": "#/definitions/StringsResults"
}
}
},
- "APIHostPorts": {
+ "WatchAuthorisedKeys": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/APIHostPortsResult"
- }
- }
- },
- "CACert": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/BytesResult"
- }
- }
- },
- "EnsureDead": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
- },
- "Jobs": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/JobsResults"
- }
- }
- },
- "Life": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/LifeResults"
- }
- }
- },
- "ModelUUID": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/StringResult"
- }
- }
- },
- "SetMachineAddresses": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/SetMachinesAddresses"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
- },
- "SetObservedNetworkConfig": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/SetMachineNetworkConfig"
- }
- }
- },
- "SetProviderNetworkConfig": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
- },
- "SetStatus": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/SetStatus"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
- },
- "UpdateStatus": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/SetStatus"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
- },
- "Watch": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
"Result": {
"$ref": "#/definitions/NotifyWatchResults"
}
}
- },
- "WatchAPIHostPorts": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/NotifyWatchResult"
- }
- }
}
},
"definitions": {
- "APIHostPortsResult": {
- "type": "object",
- "properties": {
- "Servers": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/HostPort"
- }
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Servers"
- ]
- },
- "Address": {
- "type": "object",
- "properties": {
- "Scope": {
- "type": "string"
- },
- "SpaceName": {
- "type": "string"
- },
- "Type": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Value",
- "Type",
- "Scope"
- ]
- },
- "BytesResult": {
- "type": "object",
- "properties": {
- "Result": {
- "type": "array",
- "items": {
- "type": "integer"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Result"
- ]
- },
"Entities": {
"type": "object",
"properties": {
"Tag"
]
},
- "EntityStatusArgs": {
- "type": "object",
- "properties": {
- "Data": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
- },
- "Info": {
- "type": "string"
- },
- "Status": {
- "type": "string"
- },
- "Tag": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Tag",
- "Status",
- "Info",
- "Data"
- ]
- },
"Error": {
"type": "object",
"properties": {
},
"additionalProperties": false
},
- "ErrorResult": {
+ "Macaroon": {
+ "type": "object",
+ "properties": {
+ "caveats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/caveat"
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "id": {
+ "$ref": "#/definitions/packet"
+ },
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "sig": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "data",
+ "location",
+ "id",
+ "caveats",
+ "sig"
+ ]
+ },
+ "NotifyWatchResult": {
"type": "object",
"properties": {
"Error": {
"$ref": "#/definitions/Error"
+ },
+ "NotifyWatcherId": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
+ "NotifyWatcherId",
"Error"
]
},
- "ErrorResults": {
+ "NotifyWatchResults": {
"type": "object",
"properties": {
"Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/ErrorResult"
+ "$ref": "#/definitions/NotifyWatchResult"
}
}
},
"Results"
]
},
- "HostPort": {
+ "StringsResult": {
"type": "object",
"properties": {
- "Address": {
- "$ref": "#/definitions/Address"
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "Port": {
+ "Result": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Error",
+ "Result"
+ ]
+ },
+ "StringsResults": {
+ "type": "object",
+ "properties": {
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StringsResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
+ },
+ "caveat": {
+ "type": "object",
+ "properties": {
+ "caveatId": {
+ "$ref": "#/definitions/packet"
+ },
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "verificationId": {
+ "$ref": "#/definitions/packet"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "location",
+ "caveatId",
+ "verificationId"
+ ]
+ },
+ "packet": {
+ "type": "object",
+ "properties": {
+ "headerLen": {
+ "type": "integer"
+ },
+ "start": {
+ "type": "integer"
+ },
+ "totalLen": {
"type": "integer"
}
},
"additionalProperties": false,
"required": [
- "Address",
- "Port"
+ "start",
+ "totalLen",
+ "headerLen"
]
+ }
+ }
+ }
+ },
+ {
+ "Name": "LeadershipService",
+ "Version": 2,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "BlockUntilLeadershipReleased": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ApplicationTag"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResult"
+ }
+ }
},
- "JobsResult": {
+ "ClaimLeadership": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "Params": {
+ "$ref": "#/definitions/ClaimLeadershipBulkParams"
},
- "Jobs": {
+ "Result": {
+ "$ref": "#/definitions/ClaimLeadershipBulkResults"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ApplicationTag": {
+ "type": "object",
+ "properties": {
+ "Name": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Name"
+ ]
+ },
+ "ClaimLeadershipBulkParams": {
+ "type": "object",
+ "properties": {
+ "Params": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/ClaimLeadershipParams"
}
}
},
"additionalProperties": false,
"required": [
- "Jobs",
- "Error"
+ "Params"
]
},
- "JobsResults": {
+ "ClaimLeadershipBulkResults": {
"type": "object",
"properties": {
"Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/JobsResult"
+ "$ref": "#/definitions/ErrorResult"
}
}
},
"Results"
]
},
- "LifeResult": {
+ "ClaimLeadershipParams": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "ApplicationTag": {
+ "type": "string"
},
- "Life": {
+ "DurationSeconds": {
+ "type": "number"
+ },
+ "UnitTag": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Life",
- "Error"
+ "ApplicationTag",
+ "UnitTag",
+ "DurationSeconds"
]
},
- "LifeResults": {
+ "Error": {
"type": "object",
"properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/LifeResult"
- }
+ "Code": {
+ "type": "string"
+ },
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "Message": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "Message",
+ "Code"
+ ]
+ },
+ "ErrorInfo": {
+ "type": "object",
+ "properties": {
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "MacaroonPath": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ErrorResult": {
+ "type": "object",
+ "properties": {
+ "Error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Error"
]
},
"Macaroon": {
"sig"
]
},
- "MachineAddresses": {
+ "caveat": {
"type": "object",
"properties": {
- "Addresses": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Address"
- }
+ "caveatId": {
+ "$ref": "#/definitions/packet"
},
- "Tag": {
- "type": "string"
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "verificationId": {
+ "$ref": "#/definitions/packet"
}
},
"additionalProperties": false,
"required": [
- "Tag",
- "Addresses"
+ "location",
+ "caveatId",
+ "verificationId"
]
},
- "NetworkConfig": {
+ "packet": {
"type": "object",
"properties": {
- "Address": {
- "type": "string"
- },
- "CIDR": {
- "type": "string"
- },
- "ConfigType": {
- "type": "string"
- },
- "DNSSearchDomains": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "DNSServers": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "DeviceIndex": {
+ "headerLen": {
"type": "integer"
},
- "Disabled": {
- "type": "boolean"
- },
- "GatewayAddress": {
- "type": "string"
- },
- "InterfaceName": {
- "type": "string"
- },
- "InterfaceType": {
- "type": "string"
- },
- "MACAddress": {
- "type": "string"
- },
- "MTU": {
+ "start": {
"type": "integer"
},
- "NoAutoStart": {
- "type": "boolean"
- },
- "ParentInterfaceName": {
- "type": "string"
- },
- "ProviderAddressId": {
- "type": "string"
- },
- "ProviderId": {
- "type": "string"
- },
- "ProviderSpaceId": {
- "type": "string"
- },
- "ProviderSubnetId": {
- "type": "string"
- },
- "ProviderVLANId": {
- "type": "string"
- },
- "VLANTag": {
+ "totalLen": {
"type": "integer"
}
},
"additionalProperties": false,
"required": [
- "DeviceIndex",
- "MACAddress",
- "CIDR",
- "MTU",
- "ProviderId",
- "ProviderSubnetId",
- "ProviderSpaceId",
- "ProviderAddressId",
- "ProviderVLANId",
- "VLANTag",
- "InterfaceName",
- "ParentInterfaceName",
- "InterfaceType",
- "Disabled"
+ "start",
+ "totalLen",
+ "headerLen"
]
+ }
+ }
+ }
+ },
+ {
+ "Name": "LifeFlag",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "Life": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/LifeResults"
+ }
+ }
},
- "NotifyWatchResult": {
+ "Watch": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "NotifyWatcherId": {
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResults"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Entities": {
+ "type": "object",
+ "properties": {
+ "Entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Entities"
+ ]
+ },
+ "Entity": {
+ "type": "object",
+ "properties": {
+ "Tag": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "NotifyWatcherId",
- "Error"
+ "Tag"
]
},
- "NotifyWatchResults": {
+ "Error": {
"type": "object",
"properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/NotifyWatchResult"
- }
+ "Code": {
+ "type": "string"
+ },
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "Message": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "Message",
+ "Code"
]
},
- "SetMachineNetworkConfig": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "Config": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/NetworkConfig"
- }
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
},
- "Tag": {
+ "MacaroonPath": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "LifeResult": {
+ "type": "object",
+ "properties": {
+ "Error": {
+ "$ref": "#/definitions/Error"
+ },
+ "Life": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Tag",
- "Config"
+ "Life",
+ "Error"
]
},
- "SetMachinesAddresses": {
+ "LifeResults": {
"type": "object",
"properties": {
- "MachineAddresses": {
+ "Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/MachineAddresses"
+ "$ref": "#/definitions/LifeResult"
}
}
},
"additionalProperties": false,
"required": [
- "MachineAddresses"
+ "Results"
]
},
- "SetStatus": {
+ "Macaroon": {
"type": "object",
"properties": {
- "Entities": {
+ "caveats": {
"type": "array",
"items": {
- "$ref": "#/definitions/EntityStatusArgs"
+ "$ref": "#/definitions/caveat"
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "id": {
+ "$ref": "#/definitions/packet"
+ },
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "sig": {
+ "type": "array",
+ "items": {
+ "type": "integer"
}
}
},
"additionalProperties": false,
"required": [
- "Entities"
+ "data",
+ "location",
+ "id",
+ "caveats",
+ "sig"
]
},
- "StringResult": {
+ "NotifyWatchResult": {
"type": "object",
"properties": {
"Error": {
"$ref": "#/definitions/Error"
},
- "Result": {
+ "NotifyWatcherId": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Error",
- "Result"
+ "NotifyWatcherId",
+ "Error"
]
},
- "StringsResult": {
+ "NotifyWatchResults": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- },
- "Result": {
+ "Results": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/NotifyWatchResult"
}
}
},
"additionalProperties": false,
"required": [
- "Error",
- "Result"
+ "Results"
]
},
"caveat": {
}
},
{
- "Name": "MeterStatus",
+ "Name": "Logger",
"Version": 1,
"Schema": {
"type": "object",
"properties": {
- "GetMeterStatus": {
+ "LoggingConfig": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/MeterStatusResults"
+ "$ref": "#/definitions/StringResults"
}
}
},
- "WatchMeterStatus": {
+ "WatchLoggingConfig": {
"type": "object",
"properties": {
"Params": {
"sig"
]
},
- "MeterStatusResult": {
+ "NotifyWatchResult": {
"type": "object",
"properties": {
- "Code": {
- "type": "string"
- },
"Error": {
"$ref": "#/definitions/Error"
},
- "Info": {
+ "NotifyWatcherId": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Code",
- "Info",
+ "NotifyWatcherId",
"Error"
]
},
- "MeterStatusResults": {
+ "NotifyWatchResults": {
"type": "object",
"properties": {
"Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/MeterStatusResult"
+ "$ref": "#/definitions/NotifyWatchResult"
}
}
},
"Results"
]
},
- "NotifyWatchResult": {
+ "StringResult": {
"type": "object",
"properties": {
"Error": {
"$ref": "#/definitions/Error"
},
- "NotifyWatcherId": {
+ "Result": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "NotifyWatcherId",
- "Error"
+ "Error",
+ "Result"
]
},
- "NotifyWatchResults": {
+ "StringResults": {
"type": "object",
"properties": {
"Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/NotifyWatchResult"
+ "$ref": "#/definitions/StringResult"
}
}
},
}
},
{
- "Name": "MetricsAdder",
- "Version": 2,
+ "Name": "MachineActions",
+ "Version": 1,
"Schema": {
"type": "object",
"properties": {
- "AddMetricBatches": {
+ "Actions": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/MetricBatchParams"
+ "$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/ActionResults"
}
}
- }
- },
- "definitions": {
- "Error": {
+ },
+ "BeginActions": {
"type": "object",
"properties": {
- "Code": {
- "type": "string"
- },
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "Message": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
}
- },
- "additionalProperties": false,
- "required": [
- "Message",
- "Code"
- ]
+ }
},
- "ErrorInfo": {
+ "FinishActions": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ActionExecutionResults"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "RunningActions": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ActionsByReceivers"
+ }
+ }
+ },
+ "WatchActionNotifications": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/StringsWatchResults"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Action": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "parameters": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ },
+ "receiver": {
+ "type": "string"
+ },
+ "tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "tag",
+ "receiver",
+ "name"
+ ]
+ },
+ "ActionExecutionResult": {
+ "type": "object",
+ "properties": {
+ "actiontag": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "results": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ },
+ "status": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "actiontag",
+ "status"
+ ]
+ },
+ "ActionExecutionResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ActionExecutionResult"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "ActionResult": {
+ "type": "object",
+ "properties": {
+ "action": {
+ "$ref": "#/definitions/Action"
+ },
+ "completed": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "enqueued": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "message": {
+ "type": "string"
+ },
+ "output": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ },
+ "started": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "status": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ActionResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ActionResult"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "ActionsByReceiver": {
+ "type": "object",
+ "properties": {
+ "actions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ActionResult"
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "receiver": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ActionsByReceivers": {
+ "type": "object",
+ "properties": {
+ "actions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ActionsByReceiver"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "Entities": {
+ "type": "object",
+ "properties": {
+ "Entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Entities"
+ ]
+ },
+ "Entity": {
+ "type": "object",
+ "properties": {
+ "Tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Tag"
+ ]
+ },
+ "Error": {
+ "type": "object",
+ "properties": {
+ "Code": {
+ "type": "string"
+ },
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "Message": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Message",
+ "Code"
+ ]
+ },
+ "ErrorInfo": {
"type": "object",
"properties": {
"Macaroon": {
"sig"
]
},
- "Metric": {
+ "StringsWatchResult": {
"type": "object",
"properties": {
- "Key": {
- "type": "string"
+ "Changes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
- "Time": {
- "type": "string",
- "format": "date-time"
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "Value": {
+ "StringsWatcherId": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Key",
- "Value",
- "Time"
+ "StringsWatcherId",
+ "Changes",
+ "Error"
]
},
- "MetricBatch": {
+ "StringsWatchResults": {
"type": "object",
"properties": {
- "CharmURL": {
- "type": "string"
- },
- "Created": {
- "type": "string",
- "format": "date-time"
- },
- "Metrics": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Metric"
- }
- },
- "UUID": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "UUID",
- "CharmURL",
- "Created",
- "Metrics"
- ]
- },
- "MetricBatchParam": {
- "type": "object",
- "properties": {
- "Batch": {
- "$ref": "#/definitions/MetricBatch"
- },
- "Tag": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Tag",
- "Batch"
- ]
- },
- "MetricBatchParams": {
- "type": "object",
- "properties": {
- "Batches": {
+ "Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/MetricBatchParam"
+ "$ref": "#/definitions/StringsWatchResult"
}
}
},
"additionalProperties": false,
"required": [
- "Batches"
+ "Results"
]
},
"caveat": {
}
},
{
- "Name": "MetricsDebug",
- "Version": 1,
+ "Name": "MachineManager",
+ "Version": 2,
"Schema": {
"type": "object",
"properties": {
- "GetMetrics": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/MetricResults"
- }
- }
- },
- "SetMeterStatus": {
+ "AddMachines": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/MeterStatusParams"
+ "$ref": "#/definitions/AddMachines"
},
"Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/AddMachinesResults"
}
}
}
},
"definitions": {
- "Entities": {
+ "AddMachineParams": {
"type": "object",
"properties": {
- "Entities": {
+ "Addrs": {
"type": "array",
"items": {
- "$ref": "#/definitions/Entity"
+ "$ref": "#/definitions/Address"
+ }
+ },
+ "Constraints": {
+ "$ref": "#/definitions/Value"
+ },
+ "ContainerType": {
+ "type": "string"
+ },
+ "Disks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Constraints"
+ }
+ },
+ "HardwareCharacteristics": {
+ "$ref": "#/definitions/HardwareCharacteristics"
+ },
+ "InstanceId": {
+ "type": "string"
+ },
+ "Jobs": {
+ "type": "array",
+ "items": {
+ "type": "string"
}
+ },
+ "Nonce": {
+ "type": "string"
+ },
+ "ParentId": {
+ "type": "string"
+ },
+ "Placement": {
+ "$ref": "#/definitions/Placement"
+ },
+ "Series": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Entities"
+ "Series",
+ "Constraints",
+ "Jobs",
+ "Disks",
+ "Placement",
+ "ParentId",
+ "ContainerType",
+ "InstanceId",
+ "Nonce",
+ "HardwareCharacteristics",
+ "Addrs"
]
},
- "Entity": {
+ "AddMachines": {
"type": "object",
"properties": {
- "Tag": {
- "type": "string"
+ "MachineParams": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AddMachineParams"
+ }
}
},
"additionalProperties": false,
"required": [
- "Tag"
+ "MachineParams"
]
},
- "EntityMetrics": {
+ "AddMachinesResult": {
"type": "object",
"properties": {
- "error": {
+ "Error": {
"$ref": "#/definitions/Error"
},
- "metrics": {
+ "Machine": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Machine",
+ "Error"
+ ]
+ },
+ "AddMachinesResults": {
+ "type": "object",
+ "properties": {
+ "Machines": {
"type": "array",
"items": {
- "$ref": "#/definitions/MetricResult"
+ "$ref": "#/definitions/AddMachinesResult"
}
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "Machines"
+ ]
+ },
+ "Address": {
+ "type": "object",
+ "properties": {
+ "Scope": {
+ "type": "string"
+ },
+ "SpaceName": {
+ "type": "string"
+ },
+ "Type": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Value",
+ "Type",
+ "Scope"
+ ]
+ },
+ "Constraints": {
+ "type": "object",
+ "properties": {
+ "Count": {
+ "type": "integer"
+ },
+ "Pool": {
+ "type": "string"
+ },
+ "Size": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Pool",
+ "Size",
+ "Count"
+ ]
},
"Error": {
"type": "object",
},
"additionalProperties": false
},
- "ErrorResult": {
- "type": "object",
- "properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- }
- },
- "additionalProperties": false,
- "required": [
- "Error"
- ]
- },
- "ErrorResults": {
+ "HardwareCharacteristics": {
"type": "object",
"properties": {
- "Results": {
+ "Arch": {
+ "type": "string"
+ },
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "CpuCores": {
+ "type": "integer"
+ },
+ "CpuPower": {
+ "type": "integer"
+ },
+ "Mem": {
+ "type": "integer"
+ },
+ "RootDisk": {
+ "type": "integer"
+ },
+ "Tags": {
"type": "array",
"items": {
- "$ref": "#/definitions/ErrorResult"
+ "type": "string"
}
}
},
- "additionalProperties": false,
- "required": [
- "Results"
- ]
+ "additionalProperties": false
},
"Macaroon": {
"type": "object",
"sig"
]
},
- "MeterStatusParam": {
+ "Placement": {
"type": "object",
"properties": {
- "code": {
- "type": "string"
- },
- "info": {
+ "Directive": {
"type": "string"
},
- "tag": {
+ "Scope": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "tag",
- "code",
- "info"
- ]
- },
- "MeterStatusParams": {
- "type": "object",
- "properties": {
- "statues": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/MeterStatusParam"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "statues"
+ "Scope",
+ "Directive"
]
},
- "MetricResult": {
+ "Value": {
"type": "object",
"properties": {
- "key": {
+ "arch": {
"type": "string"
},
- "time": {
- "type": "string",
- "format": "date-time"
+ "container": {
+ "type": "string"
},
- "value": {
+ "cpu-cores": {
+ "type": "integer"
+ },
+ "cpu-power": {
+ "type": "integer"
+ },
+ "instance-type": {
"type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "time",
- "key",
- "value"
- ]
- },
- "MetricResults": {
- "type": "object",
- "properties": {
- "results": {
+ },
+ "mem": {
+ "type": "integer"
+ },
+ "root-disk": {
+ "type": "integer"
+ },
+ "spaces": {
"type": "array",
"items": {
- "$ref": "#/definitions/EntityMetrics"
+ "type": "string"
+ }
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
}
+ },
+ "virt-type": {
+ "type": "string"
}
},
- "additionalProperties": false,
- "required": [
- "results"
- ]
+ "additionalProperties": false
},
"caveat": {
"type": "object",
}
},
{
- "Name": "MetricsManager",
+ "Name": "Machiner",
"Version": 1,
"Schema": {
"type": "object",
"properties": {
- "CleanupOldMetrics": {
+ "APIAddresses": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/StringsResult"
+ }
+ }
+ },
+ "APIHostPorts": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/APIHostPortsResult"
+ }
+ }
+ },
+ "CACert": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/BytesResult"
+ }
+ }
+ },
+ "EnsureDead": {
"type": "object",
"properties": {
"Params": {
}
}
},
- "SendMetrics": {
+ "Jobs": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/JobsResults"
}
}
- }
- },
- "definitions": {
- "Entities": {
+ },
+ "Life": {
"type": "object",
"properties": {
- "Entities": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Entity"
- }
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/LifeResults"
}
- },
- "additionalProperties": false,
- "required": [
- "Entities"
- ]
+ }
},
- "Entity": {
+ "ModelUUID": {
"type": "object",
"properties": {
- "Tag": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/StringResult"
}
- },
- "additionalProperties": false,
- "required": [
- "Tag"
- ]
+ }
},
- "Error": {
+ "SetMachineAddresses": {
"type": "object",
"properties": {
- "Code": {
- "type": "string"
+ "Params": {
+ "$ref": "#/definitions/SetMachinesAddresses"
},
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "SetObservedNetworkConfig": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetMachineNetworkConfig"
+ }
+ }
+ },
+ "SetProviderNetworkConfig": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "Message": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
}
- },
- "additionalProperties": false,
- "required": [
- "Message",
- "Code"
- ]
+ }
},
- "ErrorInfo": {
+ "SetStatus": {
"type": "object",
"properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
+ "Params": {
+ "$ref": "#/definitions/SetStatus"
},
- "MacaroonPath": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
}
- },
- "additionalProperties": false
+ }
},
- "ErrorResult": {
+ "UpdateStatus": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "Params": {
+ "$ref": "#/definitions/SetStatus"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
}
- },
- "additionalProperties": false,
- "required": [
- "Error"
- ]
+ }
},
- "ErrorResults": {
+ "Watch": {
"type": "object",
"properties": {
- "Results": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResults"
+ }
+ }
+ },
+ "WatchAPIHostPorts": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "APIHostPortsResult": {
+ "type": "object",
+ "properties": {
+ "Servers": {
"type": "array",
"items": {
- "$ref": "#/definitions/ErrorResult"
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HostPort"
+ }
}
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "Servers"
]
},
- "Macaroon": {
+ "Address": {
"type": "object",
"properties": {
- "caveats": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/caveat"
- }
+ "Scope": {
+ "type": "string"
},
- "data": {
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "SpaceName": {
+ "type": "string"
},
- "id": {
- "$ref": "#/definitions/packet"
+ "Type": {
+ "type": "string"
},
- "location": {
- "$ref": "#/definitions/packet"
- },
- "sig": {
- "type": "array",
- "items": {
- "type": "integer"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "data",
- "location",
- "id",
- "caveats",
- "sig"
- ]
- },
- "caveat": {
- "type": "object",
- "properties": {
- "caveatId": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
- },
- "verificationId": {
- "$ref": "#/definitions/packet"
+ "Value": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "location",
- "caveatId",
- "verificationId"
+ "Value",
+ "Type",
+ "Scope"
]
},
- "packet": {
+ "BytesResult": {
"type": "object",
"properties": {
- "headerLen": {
- "type": "integer"
- },
- "start": {
- "type": "integer"
- },
- "totalLen": {
- "type": "integer"
+ "Result": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
}
},
"additionalProperties": false,
"required": [
- "start",
- "totalLen",
- "headerLen"
+ "Result"
]
- }
- }
- }
- },
- {
- "Name": "MigrationFlag",
- "Version": 1,
- "Schema": {
- "type": "object",
- "properties": {
- "Phase": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/PhaseResults"
- }
- }
},
- "Watch": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/NotifyWatchResults"
- }
- }
- }
- },
- "definitions": {
"Entities": {
"type": "object",
"properties": {
"Tag"
]
},
+ "EntityStatusArgs": {
+ "type": "object",
+ "properties": {
+ "Data": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ },
+ "Info": {
+ "type": "string"
+ },
+ "Status": {
+ "type": "string"
+ },
+ "Tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Tag",
+ "Status",
+ "Info",
+ "Data"
+ ]
+ },
"Error": {
"type": "object",
"properties": {
},
"additionalProperties": false
},
- "Macaroon": {
+ "ErrorResult": {
"type": "object",
"properties": {
- "caveats": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/caveat"
- }
- },
- "data": {
+ "Error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Error"
+ ]
+ },
+ "ErrorResults": {
+ "type": "object",
+ "properties": {
+ "Results": {
"type": "array",
"items": {
- "type": "integer"
+ "$ref": "#/definitions/ErrorResult"
}
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
+ },
+ "HostPort": {
+ "type": "object",
+ "properties": {
+ "Address": {
+ "$ref": "#/definitions/Address"
},
- "id": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
- },
- "sig": {
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "Port": {
+ "type": "integer"
}
},
"additionalProperties": false,
"required": [
- "data",
- "location",
- "id",
- "caveats",
- "sig"
+ "Address",
+ "Port"
]
},
- "NotifyWatchResult": {
+ "JobsResult": {
"type": "object",
"properties": {
"Error": {
"$ref": "#/definitions/Error"
},
- "NotifyWatcherId": {
- "type": "string"
+ "Jobs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
"additionalProperties": false,
"required": [
- "NotifyWatcherId",
+ "Jobs",
"Error"
]
},
- "NotifyWatchResults": {
+ "JobsResults": {
"type": "object",
"properties": {
"Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/NotifyWatchResult"
+ "$ref": "#/definitions/JobsResult"
}
}
},
"Results"
]
},
- "PhaseResult": {
+ "LifeResult": {
"type": "object",
"properties": {
"Error": {
"$ref": "#/definitions/Error"
},
- "phase": {
+ "Life": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "phase",
+ "Life",
"Error"
]
},
- "PhaseResults": {
+ "LifeResults": {
"type": "object",
"properties": {
"Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/PhaseResult"
+ "$ref": "#/definitions/LifeResult"
}
}
},
"Results"
]
},
- "caveat": {
+ "Macaroon": {
"type": "object",
"properties": {
- "caveatId": {
+ "caveats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/caveat"
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "id": {
"$ref": "#/definitions/packet"
},
"location": {
"$ref": "#/definitions/packet"
},
- "verificationId": {
- "$ref": "#/definitions/packet"
+ "sig": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
}
},
"additionalProperties": false,
"required": [
+ "data",
"location",
- "caveatId",
- "verificationId"
+ "id",
+ "caveats",
+ "sig"
]
},
- "packet": {
+ "MachineAddresses": {
"type": "object",
"properties": {
- "headerLen": {
- "type": "integer"
- },
- "start": {
- "type": "integer"
+ "Addresses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Address"
+ }
},
- "totalLen": {
- "type": "integer"
+ "Tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "start",
- "totalLen",
- "headerLen"
+ "Tag",
+ "Addresses"
]
- }
- }
- }
- },
- {
- "Name": "MigrationMaster",
- "Version": 1,
- "Schema": {
- "type": "object",
- "properties": {
- "Export": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/SerializedModel"
- }
- }
- },
- "GetMigrationStatus": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/FullMigrationStatus"
- }
- }
- },
- "SetPhase": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/SetMigrationPhaseArgs"
- }
- }
},
- "Watch": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/NotifyWatchResult"
- }
- }
- }
- },
- "definitions": {
- "Error": {
+ "NetworkConfig": {
"type": "object",
"properties": {
- "Code": {
+ "Address": {
"type": "string"
},
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
+ "CIDR": {
+ "type": "string"
},
- "Message": {
+ "ConfigType": {
+ "type": "string"
+ },
+ "DNSSearchDomains": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "DNSServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "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"
}
},
"additionalProperties": false,
"required": [
- "Message",
- "Code"
+ "DeviceIndex",
+ "MACAddress",
+ "CIDR",
+ "MTU",
+ "ProviderId",
+ "ProviderSubnetId",
+ "ProviderSpaceId",
+ "ProviderAddressId",
+ "ProviderVLANId",
+ "VLANTag",
+ "InterfaceName",
+ "ParentInterfaceName",
+ "InterfaceType",
+ "Disabled"
]
},
- "ErrorInfo": {
+ "NotifyWatchResult": {
"type": "object",
"properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "MacaroonPath": {
+ "NotifyWatcherId": {
"type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "NotifyWatcherId",
+ "Error"
+ ]
},
- "FullMigrationStatus": {
+ "NotifyWatchResults": {
"type": "object",
"properties": {
- "attempt": {
- "type": "integer"
- },
- "phase": {
- "type": "string"
- },
- "spec": {
- "$ref": "#/definitions/ModelMigrationSpec"
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
}
},
"additionalProperties": false,
"required": [
- "spec",
- "attempt",
- "phase"
+ "Results"
]
},
- "Macaroon": {
+ "SetMachineNetworkConfig": {
"type": "object",
"properties": {
- "caveats": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/caveat"
- }
- },
- "data": {
+ "Config": {
"type": "array",
"items": {
- "type": "integer"
+ "$ref": "#/definitions/NetworkConfig"
}
},
- "id": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
- },
- "sig": {
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "Tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "data",
- "location",
- "id",
- "caveats",
- "sig"
+ "Tag",
+ "Config"
]
},
- "ModelMigrationSpec": {
+ "SetMachinesAddresses": {
"type": "object",
"properties": {
- "model-tag": {
- "type": "string"
- },
- "target-info": {
- "$ref": "#/definitions/ModelMigrationTargetInfo"
+ "MachineAddresses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MachineAddresses"
+ }
}
},
"additionalProperties": false,
"required": [
- "model-tag",
- "target-info"
+ "MachineAddresses"
]
},
- "ModelMigrationTargetInfo": {
+ "SetStatus": {
"type": "object",
"properties": {
- "addrs": {
+ "Entities": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/EntityStatusArgs"
}
- },
- "auth-tag": {
- "type": "string"
- },
- "ca-cert": {
- "type": "string"
- },
- "controller-tag": {
- "type": "string"
- },
- "password": {
- "type": "string"
}
},
"additionalProperties": false,
"required": [
- "controller-tag",
- "addrs",
- "ca-cert",
- "auth-tag",
- "password"
+ "Entities"
]
},
- "NotifyWatchResult": {
+ "StringResult": {
"type": "object",
"properties": {
"Error": {
"$ref": "#/definitions/Error"
},
- "NotifyWatcherId": {
+ "Result": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "NotifyWatcherId",
- "Error"
+ "Error",
+ "Result"
]
},
- "SerializedModel": {
+ "StringsResult": {
"type": "object",
"properties": {
- "bytes": {
+ "Error": {
+ "$ref": "#/definitions/Error"
+ },
+ "Result": {
"type": "array",
"items": {
- "type": "integer"
+ "type": "string"
}
}
},
"additionalProperties": false,
"required": [
- "bytes"
- ]
- },
- "SetMigrationPhaseArgs": {
- "type": "object",
- "properties": {
- "phase": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "phase"
+ "Error",
+ "Result"
]
},
"caveat": {
}
},
{
- "Name": "MigrationMinion",
+ "Name": "MeterStatus",
"Version": 1,
"Schema": {
"type": "object",
"properties": {
- "Watch": {
+ "GetMeterStatus": {
"type": "object",
"properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
"Result": {
- "$ref": "#/definitions/NotifyWatchResult"
+ "$ref": "#/definitions/MeterStatusResults"
+ }
+ }
+ },
+ "WatchMeterStatus": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResults"
}
}
}
},
"definitions": {
+ "Entities": {
+ "type": "object",
+ "properties": {
+ "Entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Entities"
+ ]
+ },
+ "Entity": {
+ "type": "object",
+ "properties": {
+ "Tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Tag"
+ ]
+ },
"Error": {
"type": "object",
"properties": {
"sig"
]
},
+ "MeterStatusResult": {
+ "type": "object",
+ "properties": {
+ "Code": {
+ "type": "string"
+ },
+ "Error": {
+ "$ref": "#/definitions/Error"
+ },
+ "Info": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Code",
+ "Info",
+ "Error"
+ ]
+ },
+ "MeterStatusResults": {
+ "type": "object",
+ "properties": {
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MeterStatusResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
+ },
"NotifyWatchResult": {
"type": "object",
"properties": {
"Error"
]
},
+ "NotifyWatchResults": {
+ "type": "object",
+ "properties": {
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
+ },
"caveat": {
"type": "object",
"properties": {
}
},
{
- "Name": "MigrationStatusWatcher",
- "Version": 1,
+ "Name": "MetricsAdder",
+ "Version": 2,
"Schema": {
"type": "object",
"properties": {
- "Next": {
+ "AddMetricBatches": {
"type": "object",
"properties": {
+ "Params": {
+ "$ref": "#/definitions/MetricBatchParams"
+ },
"Result": {
- "$ref": "#/definitions/MigrationStatus"
+ "$ref": "#/definitions/ErrorResults"
}
}
- },
- "Stop": {
- "type": "object"
}
},
"definitions": {
- "MigrationStatus": {
+ "Error": {
"type": "object",
"properties": {
- "attempt": {
- "type": "integer"
- },
- "phase": {
- "type": "string"
- },
- "source-api-addrs": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "source-ca-cert": {
+ "Code": {
"type": "string"
},
- "target-api-addrs": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
},
- "target-ca-cert": {
+ "Message": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "attempt",
- "phase",
- "source-api-addrs",
- "source-ca-cert",
- "target-api-addrs",
- "target-ca-cert"
+ "Message",
+ "Code"
]
- }
- }
- }
- },
- {
- "Name": "MigrationTarget",
- "Version": 1,
- "Schema": {
- "type": "object",
- "properties": {
- "Abort": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/ModelArgs"
- }
- }
},
- "Activate": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/ModelArgs"
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "MacaroonPath": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false
},
- "Import": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/SerializedModel"
- }
- }
- }
- },
- "definitions": {
- "ModelArgs": {
+ "ErrorResult": {
"type": "object",
"properties": {
- "model-tag": {
- "type": "string"
+ "Error": {
+ "$ref": "#/definitions/Error"
}
},
"additionalProperties": false,
"required": [
- "model-tag"
+ "Error"
]
},
- "SerializedModel": {
+ "ErrorResults": {
"type": "object",
"properties": {
- "bytes": {
+ "Results": {
"type": "array",
"items": {
- "type": "integer"
+ "$ref": "#/definitions/ErrorResult"
}
}
},
"additionalProperties": false,
"required": [
- "bytes"
+ "Results"
]
- }
- }
- }
- },
- {
- "Name": "ModelManager",
- "Version": 2,
- "Schema": {
- "type": "object",
- "properties": {
- "ConfigSkeleton": {
+ },
+ "Macaroon": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/ModelSkeletonConfigArgs"
+ "caveats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/caveat"
+ }
},
- "Result": {
- "$ref": "#/definitions/ModelConfigResult"
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "id": {
+ "$ref": "#/definitions/packet"
+ },
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "sig": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "data",
+ "location",
+ "id",
+ "caveats",
+ "sig"
+ ]
},
- "CreateModel": {
+ "Metric": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/ModelCreateArgs"
+ "Key": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/Model"
+ "Time": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "Value": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Key",
+ "Value",
+ "Time"
+ ]
},
- "ListModels": {
+ "MetricBatch": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entity"
+ "CharmURL": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/UserModelList"
+ "Created": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "Metrics": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Metric"
+ }
+ },
+ "UUID": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "UUID",
+ "CharmURL",
+ "Created",
+ "Metrics"
+ ]
},
- "ModelInfo": {
+ "MetricBatchParam": {
+ "type": "object",
+ "properties": {
+ "Batch": {
+ "$ref": "#/definitions/MetricBatch"
+ },
+ "Tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Tag",
+ "Batch"
+ ]
+ },
+ "MetricBatchParams": {
+ "type": "object",
+ "properties": {
+ "Batches": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricBatchParam"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Batches"
+ ]
+ },
+ "caveat": {
+ "type": "object",
+ "properties": {
+ "caveatId": {
+ "$ref": "#/definitions/packet"
+ },
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "verificationId": {
+ "$ref": "#/definitions/packet"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "location",
+ "caveatId",
+ "verificationId"
+ ]
+ },
+ "packet": {
+ "type": "object",
+ "properties": {
+ "headerLen": {
+ "type": "integer"
+ },
+ "start": {
+ "type": "integer"
+ },
+ "totalLen": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "start",
+ "totalLen",
+ "headerLen"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "Name": "MetricsDebug",
+ "Version": 2,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "GetMetrics": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/ModelInfoResults"
+ "$ref": "#/definitions/MetricResults"
}
}
},
- "ModifyModelAccess": {
+ "SetMeterStatus": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/ModifyModelAccessRequest"
+ "$ref": "#/definitions/MeterStatusParams"
},
"Result": {
"$ref": "#/definitions/ErrorResults"
"Tag"
]
},
- "EntityStatus": {
+ "EntityMetrics": {
"type": "object",
"properties": {
- "Data": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
- },
- "Info": {
- "type": "string"
- },
- "Since": {
- "type": "string",
- "format": "date-time"
+ "error": {
+ "$ref": "#/definitions/Error"
},
- "Status": {
- "type": "string"
+ "metrics": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricResult"
+ }
}
},
- "additionalProperties": false,
- "required": [
- "Status",
- "Info",
- "Data",
- "Since"
- ]
+ "additionalProperties": false
},
"Error": {
"type": "object",
"sig"
]
},
- "Model": {
+ "MeterStatusParam": {
"type": "object",
"properties": {
- "Name": {
+ "code": {
"type": "string"
},
- "OwnerTag": {
+ "info": {
"type": "string"
},
- "UUID": {
+ "tag": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Name",
- "UUID",
- "OwnerTag"
+ "tag",
+ "code",
+ "info"
]
},
- "ModelConfigResult": {
+ "MeterStatusParams": {
"type": "object",
"properties": {
- "Config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
+ "statues": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MeterStatusParam"
}
}
},
"additionalProperties": false,
"required": [
- "Config"
+ "statues"
]
},
- "ModelCreateArgs": {
+ "MetricResult": {
"type": "object",
"properties": {
- "Account": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
+ "key": {
+ "type": "string"
},
- "Config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
+ "time": {
+ "type": "string",
+ "format": "date-time"
},
- "OwnerTag": {
+ "value": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "OwnerTag",
- "Account",
- "Config"
+ "time",
+ "key",
+ "value"
]
},
- "ModelInfo": {
+ "MetricResults": {
"type": "object",
"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": {
+ "results": {
"type": "array",
"items": {
- "$ref": "#/definitions/ModelUserInfo"
+ "$ref": "#/definitions/EntityMetrics"
}
}
},
"additionalProperties": false,
"required": [
- "Name",
- "UUID",
- "ServerUUID",
- "ProviderType",
- "DefaultSeries",
- "OwnerTag",
- "Life",
- "Status",
- "Users"
+ "results"
]
},
- "ModelInfoResult": {
+ "caveat": {
"type": "object",
"properties": {
- "error": {
- "$ref": "#/definitions/Error"
+ "caveatId": {
+ "$ref": "#/definitions/packet"
},
- "result": {
- "$ref": "#/definitions/ModelInfo"
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "verificationId": {
+ "$ref": "#/definitions/packet"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "location",
+ "caveatId",
+ "verificationId"
+ ]
},
- "ModelInfoResults": {
+ "packet": {
"type": "object",
"properties": {
- "results": {
+ "headerLen": {
+ "type": "integer"
+ },
+ "start": {
+ "type": "integer"
+ },
+ "totalLen": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "start",
+ "totalLen",
+ "headerLen"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "Name": "MetricsManager",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "CleanupOldMetrics": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "SendMetrics": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Entities": {
+ "type": "object",
+ "properties": {
+ "Entities": {
"type": "array",
"items": {
- "$ref": "#/definitions/ModelInfoResult"
+ "$ref": "#/definitions/Entity"
}
}
},
"additionalProperties": false,
"required": [
- "results"
+ "Entities"
]
},
- "ModelSkeletonConfigArgs": {
+ "Entity": {
"type": "object",
"properties": {
- "Provider": {
- "type": "string"
- },
- "Region": {
+ "Tag": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Provider",
- "Region"
+ "Tag"
]
},
- "ModelUserInfo": {
+ "Error": {
"type": "object",
"properties": {
- "access": {
- "type": "string"
- },
- "displayname": {
+ "Code": {
"type": "string"
},
- "lastconnection": {
- "type": "string",
- "format": "date-time"
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
},
- "user": {
+ "Message": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "user",
- "displayname",
- "lastconnection",
- "access"
+ "Message",
+ "Code"
]
},
- "ModifyModelAccess": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "access": {
- "type": "string"
- },
- "action": {
- "type": "string"
- },
- "model-tag": {
- "type": "string"
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
},
- "user-tag": {
+ "MacaroonPath": {
"type": "string"
}
},
- "additionalProperties": false,
- "required": [
- "user-tag",
- "action",
- "access",
- "model-tag"
- ]
+ "additionalProperties": false
},
- "ModifyModelAccessRequest": {
+ "ErrorResult": {
"type": "object",
"properties": {
- "changes": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ModifyModelAccess"
- }
+ "Error": {
+ "$ref": "#/definitions/Error"
}
},
"additionalProperties": false,
"required": [
- "changes"
+ "Error"
]
},
- "UserModel": {
+ "ErrorResults": {
"type": "object",
"properties": {
- "LastConnection": {
- "type": "string",
- "format": "date-time"
- },
- "Model": {
- "$ref": "#/definitions/Model"
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResult"
+ }
}
},
"additionalProperties": false,
"required": [
- "Model",
- "LastConnection"
+ "Results"
]
},
- "UserModelList": {
+ "Macaroon": {
"type": "object",
"properties": {
- "UserModels": {
+ "caveats": {
"type": "array",
"items": {
- "$ref": "#/definitions/UserModel"
+ "$ref": "#/definitions/caveat"
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "id": {
+ "$ref": "#/definitions/packet"
+ },
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "sig": {
+ "type": "array",
+ "items": {
+ "type": "integer"
}
}
},
"additionalProperties": false,
"required": [
- "UserModels"
+ "data",
+ "location",
+ "id",
+ "caveats",
+ "sig"
]
},
"caveat": {
}
},
{
- "Name": "NotifyWatcher",
- "Version": 1,
- "Schema": {
- "type": "object",
- "properties": {
- "Next": {
- "type": "object"
- },
- "Stop": {
- "type": "object"
- }
- }
- }
- },
- {
- "Name": "Pinger",
+ "Name": "MigrationFlag",
"Version": 1,
"Schema": {
"type": "object",
"properties": {
- "Ping": {
- "type": "object"
- },
- "Stop": {
- "type": "object"
- }
- }
- }
- },
- {
- "Name": "Provisioner",
- "Version": 2,
- "Schema": {
- "type": "object",
- "properties": {
- "APIAddresses": {
+ "Phase": {
"type": "object",
"properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
"Result": {
- "$ref": "#/definitions/StringsResult"
+ "$ref": "#/definitions/PhaseResults"
}
}
},
- "APIHostPorts": {
+ "Watch": {
"type": "object",
"properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
"Result": {
- "$ref": "#/definitions/APIHostPortsResult"
+ "$ref": "#/definitions/NotifyWatchResults"
}
}
- },
- "CACert": {
+ }
+ },
+ "definitions": {
+ "Entities": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/BytesResult"
- }
- }
- },
- "Constraints": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/ConstraintsResults"
+ "Entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Entities"
+ ]
},
- "ContainerConfig": {
+ "Entity": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/ContainerConfig"
+ "Tag": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Tag"
+ ]
},
- "ContainerManagerConfig": {
+ "Error": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/ContainerManagerConfigParams"
+ "Code": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/ContainerManagerConfig"
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "Message": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Message",
+ "Code"
+ ]
},
- "DistributionGroup": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
},
- "Result": {
- "$ref": "#/definitions/DistributionGroupResults"
+ "MacaroonPath": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false
},
- "EnsureDead": {
+ "Macaroon": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "caveats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/caveat"
+ }
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "id": {
+ "$ref": "#/definitions/packet"
+ },
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "sig": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "data",
+ "location",
+ "id",
+ "caveats",
+ "sig"
+ ]
},
- "FindTools": {
+ "NotifyWatchResult": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/FindToolsParams"
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "Result": {
- "$ref": "#/definitions/FindToolsResult"
+ "NotifyWatcherId": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "NotifyWatcherId",
+ "Error"
+ ]
},
- "GetContainerInterfaceInfo": {
+ "NotifyWatchResults": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/MachineNetworkConfigResults"
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
},
- "InstanceId": {
+ "PhaseResult": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "Result": {
- "$ref": "#/definitions/StringResults"
+ "phase": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "phase",
+ "Error"
+ ]
},
- "InstanceStatus": {
+ "PhaseResults": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/StatusResults"
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PhaseResult"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
},
- "Life": {
+ "caveat": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "caveatId": {
+ "$ref": "#/definitions/packet"
},
- "Result": {
- "$ref": "#/definitions/LifeResults"
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "verificationId": {
+ "$ref": "#/definitions/packet"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "location",
+ "caveatId",
+ "verificationId"
+ ]
},
- "MachinesWithTransientErrors": {
+ "packet": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/StatusResults"
+ "headerLen": {
+ "type": "integer"
+ },
+ "start": {
+ "type": "integer"
+ },
+ "totalLen": {
+ "type": "integer"
}
- }
- },
- "ModelConfig": {
+ },
+ "additionalProperties": false,
+ "required": [
+ "start",
+ "totalLen",
+ "headerLen"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "Name": "MigrationMaster",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "Export": {
"type": "object",
"properties": {
"Result": {
- "$ref": "#/definitions/ModelConfigResult"
+ "$ref": "#/definitions/SerializedModel"
}
}
},
- "ModelUUID": {
+ "GetMigrationStatus": {
"type": "object",
"properties": {
"Result": {
- "$ref": "#/definitions/StringResult"
+ "$ref": "#/definitions/FullMigrationStatus"
}
}
},
- "PrepareContainerInterfaceInfo": {
+ "SetPhase": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/MachineNetworkConfigResults"
+ "$ref": "#/definitions/SetMigrationPhaseArgs"
}
}
},
- "ProvisioningInfo": {
+ "Watch": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
"Result": {
- "$ref": "#/definitions/ProvisioningInfoResults"
+ "$ref": "#/definitions/NotifyWatchResult"
}
}
- },
- "ReleaseContainerAddresses": {
+ }
+ },
+ "definitions": {
+ "Error": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "Code": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
- },
- "Remove": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
+ "Message": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Message",
+ "Code"
+ ]
},
- "Series": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
},
- "Result": {
- "$ref": "#/definitions/StringResults"
+ "MacaroonPath": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false
},
- "SetInstanceInfo": {
+ "FullMigrationStatus": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/InstancesInfo"
+ "attempt": {
+ "type": "integer"
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
+ "phase": {
+ "type": "string"
+ },
+ "spec": {
+ "$ref": "#/definitions/ModelMigrationSpec"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "spec",
+ "attempt",
+ "phase"
+ ]
},
- "SetInstanceStatus": {
+ "Macaroon": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/SetStatus"
+ "caveats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/caveat"
+ }
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "id": {
+ "$ref": "#/definitions/packet"
+ },
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "sig": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "data",
+ "location",
+ "id",
+ "caveats",
+ "sig"
+ ]
},
- "SetPasswords": {
+ "ModelMigrationSpec": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/EntityPasswords"
+ "model-tag": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
+ "target-info": {
+ "$ref": "#/definitions/ModelMigrationTargetInfo"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "model-tag",
+ "target-info"
+ ]
},
- "SetStatus": {
+ "ModelMigrationTargetInfo": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/SetStatus"
+ "addrs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
+ "auth-tag": {
+ "type": "string"
+ },
+ "ca-cert": {
+ "type": "string"
+ },
+ "controller-tag": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "controller-tag",
+ "addrs",
+ "ca-cert",
+ "auth-tag",
+ "password"
+ ]
},
- "SetSupportedContainers": {
+ "NotifyWatchResult": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/MachineContainersParams"
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
+ "NotifyWatcherId": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "NotifyWatcherId",
+ "Error"
+ ]
},
- "StateAddresses": {
+ "SerializedModel": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/StringsResult"
+ "bytes": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "bytes"
+ ]
},
- "Status": {
+ "SetMigrationPhaseArgs": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/StatusResults"
+ "phase": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "phase"
+ ]
},
- "Tools": {
+ "caveat": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "caveatId": {
+ "$ref": "#/definitions/packet"
},
- "Result": {
- "$ref": "#/definitions/ToolsResults"
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "verificationId": {
+ "$ref": "#/definitions/packet"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "location",
+ "caveatId",
+ "verificationId"
+ ]
},
- "UpdateStatus": {
+ "packet": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/SetStatus"
+ "headerLen": {
+ "type": "integer"
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
+ "start": {
+ "type": "integer"
+ },
+ "totalLen": {
+ "type": "integer"
}
- }
- },
- "WatchAPIHostPorts": {
+ },
+ "additionalProperties": false,
+ "required": [
+ "start",
+ "totalLen",
+ "headerLen"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "Name": "MigrationMinion",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "Watch": {
"type": "object",
"properties": {
"Result": {
"$ref": "#/definitions/NotifyWatchResult"
}
}
- },
- "WatchAllContainers": {
+ }
+ },
+ "definitions": {
+ "Error": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/WatchContainers"
+ "Code": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/StringsWatchResults"
- }
- }
- },
- "WatchContainers": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/WatchContainers"
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
},
- "Result": {
- "$ref": "#/definitions/StringsWatchResults"
- }
- }
- },
- "WatchForModelConfigChanges": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/NotifyWatchResult"
+ "Message": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Message",
+ "Code"
+ ]
},
- "WatchMachineErrorRetry": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/NotifyWatchResult"
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "MacaroonPath": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false
},
- "WatchModelMachines": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/StringsWatchResult"
- }
- }
- }
- },
- "definitions": {
- "APIHostPortsResult": {
+ "Macaroon": {
"type": "object",
"properties": {
- "Servers": {
+ "caveats": {
"type": "array",
"items": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/HostPort"
- }
+ "$ref": "#/definitions/caveat"
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "id": {
+ "$ref": "#/definitions/packet"
+ },
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "sig": {
+ "type": "array",
+ "items": {
+ "type": "integer"
}
}
},
"additionalProperties": false,
"required": [
- "Servers"
+ "data",
+ "location",
+ "id",
+ "caveats",
+ "sig"
]
},
- "Address": {
+ "NotifyWatchResult": {
"type": "object",
"properties": {
- "Scope": {
- "type": "string"
- },
- "SpaceName": {
- "type": "string"
- },
- "Type": {
- "type": "string"
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "Value": {
+ "NotifyWatcherId": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Value",
- "Type",
- "Scope"
+ "NotifyWatcherId",
+ "Error"
]
},
- "Binary": {
+ "caveat": {
"type": "object",
"properties": {
- "Arch": {
- "type": "string"
+ "caveatId": {
+ "$ref": "#/definitions/packet"
},
- "Number": {
- "$ref": "#/definitions/Number"
+ "location": {
+ "$ref": "#/definitions/packet"
},
- "Series": {
- "type": "string"
+ "verificationId": {
+ "$ref": "#/definitions/packet"
}
},
"additionalProperties": false,
"required": [
- "Number",
- "Series",
- "Arch"
+ "location",
+ "caveatId",
+ "verificationId"
]
},
- "BytesResult": {
+ "packet": {
"type": "object",
"properties": {
- "Result": {
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "headerLen": {
+ "type": "integer"
+ },
+ "start": {
+ "type": "integer"
+ },
+ "totalLen": {
+ "type": "integer"
}
},
"additionalProperties": false,
"required": [
- "Result"
+ "start",
+ "totalLen",
+ "headerLen"
]
+ }
+ }
+ }
+ },
+ {
+ "Name": "MigrationStatusWatcher",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "Next": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/MigrationStatus"
+ }
+ }
},
- "CloudImageMetadata": {
+ "Stop": {
+ "type": "object"
+ }
+ },
+ "definitions": {
+ "MigrationStatus": {
"type": "object",
"properties": {
- "arch": {
- "type": "string"
- },
- "image_id": {
- "type": "string"
- },
- "priority": {
- "type": "integer"
- },
- "region": {
- "type": "string"
- },
- "root_storage_size": {
+ "attempt": {
"type": "integer"
},
- "root_storage_type": {
- "type": "string"
- },
- "series": {
+ "phase": {
"type": "string"
},
- "source": {
- "type": "string"
+ "source-api-addrs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
- "stream": {
+ "source-ca-cert": {
"type": "string"
},
- "version": {
- "type": "string"
+ "target-api-addrs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
- "virt_type": {
+ "target-ca-cert": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "image_id",
- "region",
- "version",
- "series",
- "arch",
- "source",
- "priority"
+ "attempt",
+ "phase",
+ "source-api-addrs",
+ "source-ca-cert",
+ "target-api-addrs",
+ "target-ca-cert"
]
- },
- "ConstraintsResult": {
+ }
+ }
+ }
+ },
+ {
+ "Name": "MigrationTarget",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "Abort": {
"type": "object",
"properties": {
- "Constraints": {
- "$ref": "#/definitions/Value"
- },
- "Error": {
- "$ref": "#/definitions/Error"
+ "Params": {
+ "$ref": "#/definitions/ModelArgs"
}
- },
- "additionalProperties": false,
- "required": [
- "Error",
- "Constraints"
- ]
+ }
},
- "ConstraintsResults": {
+ "Activate": {
"type": "object",
"properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ConstraintsResult"
- }
+ "Params": {
+ "$ref": "#/definitions/ModelArgs"
}
- },
- "additionalProperties": false,
- "required": [
- "Results"
- ]
+ }
},
- "ContainerConfig": {
+ "Import": {
"type": "object",
"properties": {
- "AllowLXCLoopMounts": {
- "type": "boolean"
- },
- "AptMirror": {
- "type": "string"
- },
- "AptProxy": {
- "$ref": "#/definitions/Settings"
- },
- "AuthorizedKeys": {
- "type": "string"
- },
- "PreferIPv6": {
- "type": "boolean"
- },
- "ProviderType": {
+ "Params": {
+ "$ref": "#/definitions/SerializedModel"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ModelArgs": {
+ "type": "object",
+ "properties": {
+ "model-tag": {
"type": "string"
- },
- "Proxy": {
- "$ref": "#/definitions/Settings"
- },
- "SSLHostnameVerification": {
- "type": "boolean"
- },
- "UpdateBehavior": {
- "$ref": "#/definitions/UpdateBehavior"
}
},
"additionalProperties": false,
"required": [
- "ProviderType",
- "AuthorizedKeys",
- "SSLHostnameVerification",
- "Proxy",
- "AptProxy",
- "AptMirror",
- "PreferIPv6",
- "AllowLXCLoopMounts",
- "UpdateBehavior"
+ "model-tag"
]
},
- "ContainerManagerConfig": {
+ "SerializedModel": {
"type": "object",
"properties": {
- "ManagerConfig": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "string"
- }
+ "bytes": {
+ "type": "array",
+ "items": {
+ "type": "integer"
}
}
},
"additionalProperties": false,
"required": [
- "ManagerConfig"
+ "bytes"
]
+ }
+ }
+ }
+ },
+ {
+ "Name": "ModelManager",
+ "Version": 2,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "ConfigSkeleton": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModelSkeletonConfigArgs"
+ },
+ "Result": {
+ "$ref": "#/definitions/ModelConfigResult"
+ }
+ }
},
- "ContainerManagerConfigParams": {
+ "CreateModel": {
"type": "object",
"properties": {
- "Type": {
- "type": "string"
+ "Params": {
+ "$ref": "#/definitions/ModelCreateArgs"
+ },
+ "Result": {
+ "$ref": "#/definitions/Model"
}
- },
- "additionalProperties": false,
- "required": [
- "Type"
- ]
+ }
},
- "DistributionGroupResult": {
+ "ListModels": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "Params": {
+ "$ref": "#/definitions/Entity"
},
"Result": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "$ref": "#/definitions/UserModelList"
}
- },
- "additionalProperties": false,
- "required": [
- "Error",
- "Result"
- ]
+ }
},
- "DistributionGroupResults": {
+ "ModelInfo": {
"type": "object",
"properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/DistributionGroupResult"
- }
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ModelInfoResults"
}
- },
- "additionalProperties": false,
- "required": [
- "Results"
- ]
+ }
},
+ "ModifyModelAccess": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModifyModelAccessRequest"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ }
+ },
+ "definitions": {
"Entities": {
"type": "object",
"properties": {
"Tag"
]
},
- "EntityPassword": {
- "type": "object",
- "properties": {
- "Password": {
- "type": "string"
- },
- "Tag": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Tag",
- "Password"
- ]
- },
- "EntityPasswords": {
- "type": "object",
- "properties": {
- "Changes": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EntityPassword"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Changes"
- ]
- },
- "EntityStatusArgs": {
+ "EntityStatus": {
"type": "object",
"properties": {
"Data": {
"Info": {
"type": "string"
},
- "Status": {
- "type": "string"
+ "Since": {
+ "type": "string",
+ "format": "date-time"
},
- "Tag": {
+ "Status": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Tag",
"Status",
"Info",
- "Data"
+ "Data",
+ "Since"
]
},
"Error": {
"Results"
]
},
- "FindToolsParams": {
+ "Macaroon": {
"type": "object",
"properties": {
- "Arch": {
- "type": "string"
+ "caveats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/caveat"
+ }
},
- "MajorVersion": {
- "type": "integer"
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
},
- "MinorVersion": {
- "type": "integer"
+ "id": {
+ "$ref": "#/definitions/packet"
},
- "Number": {
- "$ref": "#/definitions/Number"
+ "location": {
+ "$ref": "#/definitions/packet"
},
- "Series": {
- "type": "string"
+ "sig": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
}
},
"additionalProperties": false,
"required": [
- "Number",
- "MajorVersion",
- "MinorVersion",
- "Arch",
- "Series"
+ "data",
+ "location",
+ "id",
+ "caveats",
+ "sig"
]
},
- "FindToolsResult": {
+ "Model": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "Name": {
+ "type": "string"
},
- "List": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Tools"
- }
+ "OwnerTag": {
+ "type": "string"
+ },
+ "UUID": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "List",
- "Error"
+ "Name",
+ "UUID",
+ "OwnerTag"
]
},
- "HardwareCharacteristics": {
+ "ModelConfigResult": {
"type": "object",
"properties": {
- "Arch": {
- "type": "string"
- },
- "AvailabilityZone": {
- "type": "string"
- },
- "CpuCores": {
- "type": "integer"
- },
- "CpuPower": {
- "type": "integer"
- },
- "Mem": {
- "type": "integer"
- },
- "RootDisk": {
- "type": "integer"
- },
- "Tags": {
- "type": "array",
- "items": {
- "type": "string"
+ "Config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
}
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "Config"
+ ]
},
- "HostPort": {
+ "ModelCreateArgs": {
"type": "object",
"properties": {
- "Address": {
- "$ref": "#/definitions/Address"
+ "Account": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
},
- "Port": {
- "type": "integer"
+ "Config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ },
+ "OwnerTag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Address",
- "Port"
+ "OwnerTag",
+ "Account",
+ "Config"
]
},
- "InstanceInfo": {
+ "ModelInfo": {
"type": "object",
"properties": {
- "Characteristics": {
- "$ref": "#/definitions/HardwareCharacteristics"
+ "Cloud": {
+ "type": "string"
},
- "InstanceId": {
+ "DefaultSeries": {
"type": "string"
},
- "NetworkConfig": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/NetworkConfig"
- }
+ "Life": {
+ "type": "string"
},
- "Nonce": {
+ "Name": {
"type": "string"
},
- "Tag": {
+ "OwnerTag": {
"type": "string"
},
- "VolumeAttachments": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "$ref": "#/definitions/VolumeAttachmentInfo"
- }
- }
+ "ProviderType": {
+ "type": "string"
},
- "Volumes": {
+ "ServerUUID": {
+ "type": "string"
+ },
+ "Status": {
+ "$ref": "#/definitions/EntityStatus"
+ },
+ "UUID": {
+ "type": "string"
+ },
+ "Users": {
"type": "array",
"items": {
- "$ref": "#/definitions/Volume"
+ "$ref": "#/definitions/ModelUserInfo"
}
}
},
"additionalProperties": false,
"required": [
- "Tag",
- "InstanceId",
- "Nonce",
- "Characteristics",
- "Volumes",
- "VolumeAttachments",
- "NetworkConfig"
+ "Name",
+ "UUID",
+ "ServerUUID",
+ "ProviderType",
+ "DefaultSeries",
+ "Cloud",
+ "OwnerTag",
+ "Life",
+ "Status",
+ "Users"
]
},
- "InstancesInfo": {
+ "ModelInfoResult": {
"type": "object",
"properties": {
- "Machines": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "result": {
+ "$ref": "#/definitions/ModelInfo"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ModelInfoResults": {
+ "type": "object",
+ "properties": {
+ "results": {
"type": "array",
"items": {
- "$ref": "#/definitions/InstanceInfo"
+ "$ref": "#/definitions/ModelInfoResult"
}
}
},
"additionalProperties": false,
"required": [
- "Machines"
+ "results"
]
},
- "LifeResult": {
+ "ModelSkeletonConfigArgs": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "Provider": {
+ "type": "string"
},
- "Life": {
+ "Region": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Life",
- "Error"
+ "Provider",
+ "Region"
]
},
- "LifeResults": {
+ "ModelUserInfo": {
"type": "object",
"properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/LifeResult"
- }
+ "access": {
+ "type": "string"
+ },
+ "displayname": {
+ "type": "string"
+ },
+ "lastconnection": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "user": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "user",
+ "displayname",
+ "lastconnection",
+ "access"
]
},
- "Macaroon": {
+ "ModifyModelAccess": {
"type": "object",
"properties": {
- "caveats": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/caveat"
- }
- },
- "data": {
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "access": {
+ "type": "string"
},
- "id": {
- "$ref": "#/definitions/packet"
+ "action": {
+ "type": "string"
},
- "location": {
- "$ref": "#/definitions/packet"
+ "model-tag": {
+ "type": "string"
},
- "sig": {
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "user-tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "data",
- "location",
- "id",
- "caveats",
- "sig"
+ "user-tag",
+ "action",
+ "access",
+ "model-tag"
]
},
- "MachineContainers": {
+ "ModifyModelAccessRequest": {
"type": "object",
"properties": {
- "ContainerTypes": {
+ "changes": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/ModifyModelAccess"
}
- },
- "MachineTag": {
- "type": "string"
}
},
"additionalProperties": false,
"required": [
- "MachineTag",
- "ContainerTypes"
+ "changes"
]
},
- "MachineContainersParams": {
+ "UserModel": {
"type": "object",
"properties": {
- "Params": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/MachineContainers"
- }
+ "LastConnection": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "Model": {
+ "$ref": "#/definitions/Model"
}
},
"additionalProperties": false,
"required": [
- "Params"
+ "Model",
+ "LastConnection"
]
},
- "MachineNetworkConfigResult": {
+ "UserModelList": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- },
- "Info": {
+ "UserModels": {
"type": "array",
"items": {
- "$ref": "#/definitions/NetworkConfig"
+ "$ref": "#/definitions/UserModel"
}
}
},
"additionalProperties": false,
"required": [
- "Error",
- "Info"
+ "UserModels"
]
},
- "MachineNetworkConfigResults": {
- "type": "object",
- "properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/MachineNetworkConfigResult"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Results"
- ]
- },
- "ModelConfigResult": {
+ "caveat": {
"type": "object",
"properties": {
- "Config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
+ "caveatId": {
+ "$ref": "#/definitions/packet"
+ },
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "verificationId": {
+ "$ref": "#/definitions/packet"
}
},
"additionalProperties": false,
"required": [
- "Config"
+ "location",
+ "caveatId",
+ "verificationId"
]
},
- "NetworkConfig": {
+ "packet": {
"type": "object",
"properties": {
- "Address": {
- "type": "string"
- },
- "CIDR": {
- "type": "string"
- },
- "ConfigType": {
- "type": "string"
- },
- "DNSSearchDomains": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "DNSServers": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "DeviceIndex": {
+ "headerLen": {
"type": "integer"
},
- "Disabled": {
- "type": "boolean"
- },
- "GatewayAddress": {
- "type": "string"
- },
- "InterfaceName": {
- "type": "string"
- },
- "InterfaceType": {
- "type": "string"
- },
- "MACAddress": {
- "type": "string"
- },
- "MTU": {
+ "start": {
"type": "integer"
},
- "NoAutoStart": {
- "type": "boolean"
- },
- "ParentInterfaceName": {
- "type": "string"
- },
- "ProviderAddressId": {
- "type": "string"
- },
- "ProviderId": {
- "type": "string"
- },
- "ProviderSpaceId": {
- "type": "string"
- },
- "ProviderSubnetId": {
- "type": "string"
- },
- "ProviderVLANId": {
- "type": "string"
- },
- "VLANTag": {
+ "totalLen": {
"type": "integer"
}
},
"additionalProperties": false,
"required": [
- "DeviceIndex",
- "MACAddress",
- "CIDR",
- "MTU",
- "ProviderId",
- "ProviderSubnetId",
- "ProviderSpaceId",
- "ProviderAddressId",
- "ProviderVLANId",
- "VLANTag",
- "InterfaceName",
- "ParentInterfaceName",
- "InterfaceType",
- "Disabled"
+ "start",
+ "totalLen",
+ "headerLen"
]
+ }
+ }
+ }
+ },
+ {
+ "Name": "NotifyWatcher",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "Next": {
+ "type": "object"
},
- "NotifyWatchResult": {
+ "Stop": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ {
+ "Name": "Pinger",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "Ping": {
+ "type": "object"
+ },
+ "Stop": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ {
+ "Name": "Provisioner",
+ "Version": 3,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "APIAddresses": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- },
- "NotifyWatcherId": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/StringsResult"
}
- },
- "additionalProperties": false,
- "required": [
- "NotifyWatcherId",
- "Error"
- ]
+ }
},
- "Number": {
+ "APIHostPorts": {
"type": "object",
"properties": {
- "Build": {
- "type": "integer"
- },
- "Major": {
- "type": "integer"
+ "Result": {
+ "$ref": "#/definitions/APIHostPortsResult"
+ }
+ }
+ },
+ "CACert": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/BytesResult"
+ }
+ }
+ },
+ "Constraints": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "Minor": {
- "type": "integer"
+ "Result": {
+ "$ref": "#/definitions/ConstraintsResults"
+ }
+ }
+ },
+ "ContainerConfig": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/ContainerConfig"
+ }
+ }
+ },
+ "ContainerManagerConfig": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ContainerManagerConfigParams"
},
- "Patch": {
- "type": "integer"
+ "Result": {
+ "$ref": "#/definitions/ContainerManagerConfig"
+ }
+ }
+ },
+ "DistributionGroup": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "Tag": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/DistributionGroupResults"
}
- },
- "additionalProperties": false,
- "required": [
- "Major",
- "Minor",
- "Tag",
- "Patch",
- "Build"
- ]
+ }
},
- "ProvisioningInfo": {
+ "EnsureDead": {
"type": "object",
"properties": {
- "Constraints": {
- "$ref": "#/definitions/Value"
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "EndpointBindings": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "string"
- }
- }
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "FindTools": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/FindToolsParams"
},
- "ImageMetadata": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/CloudImageMetadata"
- }
+ "Result": {
+ "$ref": "#/definitions/FindToolsResult"
+ }
+ }
+ },
+ "GetContainerInterfaceInfo": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "Jobs": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "Result": {
+ "$ref": "#/definitions/MachineNetworkConfigResults"
+ }
+ }
+ },
+ "InstanceId": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "Placement": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/StringResults"
+ }
+ }
+ },
+ "InstanceStatus": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "Series": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/StatusResults"
+ }
+ }
+ },
+ "Life": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "SubnetsToZones": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
+ "Result": {
+ "$ref": "#/definitions/LifeResults"
+ }
+ }
+ },
+ "MachinesWithTransientErrors": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/StatusResults"
+ }
+ }
+ },
+ "ModelConfig": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/ModelConfigResult"
+ }
+ }
+ },
+ "ModelUUID": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/StringResult"
+ }
+ }
+ },
+ "PrepareContainerInterfaceInfo": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "Tags": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "string"
- }
- }
+ "Result": {
+ "$ref": "#/definitions/MachineNetworkConfigResults"
+ }
+ }
+ },
+ "ProvisioningInfo": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "Volumes": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/VolumeParams"
- }
+ "Result": {
+ "$ref": "#/definitions/ProvisioningInfoResults"
}
- },
- "additionalProperties": false,
- "required": [
- "Constraints",
- "Series",
- "Placement",
- "Jobs",
- "Volumes",
- "Tags",
- "SubnetsToZones",
- "ImageMetadata",
- "EndpointBindings"
- ]
+ }
},
- "ProvisioningInfoResult": {
+ "ReleaseContainerAddresses": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/ProvisioningInfo"
+ "$ref": "#/definitions/ErrorResults"
}
- },
- "additionalProperties": false,
- "required": [
- "Error",
- "Result"
- ]
+ }
},
- "ProvisioningInfoResults": {
+ "Remove": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "Series": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/StringResults"
+ }
+ }
+ },
+ "SetInstanceInfo": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/InstancesInfo"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "SetInstanceStatus": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetStatus"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "SetPasswords": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/EntityPasswords"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "SetStatus": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetStatus"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "SetSupportedContainers": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/MachineContainersParams"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "StateAddresses": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/StringsResult"
+ }
+ }
+ },
+ "Status": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/StatusResults"
+ }
+ }
+ },
+ "Tools": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ToolsResults"
+ }
+ }
+ },
+ "UpdateStatus": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetStatus"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "WatchAPIHostPorts": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
+ }
+ },
+ "WatchAllContainers": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/WatchContainers"
+ },
+ "Result": {
+ "$ref": "#/definitions/StringsWatchResults"
+ }
+ }
+ },
+ "WatchContainers": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/WatchContainers"
+ },
+ "Result": {
+ "$ref": "#/definitions/StringsWatchResults"
+ }
+ }
+ },
+ "WatchForModelConfigChanges": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
+ }
+ },
+ "WatchMachineErrorRetry": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
+ }
+ },
+ "WatchModelMachines": {
"type": "object",
"properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ProvisioningInfoResult"
- }
+ "Result": {
+ "$ref": "#/definitions/StringsWatchResult"
}
- },
- "additionalProperties": false,
- "required": [
- "Results"
- ]
- },
- "SetStatus": {
+ }
+ }
+ },
+ "definitions": {
+ "APIHostPortsResult": {
"type": "object",
"properties": {
- "Entities": {
+ "Servers": {
"type": "array",
"items": {
- "$ref": "#/definitions/EntityStatusArgs"
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HostPort"
+ }
}
}
},
"additionalProperties": false,
"required": [
- "Entities"
+ "Servers"
]
},
- "Settings": {
+ "Address": {
"type": "object",
"properties": {
- "Ftp": {
+ "Scope": {
"type": "string"
},
- "Http": {
+ "SpaceName": {
"type": "string"
},
- "Https": {
+ "Type": {
"type": "string"
},
- "NoProxy": {
+ "Value": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Http",
- "Https",
- "Ftp",
- "NoProxy"
+ "Value",
+ "Type",
+ "Scope"
]
},
- "StatusResult": {
+ "Binary": {
"type": "object",
"properties": {
- "Data": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
- },
- "Error": {
- "$ref": "#/definitions/Error"
- },
- "Id": {
- "type": "string"
- },
- "Info": {
- "type": "string"
- },
- "Life": {
+ "Arch": {
"type": "string"
},
- "Since": {
- "type": "string",
- "format": "date-time"
+ "Number": {
+ "$ref": "#/definitions/Number"
},
- "Status": {
+ "Series": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Error",
- "Id",
- "Life",
- "Status",
- "Info",
- "Data",
- "Since"
+ "Number",
+ "Series",
+ "Arch"
]
},
- "StatusResults": {
+ "BytesResult": {
"type": "object",
"properties": {
- "Results": {
+ "Result": {
"type": "array",
"items": {
- "$ref": "#/definitions/StatusResult"
+ "type": "integer"
}
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "Result"
]
},
- "StringResult": {
+ "CloudImageMetadata": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "arch": {
+ "type": "string"
},
- "Result": {
+ "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"
}
},
"additionalProperties": false,
"required": [
- "Error",
- "Result"
+ "image_id",
+ "region",
+ "version",
+ "series",
+ "arch",
+ "source",
+ "priority"
]
},
- "StringResults": {
+ "ConstraintsResult": {
"type": "object",
"properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/StringResult"
- }
+ "Constraints": {
+ "$ref": "#/definitions/Value"
+ },
+ "Error": {
+ "$ref": "#/definitions/Error"
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "Error",
+ "Constraints"
]
},
- "StringsResult": {
+ "ConstraintsResults": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- },
- "Result": {
+ "Results": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/ConstraintsResult"
}
}
},
"additionalProperties": false,
"required": [
- "Error",
- "Result"
+ "Results"
]
},
- "StringsWatchResult": {
+ "ContainerConfig": {
"type": "object",
"properties": {
- "Changes": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "AllowLXCLoopMounts": {
+ "type": "boolean"
},
- "Error": {
- "$ref": "#/definitions/Error"
+ "AptMirror": {
+ "type": "string"
},
- "StringsWatcherId": {
+ "AptProxy": {
+ "$ref": "#/definitions/Settings"
+ },
+ "AuthorizedKeys": {
+ "type": "string"
+ },
+ "ProviderType": {
"type": "string"
+ },
+ "Proxy": {
+ "$ref": "#/definitions/Settings"
+ },
+ "SSLHostnameVerification": {
+ "type": "boolean"
+ },
+ "UpdateBehavior": {
+ "$ref": "#/definitions/UpdateBehavior"
}
},
"additionalProperties": false,
"required": [
- "StringsWatcherId",
- "Changes",
- "Error"
+ "ProviderType",
+ "AuthorizedKeys",
+ "SSLHostnameVerification",
+ "Proxy",
+ "AptProxy",
+ "AptMirror",
+ "AllowLXCLoopMounts",
+ "UpdateBehavior"
]
},
- "StringsWatchResults": {
+ "ContainerManagerConfig": {
"type": "object",
"properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/StringsWatchResult"
+ "ManagerConfig": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
}
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "ManagerConfig"
]
},
- "Tools": {
+ "ContainerManagerConfigParams": {
"type": "object",
"properties": {
- "sha256": {
- "type": "string"
- },
- "size": {
- "type": "integer"
- },
- "url": {
+ "Type": {
"type": "string"
- },
- "version": {
- "$ref": "#/definitions/Binary"
}
},
"additionalProperties": false,
"required": [
- "version",
- "url",
- "size"
+ "Type"
]
},
- "ToolsResult": {
+ "DistributionGroupResult": {
"type": "object",
"properties": {
- "DisableSSLHostnameVerification": {
- "type": "boolean"
- },
"Error": {
"$ref": "#/definitions/Error"
},
- "ToolsList": {
+ "Result": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Error",
+ "Result"
+ ]
+ },
+ "DistributionGroupResults": {
+ "type": "object",
+ "properties": {
+ "Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/Tools"
+ "$ref": "#/definitions/DistributionGroupResult"
}
}
},
"additionalProperties": false,
"required": [
- "ToolsList",
- "DisableSSLHostnameVerification",
- "Error"
+ "Results"
]
},
- "ToolsResults": {
+ "Entities": {
"type": "object",
"properties": {
- "Results": {
+ "Entities": {
"type": "array",
"items": {
- "$ref": "#/definitions/ToolsResult"
+ "$ref": "#/definitions/Entity"
}
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "Entities"
]
},
- "UpdateBehavior": {
+ "Entity": {
"type": "object",
"properties": {
- "EnableOSRefreshUpdate": {
- "type": "boolean"
- },
- "EnableOSUpgrade": {
- "type": "boolean"
+ "Tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "EnableOSRefreshUpdate",
- "EnableOSUpgrade"
+ "Tag"
]
},
- "Value": {
+ "EntityPassword": {
"type": "object",
"properties": {
- "arch": {
- "type": "string"
- },
- "container": {
- "type": "string"
- },
- "cpu-cores": {
- "type": "integer"
- },
- "cpu-power": {
- "type": "integer"
- },
- "instance-type": {
+ "Password": {
"type": "string"
},
- "mem": {
- "type": "integer"
- },
- "root-disk": {
- "type": "integer"
- },
- "spaces": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "tags": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "virt-type": {
+ "Tag": {
"type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "Tag",
+ "Password"
+ ]
},
- "Volume": {
+ "EntityPasswords": {
"type": "object",
"properties": {
- "info": {
- "$ref": "#/definitions/VolumeInfo"
- },
- "volumetag": {
- "type": "string"
+ "Changes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityPassword"
+ }
}
},
"additionalProperties": false,
"required": [
- "volumetag",
- "info"
+ "Changes"
]
},
- "VolumeAttachmentInfo": {
+ "EntityStatusArgs": {
"type": "object",
"properties": {
- "busaddress": {
- "type": "string"
+ "Data": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
},
- "devicelink": {
+ "Info": {
"type": "string"
},
- "devicename": {
+ "Status": {
"type": "string"
},
- "read-only": {
- "type": "boolean"
+ "Tag": {
+ "type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "Tag",
+ "Status",
+ "Info",
+ "Data"
+ ]
},
- "VolumeAttachmentParams": {
+ "Error": {
"type": "object",
"properties": {
- "instanceid": {
- "type": "string"
- },
- "machinetag": {
- "type": "string"
- },
- "provider": {
+ "Code": {
"type": "string"
},
- "read-only": {
- "type": "boolean"
- },
- "volumeid": {
- "type": "string"
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
},
- "volumetag": {
+ "Message": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "volumetag",
- "machinetag",
- "provider"
+ "Message",
+ "Code"
]
},
- "VolumeInfo": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "hardwareid": {
- "type": "string"
- },
- "persistent": {
- "type": "boolean"
- },
- "size": {
- "type": "integer"
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
},
- "volumeid": {
+ "MacaroonPath": {
"type": "string"
}
},
+ "additionalProperties": false
+ },
+ "ErrorResult": {
+ "type": "object",
+ "properties": {
+ "Error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
"additionalProperties": false,
"required": [
- "volumeid",
- "size",
- "persistent"
+ "Error"
]
},
- "VolumeParams": {
+ "ErrorResults": {
"type": "object",
"properties": {
- "attachment": {
- "$ref": "#/definitions/VolumeAttachmentParams"
- },
- "attributes": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
- },
- "provider": {
- "type": "string"
- },
- "size": {
- "type": "integer"
- },
- "tags": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "string"
- }
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResult"
}
- },
- "volumetag": {
- "type": "string"
}
},
"additionalProperties": false,
"required": [
- "volumetag",
- "size",
- "provider"
+ "Results"
]
},
- "WatchContainer": {
+ "FindToolsParams": {
"type": "object",
"properties": {
- "ContainerType": {
+ "Arch": {
"type": "string"
},
- "MachineTag": {
+ "MajorVersion": {
+ "type": "integer"
+ },
+ "MinorVersion": {
+ "type": "integer"
+ },
+ "Number": {
+ "$ref": "#/definitions/Number"
+ },
+ "Series": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "MachineTag",
- "ContainerType"
+ "Number",
+ "MajorVersion",
+ "MinorVersion",
+ "Arch",
+ "Series"
]
},
- "WatchContainers": {
+ "FindToolsResult": {
"type": "object",
"properties": {
- "Params": {
+ "Error": {
+ "$ref": "#/definitions/Error"
+ },
+ "List": {
"type": "array",
"items": {
- "$ref": "#/definitions/WatchContainer"
+ "$ref": "#/definitions/Tools"
}
}
},
"additionalProperties": false,
"required": [
- "Params"
+ "List",
+ "Error"
]
},
- "caveat": {
+ "HardwareCharacteristics": {
"type": "object",
"properties": {
- "caveatId": {
- "$ref": "#/definitions/packet"
+ "Arch": {
+ "type": "string"
},
- "location": {
- "$ref": "#/definitions/packet"
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "CpuCores": {
+ "type": "integer"
+ },
+ "CpuPower": {
+ "type": "integer"
+ },
+ "Mem": {
+ "type": "integer"
+ },
+ "RootDisk": {
+ "type": "integer"
},
- "verificationId": {
- "$ref": "#/definitions/packet"
+ "Tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
- "additionalProperties": false,
- "required": [
- "location",
- "caveatId",
- "verificationId"
- ]
+ "additionalProperties": false
},
- "packet": {
+ "HostPort": {
"type": "object",
"properties": {
- "headerLen": {
- "type": "integer"
- },
- "start": {
- "type": "integer"
+ "Address": {
+ "$ref": "#/definitions/Address"
},
- "totalLen": {
+ "Port": {
"type": "integer"
}
},
"additionalProperties": false,
"required": [
- "start",
- "totalLen",
- "headerLen"
+ "Address",
+ "Port"
]
- }
- }
- }
- },
- {
- "Name": "ProxyUpdater",
- "Version": 1,
- "Schema": {
- "type": "object",
- "properties": {
- "ProxyConfig": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/ProxyConfigResults"
- }
- }
},
- "WatchForProxyConfigAndAPIHostPortChanges": {
+ "InstanceInfo": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "Characteristics": {
+ "$ref": "#/definitions/HardwareCharacteristics"
},
- "Result": {
- "$ref": "#/definitions/NotifyWatchResults"
- }
- }
- }
- },
- "definitions": {
- "Entities": {
- "type": "object",
- "properties": {
- "Entities": {
+ "InstanceId": {
+ "type": "string"
+ },
+ "NetworkConfig": {
"type": "array",
"items": {
- "$ref": "#/definitions/Entity"
+ "$ref": "#/definitions/NetworkConfig"
+ }
+ },
+ "Nonce": {
+ "type": "string"
+ },
+ "Tag": {
+ "type": "string"
+ },
+ "VolumeAttachments": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/VolumeAttachmentInfo"
+ }
+ }
+ },
+ "Volumes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Volume"
}
}
},
"additionalProperties": false,
"required": [
- "Entities"
+ "Tag",
+ "InstanceId",
+ "Nonce",
+ "Characteristics",
+ "Volumes",
+ "VolumeAttachments",
+ "NetworkConfig"
]
},
- "Entity": {
+ "InstancesInfo": {
"type": "object",
"properties": {
- "Tag": {
- "type": "string"
+ "Machines": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceInfo"
+ }
}
},
"additionalProperties": false,
"required": [
- "Tag"
+ "Machines"
]
},
- "Error": {
+ "LifeResult": {
"type": "object",
"properties": {
- "Code": {
- "type": "string"
- },
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "Message": {
+ "Life": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Message",
- "Code"
+ "Life",
+ "Error"
]
},
- "ErrorInfo": {
+ "LifeResults": {
"type": "object",
"properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
- },
- "MacaroonPath": {
- "type": "string"
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LifeResult"
+ }
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
},
"Macaroon": {
"type": "object",
"sig"
]
},
- "NotifyWatchResult": {
+ "MachineContainers": {
+ "type": "object",
+ "properties": {
+ "ContainerTypes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "MachineTag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "MachineTag",
+ "ContainerTypes"
+ ]
+ },
+ "MachineContainersParams": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MachineContainers"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Params"
+ ]
+ },
+ "MachineNetworkConfigResult": {
"type": "object",
"properties": {
"Error": {
"$ref": "#/definitions/Error"
},
- "NotifyWatcherId": {
- "type": "string"
+ "Info": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkConfig"
+ }
}
},
"additionalProperties": false,
"required": [
- "NotifyWatcherId",
- "Error"
+ "Error",
+ "Info"
]
},
- "NotifyWatchResults": {
+ "MachineNetworkConfigResults": {
"type": "object",
"properties": {
"Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/NotifyWatchResult"
+ "$ref": "#/definitions/MachineNetworkConfigResult"
}
}
},
"Results"
]
},
- "ProxyConfig": {
+ "ModelConfigResult": {
"type": "object",
"properties": {
- "FTP": {
+ "Config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Config"
+ ]
+ },
+ "NetworkConfig": {
+ "type": "object",
+ "properties": {
+ "Address": {
+ "type": "string"
+ },
+ "CIDR": {
+ "type": "string"
+ },
+ "ConfigType": {
+ "type": "string"
+ },
+ "DNSSearchDomains": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "DNSServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "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"
},
- "HTTP": {
+ "ProviderAddressId": {
"type": "string"
},
- "HTTPS": {
+ "ProviderId": {
"type": "string"
},
- "NoProxy": {
+ "ProviderSpaceId": {
+ "type": "string"
+ },
+ "ProviderSubnetId": {
"type": "string"
+ },
+ "ProviderVLANId": {
+ "type": "string"
+ },
+ "VLANTag": {
+ "type": "integer"
}
},
"additionalProperties": false,
"required": [
- "HTTP",
- "HTTPS",
- "FTP",
- "NoProxy"
+ "DeviceIndex",
+ "MACAddress",
+ "CIDR",
+ "MTU",
+ "ProviderId",
+ "ProviderSubnetId",
+ "ProviderSpaceId",
+ "ProviderAddressId",
+ "ProviderVLANId",
+ "VLANTag",
+ "InterfaceName",
+ "ParentInterfaceName",
+ "InterfaceType",
+ "Disabled"
]
},
- "ProxyConfigResult": {
+ "NotifyWatchResult": {
"type": "object",
"properties": {
- "APTProxySettings": {
- "$ref": "#/definitions/ProxyConfig"
- },
"Error": {
"$ref": "#/definitions/Error"
},
- "ProxySettings": {
- "$ref": "#/definitions/ProxyConfig"
- }
- },
- "additionalProperties": false,
- "required": [
- "ProxySettings",
- "APTProxySettings"
- ]
- },
- "ProxyConfigResults": {
- "type": "object",
- "properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ProxyConfigResult"
- }
+ "NotifyWatcherId": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "NotifyWatcherId",
+ "Error"
]
},
- "caveat": {
+ "Number": {
"type": "object",
"properties": {
- "caveatId": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
+ "Build": {
+ "type": "integer"
},
- "verificationId": {
- "$ref": "#/definitions/packet"
- }
- },
- "additionalProperties": false,
- "required": [
- "location",
- "caveatId",
- "verificationId"
- ]
- },
- "packet": {
- "type": "object",
- "properties": {
- "headerLen": {
+ "Major": {
"type": "integer"
},
- "start": {
+ "Minor": {
"type": "integer"
},
- "totalLen": {
+ "Patch": {
"type": "integer"
+ },
+ "Tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "start",
- "totalLen",
- "headerLen"
+ "Major",
+ "Minor",
+ "Tag",
+ "Patch",
+ "Build"
]
- }
- }
- }
- },
- {
- "Name": "Reboot",
- "Version": 2,
- "Schema": {
- "type": "object",
- "properties": {
- "ClearReboot": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
},
- "GetRebootAction": {
+ "ProvisioningInfo": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "Constraints": {
+ "$ref": "#/definitions/Value"
},
- "Result": {
- "$ref": "#/definitions/RebootActionResults"
- }
- }
- },
- "RequestReboot": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "EndpointBindings": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ }
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
- },
- "WatchForRebootEvent": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/NotifyWatchResult"
- }
- }
- }
- },
- "definitions": {
- "Entities": {
- "type": "object",
- "properties": {
- "Entities": {
+ "ImageMetadata": {
"type": "array",
"items": {
- "$ref": "#/definitions/Entity"
+ "$ref": "#/definitions/CloudImageMetadata"
}
- }
- },
- "additionalProperties": false,
- "required": [
- "Entities"
- ]
- },
- "Entity": {
- "type": "object",
- "properties": {
- "Tag": {
+ },
+ "Jobs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "Placement": {
"type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Tag"
- ]
- },
- "Error": {
- "type": "object",
- "properties": {
- "Code": {
+ },
+ "Series": {
"type": "string"
},
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
+ "SubnetsToZones": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
},
- "Message": {
- "type": "string"
+ "Tags": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ }
+ },
+ "Volumes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VolumeParams"
+ }
}
},
"additionalProperties": false,
"required": [
- "Message",
- "Code"
+ "Constraints",
+ "Series",
+ "Placement",
+ "Jobs",
+ "Volumes",
+ "Tags",
+ "SubnetsToZones",
+ "ImageMetadata",
+ "EndpointBindings"
]
},
- "ErrorInfo": {
- "type": "object",
- "properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
- },
- "MacaroonPath": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "ErrorResult": {
+ "ProvisioningInfoResult": {
"type": "object",
"properties": {
"Error": {
"$ref": "#/definitions/Error"
+ },
+ "Result": {
+ "$ref": "#/definitions/ProvisioningInfo"
}
},
"additionalProperties": false,
"required": [
- "Error"
+ "Error",
+ "Result"
]
},
- "ErrorResults": {
+ "ProvisioningInfoResults": {
"type": "object",
"properties": {
"Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/ErrorResult"
+ "$ref": "#/definitions/ProvisioningInfoResult"
}
}
},
"Results"
]
},
- "Macaroon": {
+ "SetStatus": {
"type": "object",
"properties": {
- "caveats": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/caveat"
- }
- },
- "data": {
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
- "id": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
- },
- "sig": {
+ "Entities": {
"type": "array",
"items": {
- "type": "integer"
+ "$ref": "#/definitions/EntityStatusArgs"
}
}
},
"additionalProperties": false,
"required": [
- "data",
- "location",
- "id",
- "caveats",
- "sig"
+ "Entities"
]
},
- "NotifyWatchResult": {
+ "Settings": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "Ftp": {
+ "type": "string"
},
- "NotifyWatcherId": {
+ "Http": {
+ "type": "string"
+ },
+ "Https": {
+ "type": "string"
+ },
+ "NoProxy": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "NotifyWatcherId",
- "Error"
+ "Http",
+ "Https",
+ "Ftp",
+ "NoProxy"
]
},
- "RebootActionResult": {
+ "StatusResult": {
"type": "object",
"properties": {
- "error": {
+ "Data": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ },
+ "Error": {
"$ref": "#/definitions/Error"
},
- "result": {
+ "Id": {
+ "type": "string"
+ },
+ "Info": {
+ "type": "string"
+ },
+ "Life": {
+ "type": "string"
+ },
+ "Since": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "Status": {
"type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "Error",
+ "Id",
+ "Life",
+ "Status",
+ "Info",
+ "Data",
+ "Since"
+ ]
},
- "RebootActionResults": {
+ "StatusResults": {
"type": "object",
"properties": {
- "results": {
+ "Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/RebootActionResult"
+ "$ref": "#/definitions/StatusResult"
}
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
},
- "caveat": {
+ "StringResult": {
"type": "object",
"properties": {
- "caveatId": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "verificationId": {
- "$ref": "#/definitions/packet"
+ "Result": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "location",
- "caveatId",
- "verificationId"
+ "Error",
+ "Result"
]
},
- "packet": {
+ "StringResults": {
"type": "object",
"properties": {
- "headerLen": {
- "type": "integer"
- },
- "start": {
- "type": "integer"
- },
- "totalLen": {
- "type": "integer"
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StringResult"
+ }
}
},
"additionalProperties": false,
"required": [
- "start",
- "totalLen",
- "headerLen"
+ "Results"
]
- }
- }
- }
- },
- {
- "Name": "RelationUnitsWatcher",
- "Version": 1,
- "Schema": {
- "type": "object",
- "properties": {
- "Next": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/RelationUnitsWatchResult"
- }
- }
},
- "Stop": {
- "type": "object"
- }
- },
- "definitions": {
- "Error": {
+ "StringsResult": {
"type": "object",
"properties": {
- "Code": {
- "type": "string"
- },
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "Message": {
- "type": "string"
+ "Result": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
"additionalProperties": false,
"required": [
- "Message",
- "Code"
+ "Error",
+ "Result"
]
},
- "ErrorInfo": {
+ "StringsWatchResult": {
"type": "object",
"properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
+ "Changes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
- "MacaroonPath": {
+ "Error": {
+ "$ref": "#/definitions/Error"
+ },
+ "StringsWatcherId": {
"type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "StringsWatcherId",
+ "Changes",
+ "Error"
+ ]
},
- "Macaroon": {
+ "StringsWatchResults": {
"type": "object",
"properties": {
- "caveats": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/caveat"
- }
- },
- "data": {
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
- "id": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
- },
- "sig": {
+ "Results": {
"type": "array",
"items": {
- "type": "integer"
+ "$ref": "#/definitions/StringsWatchResult"
}
}
},
"additionalProperties": false,
"required": [
- "data",
- "location",
- "id",
- "caveats",
- "sig"
+ "Results"
]
},
- "RelationUnitsChange": {
+ "Tools": {
"type": "object",
"properties": {
- "Changed": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "$ref": "#/definitions/UnitSettings"
- }
- }
+ "sha256": {
+ "type": "string"
+ },
+ "size": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
},
- "Departed": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "version": {
+ "$ref": "#/definitions/Binary"
}
},
"additionalProperties": false,
"required": [
- "Changed",
- "Departed"
+ "version",
+ "url",
+ "size"
]
},
- "RelationUnitsWatchResult": {
+ "ToolsResult": {
"type": "object",
"properties": {
- "Changes": {
- "$ref": "#/definitions/RelationUnitsChange"
+ "DisableSSLHostnameVerification": {
+ "type": "boolean"
},
"Error": {
"$ref": "#/definitions/Error"
},
- "RelationUnitsWatcherId": {
- "type": "string"
+ "ToolsList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Tools"
+ }
}
},
"additionalProperties": false,
"required": [
- "RelationUnitsWatcherId",
- "Changes",
+ "ToolsList",
+ "DisableSSLHostnameVerification",
"Error"
]
},
- "UnitSettings": {
+ "ToolsResults": {
"type": "object",
"properties": {
- "Version": {
- "type": "integer"
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ToolsResult"
+ }
}
},
"additionalProperties": false,
"required": [
- "Version"
+ "Results"
]
},
- "caveat": {
+ "UpdateBehavior": {
"type": "object",
"properties": {
- "caveatId": {
- "$ref": "#/definitions/packet"
- },
- "location": {
- "$ref": "#/definitions/packet"
+ "EnableOSRefreshUpdate": {
+ "type": "boolean"
},
- "verificationId": {
- "$ref": "#/definitions/packet"
+ "EnableOSUpgrade": {
+ "type": "boolean"
}
},
"additionalProperties": false,
"required": [
- "location",
- "caveatId",
- "verificationId"
+ "EnableOSRefreshUpdate",
+ "EnableOSUpgrade"
]
},
- "packet": {
+ "Value": {
"type": "object",
"properties": {
- "headerLen": {
+ "arch": {
+ "type": "string"
+ },
+ "container": {
+ "type": "string"
+ },
+ "cpu-cores": {
"type": "integer"
},
- "start": {
+ "cpu-power": {
"type": "integer"
},
- "totalLen": {
+ "instance-type": {
+ "type": "string"
+ },
+ "mem": {
"type": "integer"
- }
- },
- "additionalProperties": false,
- "required": [
- "start",
- "totalLen",
- "headerLen"
- ]
- }
- }
- }
- },
- {
- "Name": "Resumer",
- "Version": 2,
- "Schema": {
- "type": "object",
- "properties": {
- "ResumeTransactions": {
- "type": "object"
- }
- }
- }
- },
- {
- "Name": "RetryStrategy",
- "Version": 1,
- "Schema": {
- "type": "object",
- "properties": {
- "RetryStrategy": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
},
- "Result": {
- "$ref": "#/definitions/RetryStrategyResults"
- }
- }
- },
- "WatchRetryStrategy": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "root-disk": {
+ "type": "integer"
},
- "Result": {
- "$ref": "#/definitions/NotifyWatchResults"
- }
- }
- }
- },
- "definitions": {
- "Entities": {
- "type": "object",
- "properties": {
- "Entities": {
+ "spaces": {
"type": "array",
"items": {
- "$ref": "#/definitions/Entity"
+ "type": "string"
+ }
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
}
+ },
+ "virt-type": {
+ "type": "string"
}
},
- "additionalProperties": false,
- "required": [
- "Entities"
- ]
+ "additionalProperties": false
},
- "Entity": {
+ "Volume": {
"type": "object",
"properties": {
- "Tag": {
+ "info": {
+ "$ref": "#/definitions/VolumeInfo"
+ },
+ "volumetag": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Tag"
+ "volumetag",
+ "info"
]
},
- "Error": {
+ "VolumeAttachmentInfo": {
"type": "object",
"properties": {
- "Code": {
+ "busaddress": {
"type": "string"
},
- "Info": {
- "$ref": "#/definitions/ErrorInfo"
- },
- "Message": {
+ "devicelink": {
"type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Message",
- "Code"
- ]
- },
- "ErrorInfo": {
- "type": "object",
- "properties": {
- "Macaroon": {
- "$ref": "#/definitions/Macaroon"
},
- "MacaroonPath": {
+ "devicename": {
"type": "string"
+ },
+ "read-only": {
+ "type": "boolean"
}
},
"additionalProperties": false
},
- "Macaroon": {
+ "VolumeAttachmentParams": {
"type": "object",
"properties": {
- "caveats": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/caveat"
- }
+ "instanceid": {
+ "type": "string"
},
- "data": {
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "machinetag": {
+ "type": "string"
},
- "id": {
- "$ref": "#/definitions/packet"
+ "provider": {
+ "type": "string"
},
- "location": {
- "$ref": "#/definitions/packet"
+ "read-only": {
+ "type": "boolean"
},
- "sig": {
- "type": "array",
- "items": {
- "type": "integer"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "data",
- "location",
- "id",
- "caveats",
- "sig"
- ]
- },
- "NotifyWatchResult": {
- "type": "object",
- "properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "volumeid": {
+ "type": "string"
},
- "NotifyWatcherId": {
+ "volumetag": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "NotifyWatcherId",
- "Error"
+ "volumetag",
+ "machinetag",
+ "provider"
]
},
- "NotifyWatchResults": {
+ "VolumeInfo": {
"type": "object",
"properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/NotifyWatchResult"
- }
+ "hardwareid": {
+ "type": "string"
+ },
+ "persistent": {
+ "type": "boolean"
+ },
+ "size": {
+ "type": "integer"
+ },
+ "volumeid": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "volumeid",
+ "size",
+ "persistent"
]
},
- "RetryStrategy": {
+ "VolumeParams": {
"type": "object",
"properties": {
- "JitterRetryTime": {
- "type": "boolean"
+ "attachment": {
+ "$ref": "#/definitions/VolumeAttachmentParams"
},
- "MaxRetryTime": {
- "type": "integer"
+ "attributes": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
},
- "MinRetryTime": {
- "type": "integer"
+ "provider": {
+ "type": "string"
},
- "RetryTimeFactor": {
+ "size": {
"type": "integer"
},
- "ShouldRetry": {
- "type": "boolean"
+ "tags": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ }
+ },
+ "volumetag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "ShouldRetry",
- "MinRetryTime",
- "MaxRetryTime",
- "JitterRetryTime",
- "RetryTimeFactor"
+ "volumetag",
+ "size",
+ "provider"
]
},
- "RetryStrategyResult": {
+ "WatchContainer": {
"type": "object",
"properties": {
- "Error": {
- "$ref": "#/definitions/Error"
+ "ContainerType": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/RetryStrategy"
+ "MachineTag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "Error",
- "Result"
+ "MachineTag",
+ "ContainerType"
]
},
- "RetryStrategyResults": {
+ "WatchContainers": {
"type": "object",
"properties": {
- "Results": {
+ "Params": {
"type": "array",
"items": {
- "$ref": "#/definitions/RetryStrategyResult"
+ "$ref": "#/definitions/WatchContainer"
}
}
},
"additionalProperties": false,
"required": [
- "Results"
+ "Params"
]
},
"caveat": {
}
},
{
- "Name": "SSHClient",
+ "Name": "ProxyUpdater",
"Version": 1,
"Schema": {
"type": "object",
"properties": {
- "PrivateAddress": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/SSHAddressResults"
- }
- }
- },
- "Proxy": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/SSHProxyResult"
- }
- }
- },
- "PublicAddress": {
+ "ProxyConfig": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/SSHAddressResults"
+ "$ref": "#/definitions/ProxyConfigResults"
}
}
},
- "PublicKeys": {
+ "WatchForProxyConfigAndAPIHostPortChanges": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/SSHPublicKeysResults"
+ "$ref": "#/definitions/NotifyWatchResults"
}
}
}
"sig"
]
},
- "SSHAddressResult": {
+ "NotifyWatchResult": {
"type": "object",
"properties": {
- "address": {
- "type": "string"
- },
- "error": {
+ "Error": {
"$ref": "#/definitions/Error"
+ },
+ "NotifyWatcherId": {
+ "type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "NotifyWatcherId",
+ "Error"
+ ]
},
- "SSHAddressResults": {
+ "NotifyWatchResults": {
"type": "object",
"properties": {
- "results": {
+ "Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/SSHAddressResult"
+ "$ref": "#/definitions/NotifyWatchResult"
}
}
},
"additionalProperties": false,
"required": [
- "results"
+ "Results"
]
},
- "SSHProxyResult": {
+ "ProxyConfig": {
"type": "object",
"properties": {
- "use-proxy": {
- "type": "boolean"
+ "FTP": {
+ "type": "string"
+ },
+ "HTTP": {
+ "type": "string"
+ },
+ "HTTPS": {
+ "type": "string"
+ },
+ "NoProxy": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "use-proxy"
+ "HTTP",
+ "HTTPS",
+ "FTP",
+ "NoProxy"
]
},
- "SSHPublicKeysResult": {
+ "ProxyConfigResult": {
"type": "object",
"properties": {
- "error": {
+ "APTProxySettings": {
+ "$ref": "#/definitions/ProxyConfig"
+ },
+ "Error": {
"$ref": "#/definitions/Error"
},
- "public-keys": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "ProxySettings": {
+ "$ref": "#/definitions/ProxyConfig"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "ProxySettings",
+ "APTProxySettings"
+ ]
},
- "SSHPublicKeysResults": {
+ "ProxyConfigResults": {
"type": "object",
"properties": {
- "results": {
+ "Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/SSHPublicKeysResult"
+ "$ref": "#/definitions/ProxyConfigResult"
}
}
},
"additionalProperties": false,
"required": [
- "results"
+ "Results"
]
},
"caveat": {
"totalLen": {
"type": "integer"
}
- },
- "additionalProperties": false,
- "required": [
- "start",
- "totalLen",
- "headerLen"
- ]
- }
- }
- }
- },
- {
- "Name": "Service",
- "Version": 3,
- "Schema": {
- "type": "object",
- "properties": {
- "AddRelation": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/AddRelation"
- },
- "Result": {
- "$ref": "#/definitions/AddRelationResults"
- }
- }
- },
- "AddUnits": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/AddServiceUnits"
- },
- "Result": {
- "$ref": "#/definitions/AddServiceUnitsResults"
- }
- }
- },
- "CharmRelations": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/ServiceCharmRelations"
- },
- "Result": {
- "$ref": "#/definitions/ServiceCharmRelationsResults"
- }
- }
- },
- "Deploy": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/ServicesDeploy"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
- },
- "Destroy": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/ServiceDestroy"
- }
- }
- },
- "DestroyRelation": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/DestroyRelation"
- }
- }
- },
- "DestroyUnits": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/DestroyServiceUnits"
- }
- }
- },
- "Expose": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/ServiceExpose"
- }
- }
- },
- "Get": {
+ },
+ "additionalProperties": false,
+ "required": [
+ "start",
+ "totalLen",
+ "headerLen"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "Name": "Reboot",
+ "Version": 2,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "ClearReboot": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/ServiceGet"
+ "$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/ServiceGetResults"
+ "$ref": "#/definitions/ErrorResults"
}
}
},
- "GetCharmURL": {
+ "GetRebootAction": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/ServiceGet"
+ "$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/StringResult"
+ "$ref": "#/definitions/RebootActionResults"
}
}
},
- "GetConstraints": {
+ "RequestReboot": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/GetServiceConstraints"
+ "$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/GetConstraintsResults"
+ "$ref": "#/definitions/ErrorResults"
}
}
},
- "Set": {
+ "WatchForRebootEvent": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/ServiceSet"
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResult"
}
}
- },
- "SetCharm": {
+ }
+ },
+ "definitions": {
+ "Entities": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/ServiceSetCharm"
+ "Entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Entities"
+ ]
},
- "SetConstraints": {
+ "Entity": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/SetConstraints"
+ "Tag": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Tag"
+ ]
},
- "SetMetricCredentials": {
+ "Error": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/ServiceMetricCredentials"
+ "Code": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "Message": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Message",
+ "Code"
+ ]
},
- "Unexpose": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/ServiceUnexpose"
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "MacaroonPath": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false
},
- "Unset": {
+ "ErrorResult": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/ServiceUnset"
+ "Error": {
+ "$ref": "#/definitions/Error"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Error"
+ ]
},
- "Update": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/ServiceUpdate"
- }
- }
- }
- },
- "definitions": {
- "AddRelation": {
+ "ErrorResults": {
"type": "object",
"properties": {
- "Endpoints": {
+ "Results": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/ErrorResult"
}
}
},
"additionalProperties": false,
"required": [
- "Endpoints"
+ "Results"
]
},
- "AddRelationResults": {
+ "Macaroon": {
"type": "object",
"properties": {
- "Endpoints": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "$ref": "#/definitions/Relation"
- }
+ "caveats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/caveat"
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "id": {
+ "$ref": "#/definitions/packet"
+ },
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "sig": {
+ "type": "array",
+ "items": {
+ "type": "integer"
}
}
},
"additionalProperties": false,
"required": [
- "Endpoints"
+ "data",
+ "location",
+ "id",
+ "caveats",
+ "sig"
]
},
- "AddServiceUnits": {
+ "NotifyWatchResult": {
"type": "object",
"properties": {
- "NumUnits": {
- "type": "integer"
- },
- "Placement": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Placement"
- }
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "ServiceName": {
+ "NotifyWatcherId": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "ServiceName",
- "NumUnits",
- "Placement"
+ "NotifyWatcherId",
+ "Error"
]
},
- "AddServiceUnitsResults": {
+ "RebootActionResult": {
"type": "object",
"properties": {
- "Units": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "result": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "RebootActionResults": {
+ "type": "object",
+ "properties": {
+ "results": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/RebootActionResult"
}
}
},
- "additionalProperties": false,
- "required": [
- "Units"
- ]
+ "additionalProperties": false
},
- "Constraints": {
+ "caveat": {
"type": "object",
"properties": {
- "Count": {
- "type": "integer"
+ "caveatId": {
+ "$ref": "#/definitions/packet"
},
- "Pool": {
- "type": "string"
+ "location": {
+ "$ref": "#/definitions/packet"
},
- "Size": {
- "type": "integer"
+ "verificationId": {
+ "$ref": "#/definitions/packet"
}
},
"additionalProperties": false,
"required": [
- "Pool",
- "Size",
- "Count"
+ "location",
+ "caveatId",
+ "verificationId"
]
},
- "DestroyRelation": {
+ "packet": {
"type": "object",
"properties": {
- "Endpoints": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "headerLen": {
+ "type": "integer"
+ },
+ "start": {
+ "type": "integer"
+ },
+ "totalLen": {
+ "type": "integer"
}
},
"additionalProperties": false,
"required": [
- "Endpoints"
+ "start",
+ "totalLen",
+ "headerLen"
]
- },
- "DestroyServiceUnits": {
+ }
+ }
+ }
+ },
+ {
+ "Name": "RelationUnitsWatcher",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "Next": {
"type": "object",
"properties": {
- "UnitNames": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "Result": {
+ "$ref": "#/definitions/RelationUnitsWatchResult"
}
- },
- "additionalProperties": false,
- "required": [
- "UnitNames"
- ]
+ }
},
+ "Stop": {
+ "type": "object"
+ }
+ },
+ "definitions": {
"Error": {
"type": "object",
"properties": {
},
"additionalProperties": false
},
- "ErrorResult": {
- "type": "object",
- "properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- }
- },
- "additionalProperties": false,
- "required": [
- "Error"
- ]
- },
- "ErrorResults": {
- "type": "object",
- "properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ErrorResult"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Results"
- ]
- },
- "GetConstraintsResults": {
- "type": "object",
- "properties": {
- "Constraints": {
- "$ref": "#/definitions/Value"
- }
- },
- "additionalProperties": false,
- "required": [
- "Constraints"
- ]
- },
- "GetServiceConstraints": {
- "type": "object",
- "properties": {
- "ServiceName": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "ServiceName"
- ]
- },
"Macaroon": {
"type": "object",
"properties": {
"sig"
]
},
- "Placement": {
- "type": "object",
- "properties": {
- "Directive": {
- "type": "string"
- },
- "Scope": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Scope",
- "Directive"
- ]
- },
- "Relation": {
+ "RelationUnitsChange": {
"type": "object",
"properties": {
- "Interface": {
- "type": "string"
- },
- "Limit": {
- "type": "integer"
- },
- "Name": {
- "type": "string"
- },
- "Optional": {
- "type": "boolean"
- },
- "Role": {
- "type": "string"
+ "Changed": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/UnitSettings"
+ }
+ }
},
- "Scope": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "Name",
- "Role",
- "Interface",
- "Optional",
- "Limit",
- "Scope"
- ]
- },
- "ServiceCharmRelations": {
- "type": "object",
- "properties": {
- "ServiceName": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "ServiceName"
- ]
- },
- "ServiceCharmRelationsResults": {
- "type": "object",
- "properties": {
- "CharmRelations": {
+ "Departed": {
"type": "array",
"items": {
"type": "string"
},
"additionalProperties": false,
"required": [
- "CharmRelations"
+ "Changed",
+ "Departed"
]
},
- "ServiceDeploy": {
+ "RelationUnitsWatchResult": {
"type": "object",
"properties": {
- "Channel": {
- "type": "string"
- },
- "CharmUrl": {
- "type": "string"
- },
- "Config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "string"
- }
- }
- },
- "ConfigYAML": {
- "type": "string"
- },
- "Constraints": {
- "$ref": "#/definitions/Value"
- },
- "EndpointBindings": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "string"
- }
- }
- },
- "NumUnits": {
- "type": "integer"
- },
- "Placement": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Placement"
- }
- },
- "Resources": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "string"
- }
- }
+ "Changes": {
+ "$ref": "#/definitions/RelationUnitsChange"
},
- "Series": {
- "type": "string"
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "ServiceName": {
+ "RelationUnitsWatcherId": {
"type": "string"
- },
- "Storage": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "$ref": "#/definitions/Constraints"
- }
- }
}
},
"additionalProperties": false,
"required": [
- "ServiceName",
- "Series",
- "CharmUrl",
- "Channel",
- "NumUnits",
- "Config",
- "ConfigYAML",
- "Constraints",
- "Placement",
- "Storage",
- "EndpointBindings",
- "Resources"
+ "RelationUnitsWatcherId",
+ "Changes",
+ "Error"
]
},
- "ServiceDestroy": {
+ "UnitSettings": {
"type": "object",
"properties": {
- "ServiceName": {
- "type": "string"
+ "Version": {
+ "type": "integer"
}
},
"additionalProperties": false,
"required": [
- "ServiceName"
+ "Version"
]
},
- "ServiceExpose": {
+ "caveat": {
"type": "object",
"properties": {
- "ServiceName": {
- "type": "string"
+ "caveatId": {
+ "$ref": "#/definitions/packet"
+ },
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "verificationId": {
+ "$ref": "#/definitions/packet"
}
},
"additionalProperties": false,
"required": [
- "ServiceName"
+ "location",
+ "caveatId",
+ "verificationId"
]
},
- "ServiceGet": {
+ "packet": {
"type": "object",
"properties": {
- "ServiceName": {
- "type": "string"
+ "headerLen": {
+ "type": "integer"
+ },
+ "start": {
+ "type": "integer"
+ },
+ "totalLen": {
+ "type": "integer"
}
},
"additionalProperties": false,
"required": [
- "ServiceName"
+ "start",
+ "totalLen",
+ "headerLen"
]
- },
- "ServiceGetResults": {
+ }
+ }
+ }
+ },
+ {
+ "Name": "Resumer",
+ "Version": 2,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "ResumeTransactions": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ {
+ "Name": "RetryStrategy",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "RetryStrategy": {
"type": "object",
"properties": {
- "Charm": {
- "type": "string"
- },
- "Config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
- },
- "Constraints": {
- "$ref": "#/definitions/Value"
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "Service": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/RetryStrategyResults"
}
- },
- "additionalProperties": false,
- "required": [
- "Service",
- "Charm",
- "Config",
- "Constraints"
- ]
+ }
},
- "ServiceMetricCredential": {
+ "WatchRetryStrategy": {
"type": "object",
"properties": {
- "MetricCredentials": {
- "type": "array",
- "items": {
- "type": "integer"
- }
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "ServiceName": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResults"
}
- },
- "additionalProperties": false,
- "required": [
- "ServiceName",
- "MetricCredentials"
- ]
- },
- "ServiceMetricCredentials": {
+ }
+ }
+ },
+ "definitions": {
+ "Entities": {
"type": "object",
"properties": {
- "Creds": {
+ "Entities": {
"type": "array",
"items": {
- "$ref": "#/definitions/ServiceMetricCredential"
+ "$ref": "#/definitions/Entity"
}
}
},
"additionalProperties": false,
"required": [
- "Creds"
+ "Entities"
]
},
- "ServiceSet": {
+ "Entity": {
"type": "object",
"properties": {
- "Options": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "string"
- }
- }
- },
- "ServiceName": {
+ "Tag": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "ServiceName",
- "Options"
+ "Tag"
]
},
- "ServiceSetCharm": {
+ "Error": {
"type": "object",
"properties": {
- "charmurl": {
- "type": "string"
- },
- "cs-channel": {
+ "Code": {
"type": "string"
},
- "forceseries": {
- "type": "boolean"
- },
- "forceunits": {
- "type": "boolean"
- },
- "resourceids": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "string"
- }
- }
+ "Info": {
+ "$ref": "#/definitions/ErrorInfo"
},
- "servicename": {
+ "Message": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "servicename",
- "charmurl",
- "cs-channel",
- "forceunits",
- "forceseries",
- "resourceids"
+ "Message",
+ "Code"
]
},
- "ServiceUnexpose": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "ServiceName": {
+ "Macaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "MacaroonPath": {
"type": "string"
}
},
- "additionalProperties": false,
- "required": [
- "ServiceName"
- ]
+ "additionalProperties": false
},
- "ServiceUnset": {
+ "Macaroon": {
"type": "object",
"properties": {
- "Options": {
+ "caveats": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/caveat"
}
},
- "ServiceName": {
- "type": "string"
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "id": {
+ "$ref": "#/definitions/packet"
+ },
+ "location": {
+ "$ref": "#/definitions/packet"
+ },
+ "sig": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
}
},
"additionalProperties": false,
"required": [
- "ServiceName",
- "Options"
+ "data",
+ "location",
+ "id",
+ "caveats",
+ "sig"
]
},
- "ServiceUpdate": {
+ "NotifyWatchResult": {
"type": "object",
"properties": {
- "CharmUrl": {
- "type": "string"
- },
- "Constraints": {
- "$ref": "#/definitions/Value"
- },
- "ForceCharmUrl": {
- "type": "boolean"
- },
- "ForceSeries": {
- "type": "boolean"
- },
- "MinUnits": {
- "type": "integer"
- },
- "ServiceName": {
- "type": "string"
- },
- "SettingsStrings": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "string"
- }
- }
+ "Error": {
+ "$ref": "#/definitions/Error"
},
- "SettingsYAML": {
+ "NotifyWatcherId": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "ServiceName",
- "CharmUrl",
- "ForceCharmUrl",
- "ForceSeries",
- "MinUnits",
- "SettingsStrings",
- "SettingsYAML",
- "Constraints"
+ "NotifyWatcherId",
+ "Error"
]
},
- "ServicesDeploy": {
+ "NotifyWatchResults": {
"type": "object",
"properties": {
- "Services": {
+ "Results": {
"type": "array",
"items": {
- "$ref": "#/definitions/ServiceDeploy"
+ "$ref": "#/definitions/NotifyWatchResult"
}
}
},
"additionalProperties": false,
"required": [
- "Services"
+ "Results"
]
},
- "SetConstraints": {
+ "RetryStrategy": {
"type": "object",
"properties": {
- "Constraints": {
- "$ref": "#/definitions/Value"
+ "JitterRetryTime": {
+ "type": "boolean"
},
- "ServiceName": {
- "type": "string"
+ "MaxRetryTime": {
+ "type": "integer"
+ },
+ "MinRetryTime": {
+ "type": "integer"
+ },
+ "RetryTimeFactor": {
+ "type": "integer"
+ },
+ "ShouldRetry": {
+ "type": "boolean"
}
},
"additionalProperties": false,
"required": [
- "ServiceName",
- "Constraints"
+ "ShouldRetry",
+ "MinRetryTime",
+ "MaxRetryTime",
+ "JitterRetryTime",
+ "RetryTimeFactor"
]
},
- "StringResult": {
+ "RetryStrategyResult": {
"type": "object",
"properties": {
"Error": {
"$ref": "#/definitions/Error"
},
"Result": {
- "type": "string"
+ "$ref": "#/definitions/RetryStrategy"
}
},
"additionalProperties": false,
"Result"
]
},
- "Value": {
+ "RetryStrategyResults": {
"type": "object",
"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": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "tags": {
+ "Results": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/RetryStrategyResult"
}
- },
- "virt-type": {
- "type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
},
"caveat": {
"type": "object",
}
},
{
- "Name": "ServiceScaler",
+ "Name": "SSHClient",
"Version": 1,
"Schema": {
"type": "object",
"properties": {
- "Rescale": {
+ "PrivateAddress": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/SSHAddressResults"
+ }
+ }
+ },
+ "Proxy": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/SSHProxyResult"
+ }
+ }
+ },
+ "PublicAddress": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/SSHAddressResults"
}
}
},
- "Watch": {
+ "PublicKeys": {
"type": "object",
"properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
"Result": {
- "$ref": "#/definitions/StringsWatchResult"
+ "$ref": "#/definitions/SSHPublicKeysResults"
}
}
}
},
"additionalProperties": false
},
- "ErrorResult": {
- "type": "object",
- "properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- }
- },
- "additionalProperties": false,
- "required": [
- "Error"
- ]
- },
- "ErrorResults": {
- "type": "object",
- "properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ErrorResult"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Results"
- ]
- },
"Macaroon": {
"type": "object",
"properties": {
"sig"
]
},
- "StringsWatchResult": {
+ "SSHAddressResult": {
"type": "object",
"properties": {
- "Changes": {
+ "address": {
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false
+ },
+ "SSHAddressResults": {
+ "type": "object",
+ "properties": {
+ "results": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/SSHAddressResult"
}
- },
- "Error": {
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "SSHProxyResult": {
+ "type": "object",
+ "properties": {
+ "use-proxy": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "use-proxy"
+ ]
+ },
+ "SSHPublicKeysResult": {
+ "type": "object",
+ "properties": {
+ "error": {
"$ref": "#/definitions/Error"
},
- "StringsWatcherId": {
- "type": "string"
+ "public-keys": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "SSHPublicKeysResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SSHPublicKeysResult"
+ }
}
},
"additionalProperties": false,
"required": [
- "StringsWatcherId",
- "Changes",
- "Error"
+ "results"
]
},
"caveat": {
"StatusHistoryPruneArgs": {
"type": "object",
"properties": {
- "MaxLogsPerEntity": {
+ "MaxHistoryMB": {
+ "type": "integer"
+ },
+ "MaxHistoryTime": {
"type": "integer"
}
},
"additionalProperties": false,
"required": [
- "MaxLogsPerEntity"
+ "MaxHistoryTime",
+ "MaxHistoryMB"
]
}
}
},
{
"Name": "Uniter",
- "Version": 3,
+ "Version": 4,
"Schema": {
"type": "object",
"properties": {
}
}
},
+ "ApplicationOwner": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/StringResults"
+ }
+ }
+ },
+ "ApplicationStatus": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ApplicationStatusResults"
+ }
+ }
+ },
"AssignedMachine": {
"type": "object",
"properties": {
}
}
},
- "ServiceOwner": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/StringResults"
- }
- }
- },
- "ServiceStatus": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/ServiceStatusResults"
- }
- }
- },
"SetAgentStatus": {
"type": "object",
"properties": {
}
}
},
- "SetCharmURL": {
+ "SetApplicationStatus": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/EntitiesCharmURL"
+ "$ref": "#/definitions/SetStatus"
},
"Result": {
"$ref": "#/definitions/ErrorResults"
}
}
},
- "SetServiceStatus": {
+ "SetCharmURL": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/SetStatus"
+ "$ref": "#/definitions/EntitiesCharmURL"
},
"Result": {
"$ref": "#/definitions/ErrorResults"
}
}
},
+ "WatchApplicationRelations": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/StringsWatchResults"
+ }
+ }
+ },
"WatchConfigSettings": {
"type": "object",
"properties": {
}
}
},
- "WatchServiceRelations": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/StringsWatchResults"
- }
- }
- },
"WatchStorageAttachments": {
"type": "object",
"properties": {
"Scope"
]
},
+ "ApplicationStatusResult": {
+ "type": "object",
+ "properties": {
+ "Application": {
+ "$ref": "#/definitions/StatusResult"
+ },
+ "Error": {
+ "$ref": "#/definitions/Error"
+ },
+ "Units": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/StatusResult"
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Application",
+ "Units",
+ "Error"
+ ]
+ },
+ "ApplicationStatusResults": {
+ "type": "object",
+ "properties": {
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationStatusResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Results"
+ ]
+ },
"BoolResult": {
"type": "object",
"properties": {
"Endpoint": {
"type": "object",
"properties": {
+ "ApplicationName": {
+ "type": "string"
+ },
"Relation": {
"$ref": "#/definitions/Relation"
- },
- "ServiceName": {
- "type": "string"
}
},
"additionalProperties": false,
"required": [
- "ServiceName",
+ "ApplicationName",
"Relation"
]
},
"MergeLeadershipSettingsParam": {
"type": "object",
"properties": {
- "ServiceTag": {
+ "ApplicationTag": {
"type": "string"
},
"Settings": {
},
"additionalProperties": false,
"required": [
- "ServiceTag",
+ "ApplicationTag",
"Settings"
]
},
"Results"
]
},
- "ServiceStatusResult": {
- "type": "object",
- "properties": {
- "Error": {
- "$ref": "#/definitions/Error"
- },
- "Service": {
- "$ref": "#/definitions/StatusResult"
- },
- "Units": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "$ref": "#/definitions/StatusResult"
- }
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Service",
- "Units",
- "Error"
- ]
- },
- "ServiceStatusResults": {
- "type": "object",
- "properties": {
- "Results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ServiceStatusResult"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "Results"
- ]
- },
"SetStatus": {
"type": "object",
"properties": {
}
}
]
+
--- /dev/null
+from .client import AllWatcher as BaseAllWatcher
+from .client import Client
+
+
+class AllWatcher(BaseAllWatcher):
+ async def rpc(self, msg):
+ if not hasattr(self, 'Id'):
+ client = Client()
+ client.connect(self.connection)
+
+ result = await client.WatchAll()
+ self.Id = result.allwatcherid
+
+ msg['Id'] = self.Id
+ return await super(AllWatcher, self).rpc(msg)