blob: 67840dbbcade38315a0110aeb01b8fd60dce5e86 [file] [log] [blame]
# DO NOT CHANGE THIS FILE! This file is auto-generated by facade.py.
# Changes will be overwritten/lost when the file is regenerated.
from juju.client._definitions import *
from juju.client.facade import ReturnMapping, Type
class ActionFacade(Type):
name = 'Action'
version = 3
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': {'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'},
'ApplicationCharmActionsResult': {'additionalProperties': False,
'properties': {'actions': {'patternProperties': {'.*': {'$ref': '#/definitions/ActionSpec'}},
'type': 'object'},
'application-tag': {'type': 'string'},
'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'},
'macaroon-path': {'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, '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'],
'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=3,
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=3,
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=3,
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=3,
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=3,
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=3,
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=3,
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=3,
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=3,
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=3,
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=3,
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=3,
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 ApplicationFacade(Type):
name = 'Application'
version = 3
schema = {'definitions': {'AddApplicationUnits': {'additionalProperties': False,
'properties': {'application': {'type': 'string'},
'num-units': {'type': 'integer'},
'placement': {'items': {'$ref': '#/definitions/Placement'},
'type': 'array'}},
'required': ['application',
'num-units',
'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/CharmRelation'}},
'type': 'object'}},
'required': ['endpoints'],
'type': 'object'},
'ApplicationCharmRelations': {'additionalProperties': False,
'properties': {'application': {'type': 'string'}},
'required': ['application'],
'type': 'object'},
'ApplicationCharmRelationsResults': {'additionalProperties': False,
'properties': {'charm-relations': {'items': {'type': 'string'},
'type': 'array'}},
'required': ['charm-relations'],
'type': 'object'},
'ApplicationDeploy': {'additionalProperties': False,
'properties': {'application': {'type': 'string'},
'channel': {'type': 'string'},
'charm-url': {'type': 'string'},
'config': {'patternProperties': {'.*': {'type': 'string'}},
'type': 'object'},
'config-yaml': {'type': 'string'},
'constraints': {'$ref': '#/definitions/Value'},
'endpoint-bindings': {'patternProperties': {'.*': {'type': 'string'}},
'type': 'object'},
'num-units': {'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': ['application',
'series',
'charm-url',
'channel',
'num-units',
'config-yaml',
'constraints'],
'type': 'object'},
'ApplicationDestroy': {'additionalProperties': False,
'properties': {'application': {'type': 'string'}},
'required': ['application'],
'type': 'object'},
'ApplicationExpose': {'additionalProperties': False,
'properties': {'application': {'type': 'string'}},
'required': ['application'],
'type': 'object'},
'ApplicationGet': {'additionalProperties': False,
'properties': {'application': {'type': 'string'}},
'required': ['application'],
'type': 'object'},
'ApplicationGetResults': {'additionalProperties': False,
'properties': {'application': {'type': 'string'},
'charm': {'type': 'string'},
'config': {'patternProperties': {'.*': {'additionalProperties': True,
'type': 'object'}},
'type': 'object'},
'constraints': {'$ref': '#/definitions/Value'},
'series': {'type': 'string'}},
'required': ['application',
'charm',
'config',
'constraints',
'series'],
'type': 'object'},
'ApplicationMetricCredential': {'additionalProperties': False,
'properties': {'application': {'type': 'string'},
'metrics-credentials': {'items': {'type': 'integer'},
'type': 'array'}},
'required': ['application',
'metrics-credentials'],
'type': 'object'},
'ApplicationMetricCredentials': {'additionalProperties': False,
'properties': {'creds': {'items': {'$ref': '#/definitions/ApplicationMetricCredential'},
'type': 'array'}},
'required': ['creds'],
'type': 'object'},
'ApplicationSet': {'additionalProperties': False,
'properties': {'application': {'type': 'string'},
'options': {'patternProperties': {'.*': {'type': 'string'}},
'type': 'object'}},
'required': ['application', 'options'],
'type': 'object'},
'ApplicationSetCharm': {'additionalProperties': False,
'properties': {'application': {'type': 'string'},
'channel': {'type': 'string'},
'charm-url': {'type': 'string'},
'config-settings': {'patternProperties': {'.*': {'type': 'string'}},
'type': 'object'},
'config-settings-yaml': {'type': 'string'},
'force-series': {'type': 'boolean'},
'force-units': {'type': 'boolean'},
'resource-ids': {'patternProperties': {'.*': {'type': 'string'}},
'type': 'object'},
'storage-constraints': {'patternProperties': {'.*': {'$ref': '#/definitions/StorageConstraints'}},
'type': 'object'}},
'required': ['application',
'charm-url',
'channel',
'force-units',
'force-series'],
'type': 'object'},
'ApplicationUnexpose': {'additionalProperties': False,
'properties': {'application': {'type': 'string'}},
'required': ['application'],
'type': 'object'},
'ApplicationUnset': {'additionalProperties': False,
'properties': {'application': {'type': 'string'},
'options': {'items': {'type': 'string'},
'type': 'array'}},
'required': ['application', 'options'],
'type': 'object'},
'ApplicationUpdate': {'additionalProperties': False,
'properties': {'application': {'type': 'string'},
'charm-url': {'type': 'string'},
'constraints': {'$ref': '#/definitions/Value'},
'force-charm-url': {'type': 'boolean'},
'force-series': {'type': 'boolean'},
'min-units': {'type': 'integer'},
'settings': {'patternProperties': {'.*': {'type': 'string'}},
'type': 'object'},
'settings-yaml': {'type': 'string'}},
'required': ['application',
'charm-url',
'force-charm-url',
'force-series',
'settings-yaml'],
'type': 'object'},
'ApplicationsDeploy': {'additionalProperties': False,
'properties': {'applications': {'items': {'$ref': '#/definitions/ApplicationDeploy'},
'type': 'array'}},
'required': ['applications'],
'type': 'object'},
'CharmRelation': {'additionalProperties': False,
'properties': {'interface': {'type': 'string'},
'limit': {'type': 'integer'},
'name': {'type': 'string'},
'optional': {'type': 'boolean'},
'role': {'type': 'string'},
'scope': {'type': 'string'}},
'required': ['name',
'role',
'interface',
'optional',
'limit',
'scope'],
'type': 'object'},
'Constraints': {'additionalProperties': False,
'properties': {'Count': {'type': 'integer'},
'Pool': {'type': 'string'},
'Size': {'type': 'integer'}},
'required': ['Pool', 'Size', 'Count'],
'type': 'object'},
'DestroyApplicationUnits': {'additionalProperties': False,
'properties': {'unit-names': {'items': {'type': 'string'},
'type': 'array'}},
'required': ['unit-names'],
'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'},
'macaroon-path': {'type': 'string'}},
'type': 'object'},
'ErrorResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'}},
'type': 'object'},
'ErrorResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'GetApplicationConstraints': {'additionalProperties': False,
'properties': {'application': {'type': 'string'}},
'required': ['application'],
'type': 'object'},
'GetConstraintsResults': {'additionalProperties': False,
'properties': {'constraints': {'$ref': '#/definitions/Value'}},
'required': ['constraints'],
'type': 'object'},
'Macaroon': {'additionalProperties': False, 'type': 'object'},
'Placement': {'additionalProperties': False,
'properties': {'directive': {'type': 'string'},
'scope': {'type': 'string'}},
'required': ['scope', 'directive'],
'type': 'object'},
'SetConstraints': {'additionalProperties': False,
'properties': {'application': {'type': 'string'},
'constraints': {'$ref': '#/definitions/Value'}},
'required': ['application', 'constraints'],
'type': 'object'},
'StorageConstraints': {'additionalProperties': False,
'properties': {'count': {'type': 'integer'},
'pool': {'type': 'string'},
'size': {'type': 'integer'}},
'type': 'object'},
'StringResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'result': {'type': 'string'}},
'required': ['result'],
'type': 'object'},
'Value': {'additionalProperties': False,
'properties': {'arch': {'type': 'string'},
'container': {'type': 'string'},
'cores': {'type': 'integer'},
'cpu-power': {'type': 'integer'},
'instance-type': {'type': 'string'},
'mem': {'type': 'integer'},
'root-disk': {'type': 'integer'},
'spaces': {'items': {'type': 'string'},
'type': 'array'},
'tags': {'items': {'type': 'string'},
'type': 'array'},
'virt-type': {'type': 'string'}},
'type': 'object'}},
'properties': {'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, ~CharmRelation]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Application',
request='AddRelation',
version=3,
params=_params)
_params['endpoints'] = endpoints
reply = await self.rpc(msg)
return reply
@ReturnMapping(AddApplicationUnitsResults)
async def AddUnits(self, application, num_units, placement):
'''
application : str
num_units : int
placement : typing.Sequence[~Placement]
Returns -> typing.Sequence[str]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Application',
request='AddUnits',
version=3,
params=_params)
_params['application'] = application
_params['num-units'] = num_units
_params['placement'] = placement
reply = await self.rpc(msg)
return reply
@ReturnMapping(ApplicationCharmRelationsResults)
async def CharmRelations(self, application):
'''
application : str
Returns -> typing.Sequence[str]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Application',
request='CharmRelations',
version=3,
params=_params)
_params['application'] = application
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=3,
params=_params)
_params['applications'] = applications
reply = await self.rpc(msg)
return reply
@ReturnMapping(None)
async def Destroy(self, application):
'''
application : str
Returns -> None
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Application',
request='Destroy',
version=3,
params=_params)
_params['application'] = application
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=3,
params=_params)
_params['endpoints'] = endpoints
reply = await self.rpc(msg)
return reply
@ReturnMapping(None)
async def DestroyUnits(self, unit_names):
'''
unit_names : typing.Sequence[str]
Returns -> None
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Application',
request='DestroyUnits',
version=3,
params=_params)
_params['unit-names'] = unit_names
reply = await self.rpc(msg)
return reply
@ReturnMapping(None)
async def Expose(self, application):
'''
application : str
Returns -> None
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Application',
request='Expose',
version=3,
params=_params)
_params['application'] = application
reply = await self.rpc(msg)
return reply
@ReturnMapping(ApplicationGetResults)
async def Get(self, application):
'''
application : 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=3,
params=_params)
_params['application'] = application
reply = await self.rpc(msg)
return reply
@ReturnMapping(StringResult)
async def GetCharmURL(self, application):
'''
application : str
Returns -> typing.Union[_ForwardRef('Error'), str]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Application',
request='GetCharmURL',
version=3,
params=_params)
_params['application'] = application
reply = await self.rpc(msg)
return reply
@ReturnMapping(GetConstraintsResults)
async def GetConstraints(self, application):
'''
application : str
Returns -> Value
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Application',
request='GetConstraints',
version=3,
params=_params)
_params['application'] = application
reply = await self.rpc(msg)
return reply
@ReturnMapping(None)
async def Set(self, application, options):
'''
application : str
options : typing.Mapping[str, str]
Returns -> None
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Application',
request='Set',
version=3,
params=_params)
_params['application'] = application
_params['options'] = options
reply = await self.rpc(msg)
return reply
@ReturnMapping(None)
async def SetCharm(self, application, channel, charm_url, config_settings, config_settings_yaml, force_series, force_units, resource_ids, storage_constraints):
'''
application : str
channel : str
charm_url : str
config_settings : typing.Mapping[str, str]
config_settings_yaml : str
force_series : bool
force_units : bool
resource_ids : typing.Mapping[str, str]
storage_constraints : typing.Mapping[str, ~StorageConstraints]
Returns -> None
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Application',
request='SetCharm',
version=3,
params=_params)
_params['application'] = application
_params['channel'] = channel
_params['charm-url'] = charm_url
_params['config-settings'] = config_settings
_params['config-settings-yaml'] = config_settings_yaml
_params['force-series'] = force_series
_params['force-units'] = force_units
_params['resource-ids'] = resource_ids
_params['storage-constraints'] = storage_constraints
reply = await self.rpc(msg)
return reply
@ReturnMapping(None)
async def SetConstraints(self, application, constraints):
'''
application : str
constraints : Value
Returns -> None
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Application',
request='SetConstraints',
version=3,
params=_params)
_params['application'] = application
_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=3,
params=_params)
_params['creds'] = creds
reply = await self.rpc(msg)
return reply
@ReturnMapping(None)
async def Unexpose(self, application):
'''
application : str
Returns -> None
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Application',
request='Unexpose',
version=3,
params=_params)
_params['application'] = application
reply = await self.rpc(msg)
return reply
@ReturnMapping(None)
async def Unset(self, application, options):
'''
application : str
options : typing.Sequence[str]
Returns -> None
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Application',
request='Unset',
version=3,
params=_params)
_params['application'] = application
_params['options'] = options
reply = await self.rpc(msg)
return reply
@ReturnMapping(None)
async def Update(self, application, charm_url, constraints, force_charm_url, force_series, min_units, settings, settings_yaml):
'''
application : str
charm_url : str
constraints : Value
force_charm_url : bool
force_series : bool
min_units : int
settings : typing.Mapping[str, str]
settings_yaml : str
Returns -> None
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Application',
request='Update',
version=3,
params=_params)
_params['application'] = application
_params['charm-url'] = charm_url
_params['constraints'] = constraints
_params['force-charm-url'] = force_charm_url
_params['force-series'] = force_series
_params['min-units'] = min_units
_params['settings'] = settings
_params['settings-yaml'] = settings_yaml
reply = await self.rpc(msg)
return reply
class CloudFacade(Type):
name = 'Cloud'
version = 3
schema = {'definitions': {'AddCloudArgs': {'additionalProperties': False,
'properties': {'cloud': {'$ref': '#/definitions/Cloud'},
'name': {'type': 'string'}},
'required': ['cloud', 'name'],
'type': 'object'},
'Cloud': {'additionalProperties': False,
'properties': {'auth-types': {'items': {'type': 'string'},
'type': 'array'},
'ca-certificates': {'items': {'type': 'string'},
'type': 'array'},
'endpoint': {'type': 'string'},
'identity-endpoint': {'type': 'string'},
'regions': {'items': {'$ref': '#/definitions/CloudRegion'},
'type': 'array'},
'storage-endpoint': {'type': 'string'},
'type': {'type': 'string'}},
'required': ['type'],
'type': 'object'},
'CloudCredential': {'additionalProperties': False,
'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}},
'type': 'object'},
'auth-type': {'type': 'string'},
'redacted': {'items': {'type': 'string'},
'type': 'array'}},
'required': ['auth-type'],
'type': 'object'},
'CloudCredentialArg': {'additionalProperties': False,
'properties': {'cloud-name': {'type': 'string'},
'credential-name': {'type': 'string'}},
'required': ['cloud-name',
'credential-name'],
'type': 'object'},
'CloudCredentialArgs': {'additionalProperties': False,
'properties': {'credentials': {'items': {'$ref': '#/definitions/CloudCredentialArg'},
'type': 'array'},
'include-secrets': {'type': 'boolean'}},
'required': ['include-secrets'],
'type': 'object'},
'CloudCredentialResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'result': {'$ref': '#/definitions/CloudCredential'}},
'type': 'object'},
'CloudCredentialResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/CloudCredentialResult'},
'type': 'array'}},
'type': 'object'},
'CloudDetails': {'additionalProperties': False,
'properties': {'auth-types': {'items': {'type': 'string'},
'type': 'array'},
'endpoint': {'type': 'string'},
'identity-endpoint': {'type': 'string'},
'regions': {'items': {'$ref': '#/definitions/CloudRegion'},
'type': 'array'},
'storage-endpoint': {'type': 'string'},
'type': {'type': 'string'}},
'required': ['type'],
'type': 'object'},
'CloudInfo': {'additionalProperties': False,
'properties': {'CloudDetails': {'$ref': '#/definitions/CloudDetails'},
'users': {'items': {'$ref': '#/definitions/CloudUserInfo'},
'type': 'array'}},
'required': ['CloudDetails', 'users'],
'type': 'object'},
'CloudInfoResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'result': {'$ref': '#/definitions/CloudInfo'}},
'type': 'object'},
'CloudInfoResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/CloudInfoResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'CloudInstanceTypesConstraint': {'additionalProperties': False,
'properties': {'cloud-tag': {'type': 'string'},
'constraints': {'$ref': '#/definitions/Value'},
'region': {'type': 'string'}},
'required': ['cloud-tag',
'region'],
'type': 'object'},
'CloudInstanceTypesConstraints': {'additionalProperties': False,
'properties': {'constraints': {'items': {'$ref': '#/definitions/CloudInstanceTypesConstraint'},
'type': 'array'}},
'required': ['constraints'],
'type': 'object'},
'CloudRegion': {'additionalProperties': False,
'properties': {'endpoint': {'type': 'string'},
'identity-endpoint': {'type': 'string'},
'name': {'type': 'string'},
'storage-endpoint': {'type': 'string'}},
'required': ['name'],
'type': 'object'},
'CloudResult': {'additionalProperties': False,
'properties': {'cloud': {'$ref': '#/definitions/Cloud'},
'error': {'$ref': '#/definitions/Error'}},
'type': 'object'},
'CloudResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/CloudResult'},
'type': 'array'}},
'type': 'object'},
'CloudUserInfo': {'additionalProperties': False,
'properties': {'access': {'type': 'string'},
'display-name': {'type': 'string'},
'user': {'type': 'string'}},
'required': ['user',
'display-name',
'access'],
'type': 'object'},
'CloudsResult': {'additionalProperties': False,
'properties': {'clouds': {'patternProperties': {'.*': {'$ref': '#/definitions/Cloud'}},
'type': 'object'}},
'type': 'object'},
'ControllerCredentialInfo': {'additionalProperties': False,
'properties': {'content': {'$ref': '#/definitions/CredentialContent'},
'models': {'items': {'$ref': '#/definitions/ModelAccess'},
'type': 'array'}},
'type': 'object'},
'CredentialContent': {'additionalProperties': False,
'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}},
'type': 'object'},
'auth-type': {'type': 'string'},
'cloud': {'type': 'string'},
'name': {'type': 'string'}},
'required': ['name',
'cloud',
'auth-type'],
'type': 'object'},
'CredentialContentResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'result': {'$ref': '#/definitions/ControllerCredentialInfo'}},
'type': 'object'},
'CredentialContentResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/CredentialContentResult'},
'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'},
'macaroon-path': {'type': 'string'}},
'type': 'object'},
'ErrorResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'}},
'type': 'object'},
'ErrorResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'InstanceType': {'additionalProperties': False,
'properties': {'arches': {'items': {'type': 'string'},
'type': 'array'},
'cost': {'type': 'integer'},
'cpu-cores': {'type': 'integer'},
'deprecated': {'type': 'boolean'},
'memory': {'type': 'integer'},
'name': {'type': 'string'},
'root-disk': {'type': 'integer'},
'virt-type': {'type': 'string'}},
'required': ['arches', 'cpu-cores', 'memory'],
'type': 'object'},
'InstanceTypesResult': {'additionalProperties': False,
'properties': {'cost-currency': {'type': 'string'},
'cost-divisor': {'type': 'integer'},
'cost-unit': {'type': 'string'},
'error': {'$ref': '#/definitions/Error'},
'instance-types': {'items': {'$ref': '#/definitions/InstanceType'},
'type': 'array'}},
'type': 'object'},
'InstanceTypesResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/InstanceTypesResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'ListCloudInfo': {'additionalProperties': False,
'properties': {'CloudDetails': {'$ref': '#/definitions/CloudDetails'},
'user-access': {'type': 'string'}},
'required': ['CloudDetails', 'user-access'],
'type': 'object'},
'ListCloudInfoResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'result': {'$ref': '#/definitions/ListCloudInfo'}},
'type': 'object'},
'ListCloudInfoResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/ListCloudInfoResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'ListCloudsRequest': {'additionalProperties': False,
'properties': {'all': {'type': 'boolean'},
'user-tag': {'type': 'string'}},
'required': ['user-tag'],
'type': 'object'},
'Macaroon': {'additionalProperties': False, 'type': 'object'},
'ModelAccess': {'additionalProperties': False,
'properties': {'access': {'type': 'string'},
'model': {'type': 'string'}},
'type': 'object'},
'ModifyCloudAccess': {'additionalProperties': False,
'properties': {'access': {'type': 'string'},
'action': {'type': 'string'},
'cloud-tag': {'type': 'string'},
'user-tag': {'type': 'string'}},
'required': ['user-tag',
'cloud-tag',
'action',
'access'],
'type': 'object'},
'ModifyCloudAccessRequest': {'additionalProperties': False,
'properties': {'changes': {'items': {'$ref': '#/definitions/ModifyCloudAccess'},
'type': 'array'}},
'required': ['changes'],
'type': 'object'},
'RevokeCredentialArg': {'additionalProperties': False,
'properties': {'force': {'type': 'boolean'},
'tag': {'type': 'string'}},
'required': ['tag', 'force'],
'type': 'object'},
'RevokeCredentialArgs': {'additionalProperties': False,
'properties': {'credentials': {'items': {'$ref': '#/definitions/RevokeCredentialArg'},
'type': 'array'}},
'required': ['credentials'],
'type': 'object'},
'StringResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'result': {'type': 'string'}},
'required': ['result'],
'type': 'object'},
'StringsResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'result': {'items': {'type': 'string'},
'type': 'array'}},
'type': 'object'},
'StringsResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/StringsResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'TaggedCredential': {'additionalProperties': False,
'properties': {'credential': {'$ref': '#/definitions/CloudCredential'},
'tag': {'type': 'string'}},
'required': ['tag', 'credential'],
'type': 'object'},
'TaggedCredentials': {'additionalProperties': False,
'properties': {'credentials': {'items': {'$ref': '#/definitions/TaggedCredential'},
'type': 'array'}},
'type': 'object'},
'UpdateCredentialArgs': {'additionalProperties': False,
'properties': {'credentials': {'items': {'$ref': '#/definitions/TaggedCredential'},
'type': 'array'},
'force': {'type': 'boolean'}},
'required': ['credentials', 'force'],
'type': 'object'},
'UpdateCredentialModelResult': {'additionalProperties': False,
'properties': {'errors': {'items': {'$ref': '#/definitions/ErrorResult'},
'type': 'array'},
'name': {'type': 'string'},
'uuid': {'type': 'string'}},
'required': ['uuid', 'name'],
'type': 'object'},
'UpdateCredentialResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'models': {'items': {'$ref': '#/definitions/UpdateCredentialModelResult'},
'type': 'array'},
'tag': {'type': 'string'}},
'required': ['tag'],
'type': 'object'},
'UpdateCredentialResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/UpdateCredentialResult'},
'type': 'array'}},
'type': 'object'},
'UserCloud': {'additionalProperties': False,
'properties': {'cloud-tag': {'type': 'string'},
'user-tag': {'type': 'string'}},
'required': ['user-tag', 'cloud-tag'],
'type': 'object'},
'UserClouds': {'additionalProperties': False,
'properties': {'user-clouds': {'items': {'$ref': '#/definitions/UserCloud'},
'type': 'array'}},
'type': 'object'},
'Value': {'additionalProperties': False,
'properties': {'arch': {'type': 'string'},
'container': {'type': 'string'},
'cores': {'type': 'integer'},
'cpu-power': {'type': 'integer'},
'instance-type': {'type': 'string'},
'mem': {'type': 'integer'},
'root-disk': {'type': 'integer'},
'spaces': {'items': {'type': 'string'},
'type': 'array'},
'tags': {'items': {'type': 'string'},
'type': 'array'},
'virt-type': {'type': 'string'},
'zones': {'items': {'type': 'string'},
'type': 'array'}},
'type': 'object'}},
'properties': {'AddCloud': {'properties': {'Params': {'$ref': '#/definitions/AddCloudArgs'}},
'type': 'object'},
'AddCredentials': {'properties': {'Params': {'$ref': '#/definitions/TaggedCredentials'},
'Result': {'$ref': '#/definitions/ErrorResults'}},
'type': 'object'},
'CheckCredentialsModels': {'properties': {'Params': {'$ref': '#/definitions/TaggedCredentials'},
'Result': {'$ref': '#/definitions/UpdateCredentialResults'}},
'type': 'object'},
'Cloud': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
'Result': {'$ref': '#/definitions/CloudResults'}},
'type': 'object'},
'CloudInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
'Result': {'$ref': '#/definitions/CloudInfoResults'}},
'type': 'object'},
'Clouds': {'properties': {'Result': {'$ref': '#/definitions/CloudsResult'}},
'type': 'object'},
'Credential': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
'Result': {'$ref': '#/definitions/CloudCredentialResults'}},
'type': 'object'},
'CredentialContents': {'properties': {'Params': {'$ref': '#/definitions/CloudCredentialArgs'},
'Result': {'$ref': '#/definitions/CredentialContentResults'}},
'type': 'object'},
'DefaultCloud': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
'type': 'object'},
'InstanceTypes': {'properties': {'Params': {'$ref': '#/definitions/CloudInstanceTypesConstraints'},
'Result': {'$ref': '#/definitions/InstanceTypesResults'}},
'type': 'object'},
'ListCloudInfo': {'properties': {'Params': {'$ref': '#/definitions/ListCloudsRequest'},
'Result': {'$ref': '#/definitions/ListCloudInfoResults'}},
'type': 'object'},
'ModifyCloudAccess': {'properties': {'Params': {'$ref': '#/definitions/ModifyCloudAccessRequest'},
'Result': {'$ref': '#/definitions/ErrorResults'}},
'type': 'object'},
'RemoveClouds': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
'Result': {'$ref': '#/definitions/ErrorResults'}},
'type': 'object'},
'RevokeCredentialsCheckModels': {'properties': {'Params': {'$ref': '#/definitions/RevokeCredentialArgs'},
'Result': {'$ref': '#/definitions/ErrorResults'}},
'type': 'object'},
'UpdateCredentialsCheckModels': {'properties': {'Params': {'$ref': '#/definitions/UpdateCredentialArgs'},
'Result': {'$ref': '#/definitions/UpdateCredentialResults'}},
'type': 'object'},
'UserCredentials': {'properties': {'Params': {'$ref': '#/definitions/UserClouds'},
'Result': {'$ref': '#/definitions/StringsResults'}},
'type': 'object'}},
'type': 'object'}
@ReturnMapping(None)
async def AddCloud(self, cloud, name):
'''
cloud : Cloud
name : str
Returns -> None
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Cloud',
request='AddCloud',
version=3,
params=_params)
_params['cloud'] = cloud
_params['name'] = name
reply = await self.rpc(msg)
return reply
@ReturnMapping(ErrorResults)
async def AddCredentials(self, credentials):
'''
credentials : typing.Sequence[~TaggedCredential]
Returns -> typing.Sequence[~ErrorResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Cloud',
request='AddCredentials',
version=3,
params=_params)
_params['credentials'] = credentials
reply = await self.rpc(msg)
return reply
@ReturnMapping(UpdateCredentialResults)
async def CheckCredentialsModels(self, credentials):
'''
credentials : typing.Sequence[~TaggedCredential]
Returns -> typing.Sequence[~UpdateCredentialResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Cloud',
request='CheckCredentialsModels',
version=3,
params=_params)
_params['credentials'] = credentials
reply = await self.rpc(msg)
return reply
@ReturnMapping(CloudResults)
async def Cloud(self, entities):
'''
entities : typing.Sequence[~Entity]
Returns -> typing.Sequence[~CloudResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Cloud',
request='Cloud',
version=3,
params=_params)
_params['entities'] = entities
reply = await self.rpc(msg)
return reply
@ReturnMapping(CloudInfoResults)
async def CloudInfo(self, entities):
'''
entities : typing.Sequence[~Entity]
Returns -> typing.Sequence[~CloudInfoResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Cloud',
request='CloudInfo',
version=3,
params=_params)
_params['entities'] = entities
reply = await self.rpc(msg)
return reply
@ReturnMapping(CloudsResult)
async def Clouds(self):
'''
Returns -> typing.Mapping[str, ~Cloud]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Cloud',
request='Clouds',
version=3,
params=_params)
reply = await self.rpc(msg)
return reply
@ReturnMapping(CloudCredentialResults)
async def Credential(self, entities):
'''
entities : typing.Sequence[~Entity]
Returns -> typing.Sequence[~CloudCredentialResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Cloud',
request='Credential',
version=3,
params=_params)
_params['entities'] = entities
reply = await self.rpc(msg)
return reply
@ReturnMapping(CredentialContentResults)
async def CredentialContents(self, credentials, include_secrets):
'''
credentials : typing.Sequence[~CloudCredentialArg]
include_secrets : bool
Returns -> typing.Sequence[~CredentialContentResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Cloud',
request='CredentialContents',
version=3,
params=_params)
_params['credentials'] = credentials
_params['include-secrets'] = include_secrets
reply = await self.rpc(msg)
return reply
@ReturnMapping(StringResult)
async def DefaultCloud(self):
'''
Returns -> typing.Union[_ForwardRef('Error'), str]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Cloud',
request='DefaultCloud',
version=3,
params=_params)
reply = await self.rpc(msg)
return reply
@ReturnMapping(InstanceTypesResults)
async def InstanceTypes(self, constraints):
'''
constraints : typing.Sequence[~CloudInstanceTypesConstraint]
Returns -> typing.Sequence[~InstanceTypesResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Cloud',
request='InstanceTypes',
version=3,
params=_params)
_params['constraints'] = constraints
reply = await self.rpc(msg)
return reply
@ReturnMapping(ListCloudInfoResults)
async def ListCloudInfo(self, all_, user_tag):
'''
all_ : bool
user_tag : str
Returns -> typing.Sequence[~ListCloudInfoResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Cloud',
request='ListCloudInfo',
version=3,
params=_params)
_params['all'] = all_
_params['user-tag'] = user_tag
reply = await self.rpc(msg)
return reply
@ReturnMapping(ErrorResults)
async def ModifyCloudAccess(self, changes):
'''
changes : typing.Sequence[~ModifyCloudAccess]
Returns -> typing.Sequence[~ErrorResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Cloud',
request='ModifyCloudAccess',
version=3,
params=_params)
_params['changes'] = changes
reply = await self.rpc(msg)
return reply
@ReturnMapping(ErrorResults)
async def RemoveClouds(self, entities):
'''
entities : typing.Sequence[~Entity]
Returns -> typing.Sequence[~ErrorResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Cloud',
request='RemoveClouds',
version=3,
params=_params)
_params['entities'] = entities
reply = await self.rpc(msg)
return reply
@ReturnMapping(ErrorResults)
async def RevokeCredentialsCheckModels(self, credentials):
'''
credentials : typing.Sequence[~RevokeCredentialArg]
Returns -> typing.Sequence[~ErrorResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Cloud',
request='RevokeCredentialsCheckModels',
version=3,
params=_params)
_params['credentials'] = credentials
reply = await self.rpc(msg)
return reply
@ReturnMapping(UpdateCredentialResults)
async def UpdateCredentialsCheckModels(self, credentials, force):
'''
credentials : typing.Sequence[~TaggedCredential]
force : bool
Returns -> typing.Sequence[~UpdateCredentialResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Cloud',
request='UpdateCredentialsCheckModels',
version=3,
params=_params)
_params['credentials'] = credentials
_params['force'] = force
reply = await self.rpc(msg)
return reply
@ReturnMapping(StringsResults)
async def UserCredentials(self, user_clouds):
'''
user_clouds : typing.Sequence[~UserCloud]
Returns -> typing.Sequence[~StringsResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Cloud',
request='UserCredentials',
version=3,
params=_params)
_params['user-clouds'] = user_clouds
reply = await self.rpc(msg)
return reply
class ControllerFacade(Type):
name = 'Controller'
version = 3
schema = {'definitions': {'AllWatcherId': {'additionalProperties': False,
'properties': {'watcher-id': {'type': 'string'}},
'required': ['watcher-id'],
'type': 'object'},
'CloudCredential': {'additionalProperties': False,
'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}},
'type': 'object'},
'auth-type': {'type': 'string'},
'redacted': {'items': {'type': 'string'},
'type': 'array'}},
'required': ['auth-type'],
'type': 'object'},
'CloudSpec': {'additionalProperties': False,
'properties': {'credential': {'$ref': '#/definitions/CloudCredential'},
'endpoint': {'type': 'string'},
'identity-endpoint': {'type': 'string'},
'name': {'type': 'string'},
'region': {'type': 'string'},
'storage-endpoint': {'type': 'string'},
'type': {'type': 'string'}},
'required': ['type', 'name'],
'type': 'object'},
'CloudSpecResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'result': {'$ref': '#/definitions/CloudSpec'}},
'type': 'object'},
'CloudSpecResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/CloudSpecResult'},
'type': 'array'}},
'type': 'object'},
'ConfigValue': {'additionalProperties': False,
'properties': {'source': {'type': 'string'},
'value': {'additionalProperties': True,
'type': 'object'}},
'required': ['value', 'source'],
'type': 'object'},
'ControllerConfigResult': {'additionalProperties': False,
'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
'type': 'object'}},
'type': 'object'}},
'required': ['config'],
'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'},
'macaroon-path': {'type': 'string'}},
'type': 'object'},
'ErrorResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'}},
'type': 'object'},
'ErrorResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'HostedModelConfig': {'additionalProperties': False,
'properties': {'cloud-spec': {'$ref': '#/definitions/CloudSpec'},
'config': {'patternProperties': {'.*': {'additionalProperties': True,
'type': 'object'}},
'type': 'object'},
'error': {'$ref': '#/definitions/Error'},
'name': {'type': 'string'},
'owner': {'type': 'string'}},
'required': ['name', 'owner'],
'type': 'object'},
'HostedModelConfigsResults': {'additionalProperties': False,
'properties': {'models': {'items': {'$ref': '#/definitions/HostedModelConfig'},
'type': 'array'}},
'required': ['models'],
'type': 'object'},
'InitiateMigrationArgs': {'additionalProperties': False,
'properties': {'specs': {'items': {'$ref': '#/definitions/MigrationSpec'},
'type': 'array'}},
'required': ['specs'],
'type': 'object'},
'InitiateMigrationResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'migration-id': {'type': 'string'},
'model-tag': {'type': 'string'}},
'required': ['model-tag',
'migration-id'],
'type': 'object'},
'InitiateMigrationResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/InitiateMigrationResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'Macaroon': {'additionalProperties': False, 'type': 'object'},
'MachineHardware': {'additionalProperties': False,
'properties': {'arch': {'type': 'string'},
'availability-zone': {'type': 'string'},
'cores': {'type': 'integer'},
'cpu-power': {'type': 'integer'},
'mem': {'type': 'integer'},
'root-disk': {'type': 'integer'},
'tags': {'items': {'type': 'string'},
'type': 'array'}},
'type': 'object'},
'MigrationSpec': {'additionalProperties': False,
'properties': {'model-tag': {'type': 'string'},
'target-info': {'$ref': '#/definitions/MigrationTargetInfo'}},
'required': ['model-tag', 'target-info'],
'type': 'object'},
'MigrationTargetInfo': {'additionalProperties': False,
'properties': {'addrs': {'items': {'type': 'string'},
'type': 'array'},
'auth-tag': {'type': 'string'},
'ca-cert': {'type': 'string'},
'controller-tag': {'type': 'string'},
'macaroons': {'type': 'string'},
'password': {'type': 'string'}},
'required': ['controller-tag',
'addrs',
'ca-cert',
'auth-tag'],
'type': 'object'},
'Model': {'additionalProperties': False,
'properties': {'name': {'type': 'string'},
'owner-tag': {'type': 'string'},
'uuid': {'type': 'string'}},
'required': ['name', 'uuid', 'owner-tag'],
'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': {'.*': {'$ref': '#/definitions/ConfigValue'}},
'type': 'object'}},
'required': ['config'],
'type': 'object'},
'ModelMachineInfo': {'additionalProperties': False,
'properties': {'hardware': {'$ref': '#/definitions/MachineHardware'},
'has-vote': {'type': 'boolean'},
'id': {'type': 'string'},
'instance-id': {'type': 'string'},
'status': {'type': 'string'},
'wants-vote': {'type': 'boolean'}},
'required': ['id'],
'type': 'object'},
'ModelStatus': {'additionalProperties': False,
'properties': {'application-count': {'type': 'integer'},
'hosted-machine-count': {'type': 'integer'},
'life': {'type': 'string'},
'machines': {'items': {'$ref': '#/definitions/ModelMachineInfo'},
'type': 'array'},
'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'},
'ModelTag': {'additionalProperties': False, 'type': 'object'},
'ModifyControllerAccess': {'additionalProperties': False,
'properties': {'access': {'type': 'string'},
'action': {'type': 'string'},
'user-tag': {'type': 'string'}},
'required': ['user-tag',
'action',
'access'],
'type': 'object'},
'ModifyControllerAccessRequest': {'additionalProperties': False,
'properties': {'changes': {'items': {'$ref': '#/definitions/ModifyControllerAccess'},
'type': 'array'}},
'required': ['changes'],
'type': 'object'},
'RemoveBlocksArgs': {'additionalProperties': False,
'properties': {'all': {'type': 'boolean'}},
'required': ['all'],
'type': 'object'},
'UserAccess': {'additionalProperties': False,
'properties': {'access': {'type': 'string'},
'user-tag': {'type': 'string'}},
'required': ['user-tag', 'access'],
'type': 'object'},
'UserAccessResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'result': {'$ref': '#/definitions/UserAccess'}},
'type': 'object'},
'UserAccessResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/UserAccessResult'},
'type': 'array'}},
'type': 'object'},
'UserModel': {'additionalProperties': False,
'properties': {'last-connection': {'format': 'date-time',
'type': 'string'},
'model': {'$ref': '#/definitions/Model'}},
'required': ['model', 'last-connection'],
'type': 'object'},
'UserModelList': {'additionalProperties': False,
'properties': {'user-models': {'items': {'$ref': '#/definitions/UserModel'},
'type': 'array'}},
'required': ['user-models'],
'type': 'object'}},
'properties': {'AllModels': {'properties': {'Result': {'$ref': '#/definitions/UserModelList'}},
'type': 'object'},
'CloudSpec': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
'Result': {'$ref': '#/definitions/CloudSpecResults'}},
'type': 'object'},
'ControllerConfig': {'properties': {'Result': {'$ref': '#/definitions/ControllerConfigResult'}},
'type': 'object'},
'DestroyController': {'properties': {'Params': {'$ref': '#/definitions/DestroyControllerArgs'}},
'type': 'object'},
'GetCloudSpec': {'properties': {'Params': {'$ref': '#/definitions/ModelTag'},
'Result': {'$ref': '#/definitions/CloudSpecResult'}},
'type': 'object'},
'GetControllerAccess': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
'Result': {'$ref': '#/definitions/UserAccessResults'}},
'type': 'object'},
'HostedModelConfigs': {'properties': {'Result': {'$ref': '#/definitions/HostedModelConfigsResults'}},
'type': 'object'},
'InitiateMigration': {'properties': {'Params': {'$ref': '#/definitions/InitiateMigrationArgs'},
'Result': {'$ref': '#/definitions/InitiateMigrationResults'}},
'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'},
'ModifyControllerAccess': {'properties': {'Params': {'$ref': '#/definitions/ModifyControllerAccessRequest'},
'Result': {'$ref': '#/definitions/ErrorResults'}},
'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(CloudSpecResults)
async def CloudSpec(self, entities):
'''
entities : typing.Sequence[~Entity]
Returns -> typing.Sequence[~CloudSpecResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Controller',
request='CloudSpec',
version=3,
params=_params)
_params['entities'] = entities
reply = await self.rpc(msg)
return reply
@ReturnMapping(ControllerConfigResult)
async def ControllerConfig(self):
'''
Returns -> typing.Mapping[str, typing.Any]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Controller',
request='ControllerConfig',
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(CloudSpecResult)
async def GetCloudSpec(self):
'''
Returns -> typing.Union[_ForwardRef('Error'), _ForwardRef('CloudSpec')]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Controller',
request='GetCloudSpec',
version=3,
params=_params)
reply = await self.rpc(msg)
return reply
@ReturnMapping(UserAccessResults)
async def GetControllerAccess(self, entities):
'''
entities : typing.Sequence[~Entity]
Returns -> typing.Sequence[~UserAccessResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Controller',
request='GetControllerAccess',
version=3,
params=_params)
_params['entities'] = entities
reply = await self.rpc(msg)
return reply
@ReturnMapping(HostedModelConfigsResults)
async def HostedModelConfigs(self):
'''
Returns -> typing.Sequence[~HostedModelConfig]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Controller',
request='HostedModelConfigs',
version=3,
params=_params)
reply = await self.rpc(msg)
return reply
@ReturnMapping(InitiateMigrationResults)
async def InitiateMigration(self, specs):
'''
specs : typing.Sequence[~MigrationSpec]
Returns -> typing.Sequence[~InitiateMigrationResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Controller',
request='InitiateMigration',
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, ~ConfigValue]
'''
# 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(ErrorResults)
async def ModifyControllerAccess(self, changes):
'''
changes : typing.Sequence[~ModifyControllerAccess]
Returns -> typing.Sequence[~ErrorResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Controller',
request='ModifyControllerAccess',
version=3,
params=_params)
_params['changes'] = changes
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 FirewallerFacade(Type):
name = 'Firewaller'
version = 3
schema = {'definitions': {'BoolResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'result': {'type': 'boolean'}},
'required': ['result'],
'type': 'object'},
'BoolResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/BoolResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'CloudCredential': {'additionalProperties': False,
'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}},
'type': 'object'},
'auth-type': {'type': 'string'},
'redacted': {'items': {'type': 'string'},
'type': 'array'}},
'required': ['auth-type'],
'type': 'object'},
'CloudSpec': {'additionalProperties': False,
'properties': {'credential': {'$ref': '#/definitions/CloudCredential'},
'endpoint': {'type': 'string'},
'identity-endpoint': {'type': 'string'},
'name': {'type': 'string'},
'region': {'type': 'string'},
'storage-endpoint': {'type': 'string'},
'type': {'type': 'string'}},
'required': ['type', 'name'],
'type': 'object'},
'CloudSpecResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'result': {'$ref': '#/definitions/CloudSpec'}},
'type': 'object'},
'CloudSpecResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/CloudSpecResult'},
'type': 'array'}},
'type': 'object'},
'Entities': {'additionalProperties': False,
'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
'type': 'array'}},
'required': ['entities'],
'type': 'object'},
'Entity': {'additionalProperties': False,
'properties': {'tag': {'type': 'string'}},
'required': ['tag'],
'type': 'object'},
'Error': {'additionalProperties': False,
'properties': {'code': {'type': 'string'},
'info': {'$ref': '#/definitions/ErrorInfo'},
'message': {'type': 'string'}},
'required': ['message', 'code'],
'type': 'object'},
'ErrorInfo': {'additionalProperties': False,
'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
'macaroon-path': {'type': 'string'}},
'type': 'object'},
'LifeResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'life': {'type': 'string'}},
'required': ['life'],
'type': 'object'},
'LifeResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'Macaroon': {'additionalProperties': False, 'type': 'object'},
'MachinePortRange': {'additionalProperties': False,
'properties': {'port-range': {'$ref': '#/definitions/PortRange'},
'relation-tag': {'type': 'string'},
'unit-tag': {'type': 'string'}},
'required': ['unit-tag',
'relation-tag',
'port-range'],
'type': 'object'},
'MachinePorts': {'additionalProperties': False,
'properties': {'machine-tag': {'type': 'string'},
'subnet-tag': {'type': 'string'}},
'required': ['machine-tag', 'subnet-tag'],
'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': ['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'},
'ModelTag': {'additionalProperties': False, 'type': 'object'},
'NotifyWatchResult': {'additionalProperties': False,
'properties': {'NotifyWatcherId': {'type': 'string'},
'error': {'$ref': '#/definitions/Error'}},
'required': ['NotifyWatcherId'],
'type': 'object'},
'NotifyWatchResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'PortRange': {'additionalProperties': False,
'properties': {'from-port': {'type': 'integer'},
'protocol': {'type': 'string'},
'to-port': {'type': 'integer'}},
'required': ['from-port', 'to-port', 'protocol'],
'type': 'object'},
'StringResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'result': {'type': 'string'}},
'required': ['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'}},
'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'},
'watcher-id': {'type': 'string'}},
'required': ['watcher-id'],
'type': 'object'},
'StringsWatchResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'}},
'properties': {'CloudSpec': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
'Result': {'$ref': '#/definitions/CloudSpecResults'}},
'type': 'object'},
'GetAssignedMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
'Result': {'$ref': '#/definitions/StringResults'}},
'type': 'object'},
'GetCloudSpec': {'properties': {'Params': {'$ref': '#/definitions/ModelTag'},
'Result': {'$ref': '#/definitions/CloudSpecResult'}},
'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(CloudSpecResults)
async def CloudSpec(self, entities):
'''
entities : typing.Sequence[~Entity]
Returns -> typing.Sequence[~CloudSpecResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Firewaller',
request='CloudSpec',
version=3,
params=_params)
_params['entities'] = entities
reply = await self.rpc(msg)
return reply
@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(CloudSpecResult)
async def GetCloudSpec(self):
'''
Returns -> typing.Union[_ForwardRef('Error'), _ForwardRef('CloudSpec')]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Firewaller',
request='GetCloudSpec',
version=3,
params=_params)
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[str, _ForwardRef('Error')]
'''
# 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'), str]
'''
# 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 ImageMetadataFacade(Type):
name = 'ImageMetadata'
version = 3
schema = {'properties': {'UpdateFromPublishedImages': {'type': 'object'}},
'type': 'object'}
@ReturnMapping(None)
async def UpdateFromPublishedImages(self):
'''
Returns -> None
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='ImageMetadata',
request='UpdateFromPublishedImages',
version=3,
params=_params)
reply = await self.rpc(msg)
return reply
class InstancePollerFacade(Type):
name = 'InstancePoller'
version = 3
schema = {'definitions': {'Address': {'additionalProperties': False,
'properties': {'scope': {'type': 'string'},
'space-name': {'type': 'string'},
'type': {'type': 'string'},
'value': {'type': 'string'}},
'required': ['value', 'type', 'scope'],
'type': 'object'},
'BoolResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'result': {'type': 'boolean'}},
'required': ['result'],
'type': 'object'},
'BoolResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/BoolResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'Entities': {'additionalProperties': False,
'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
'type': 'array'}},
'required': ['entities'],
'type': 'object'},
'Entity': {'additionalProperties': False,
'properties': {'tag': {'type': 'string'}},
'required': ['tag'],
'type': 'object'},
'EntityStatusArgs': {'additionalProperties': False,
'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
'type': 'object'}},
'type': 'object'},
'info': {'type': 'string'},
'status': {'type': 'string'},
'tag': {'type': 'string'}},
'required': ['tag',
'status',
'info',
'data'],
'type': 'object'},
'Error': {'additionalProperties': False,
'properties': {'code': {'type': 'string'},
'info': {'$ref': '#/definitions/ErrorInfo'},
'message': {'type': 'string'}},
'required': ['message', 'code'],
'type': 'object'},
'ErrorInfo': {'additionalProperties': False,
'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
'macaroon-path': {'type': 'string'}},
'type': 'object'},
'ErrorResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'}},
'type': 'object'},
'ErrorResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'LifeResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'life': {'type': 'string'}},
'required': ['life'],
'type': 'object'},
'LifeResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'Macaroon': {'additionalProperties': False, 'type': 'object'},
'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': ['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': {'NotifyWatcherId': {'type': 'string'},
'error': {'$ref': '#/definitions/Error'}},
'required': ['NotifyWatcherId'],
'type': 'object'},
'SetMachinesAddresses': {'additionalProperties': False,
'properties': {'machine-addresses': {'items': {'$ref': '#/definitions/MachineAddresses'},
'type': 'array'}},
'required': ['machine-addresses'],
'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': ['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': ['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'},
'watcher-id': {'type': 'string'}},
'required': ['watcher-id'],
'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, machine_addresses):
'''
machine_addresses : 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['machine-addresses'] = machine_addresses
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[str, _ForwardRef('Error')]
'''
# 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'), str]
'''
# 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 MachineManagerFacade(Type):
name = 'MachineManager'
version = 3
schema = {'definitions': {'AddMachineParams': {'additionalProperties': False,
'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'},
'type': 'array'},
'constraints': {'$ref': '#/definitions/Value'},
'container-type': {'type': 'string'},
'disks': {'items': {'$ref': '#/definitions/Constraints'},
'type': 'array'},
'hardware-characteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
'instance-id': {'type': 'string'},
'jobs': {'items': {'type': 'string'},
'type': 'array'},
'nonce': {'type': 'string'},
'parent-id': {'type': 'string'},
'placement': {'$ref': '#/definitions/Placement'},
'series': {'type': 'string'}},
'required': ['series',
'constraints',
'jobs',
'parent-id',
'container-type',
'instance-id',
'nonce',
'hardware-characteristics',
'addresses'],
'type': 'object'},
'AddMachines': {'additionalProperties': False,
'properties': {'params': {'items': {'$ref': '#/definitions/AddMachineParams'},
'type': 'array'}},
'required': ['params'],
'type': 'object'},
'AddMachinesResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'machine': {'type': 'string'}},
'required': ['machine'],
'type': 'object'},
'AddMachinesResults': {'additionalProperties': False,
'properties': {'machines': {'items': {'$ref': '#/definitions/AddMachinesResult'},
'type': 'array'}},
'required': ['machines'],
'type': 'object'},
'Address': {'additionalProperties': False,
'properties': {'scope': {'type': 'string'},
'space-name': {'type': 'string'},
'type': {'type': 'string'},
'value': {'type': 'string'}},
'required': ['value', 'type', 'scope'],
'type': 'object'},
'Constraints': {'additionalProperties': False,
'properties': {'Count': {'type': 'integer'},
'Pool': {'type': 'string'},
'Size': {'type': 'integer'}},
'required': ['Pool', 'Size', 'Count'],
'type': 'object'},
'DestroyMachineInfo': {'additionalProperties': False,
'properties': {'destroyed-storage': {'items': {'$ref': '#/definitions/Entity'},
'type': 'array'},
'destroyed-units': {'items': {'$ref': '#/definitions/Entity'},
'type': 'array'},
'detached-storage': {'items': {'$ref': '#/definitions/Entity'},
'type': 'array'}},
'type': 'object'},
'DestroyMachineResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'info': {'$ref': '#/definitions/DestroyMachineInfo'}},
'type': 'object'},
'DestroyMachineResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/DestroyMachineResult'},
'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'},
'macaroon-path': {'type': 'string'}},
'type': 'object'},
'HardwareCharacteristics': {'additionalProperties': False,
'properties': {'arch': {'type': 'string'},
'availability-zone': {'type': 'string'},
'cpu-cores': {'type': 'integer'},
'cpu-power': {'type': 'integer'},
'mem': {'type': 'integer'},
'root-disk': {'type': 'integer'},
'tags': {'items': {'type': 'string'},
'type': 'array'}},
'type': 'object'},
'InstanceType': {'additionalProperties': False,
'properties': {'arches': {'items': {'type': 'string'},
'type': 'array'},
'cost': {'type': 'integer'},
'cpu-cores': {'type': 'integer'},
'deprecated': {'type': 'boolean'},
'memory': {'type': 'integer'},
'name': {'type': 'string'},
'root-disk': {'type': 'integer'},
'virt-type': {'type': 'string'}},
'required': ['arches', 'cpu-cores', 'memory'],
'type': 'object'},
'InstanceTypesResult': {'additionalProperties': False,
'properties': {'cost-currency': {'type': 'string'},
'cost-divisor': {'type': 'integer'},
'cost-unit': {'type': 'string'},
'error': {'$ref': '#/definitions/Error'},
'instance-types': {'items': {'$ref': '#/definitions/InstanceType'},
'type': 'array'}},
'type': 'object'},
'InstanceTypesResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/InstanceTypesResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'Macaroon': {'additionalProperties': False, 'type': 'object'},
'ModelInstanceTypesConstraint': {'additionalProperties': False,
'properties': {'value': {'$ref': '#/definitions/Value'}},
'type': 'object'},
'ModelInstanceTypesConstraints': {'additionalProperties': False,
'properties': {'constraints': {'items': {'$ref': '#/definitions/ModelInstanceTypesConstraint'},
'type': 'array'}},
'required': ['constraints'],
'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'},
'cores': {'type': 'integer'},
'cpu-power': {'type': 'integer'},
'instance-type': {'type': 'string'},
'mem': {'type': 'integer'},
'root-disk': {'type': 'integer'},
'spaces': {'items': {'type': 'string'},
'type': 'array'},
'tags': {'items': {'type': 'string'},
'type': 'array'},
'virt-type': {'type': 'string'}},
'type': 'object'}},
'properties': {'AddMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
'Result': {'$ref': '#/definitions/AddMachinesResults'}},
'type': 'object'},
'DestroyMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
'Result': {'$ref': '#/definitions/DestroyMachineResults'}},
'type': 'object'},
'ForceDestroyMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
'Result': {'$ref': '#/definitions/DestroyMachineResults'}},
'type': 'object'},
'InstanceTypes': {'properties': {'Params': {'$ref': '#/definitions/ModelInstanceTypesConstraints'},
'Result': {'$ref': '#/definitions/InstanceTypesResults'}},
'type': 'object'}},
'type': 'object'}
@ReturnMapping(AddMachinesResults)
async def AddMachines(self, params):
'''
params : typing.Sequence[~AddMachineParams]
Returns -> typing.Sequence[~AddMachinesResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='MachineManager',
request='AddMachines',
version=3,
params=_params)
_params['params'] = params
reply = await self.rpc(msg)
return reply
@ReturnMapping(DestroyMachineResults)
async def DestroyMachine(self, entities):
'''
entities : typing.Sequence[~Entity]
Returns -> typing.Sequence[~DestroyMachineResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='MachineManager',
request='DestroyMachine',
version=3,
params=_params)
_params['entities'] = entities
reply = await self.rpc(msg)
return reply
@ReturnMapping(DestroyMachineResults)
async def ForceDestroyMachine(self, entities):
'''
entities : typing.Sequence[~Entity]
Returns -> typing.Sequence[~DestroyMachineResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='MachineManager',
request='ForceDestroyMachine',
version=3,
params=_params)
_params['entities'] = entities
reply = await self.rpc(msg)
return reply
@ReturnMapping(InstanceTypesResults)
async def InstanceTypes(self, constraints):
'''
constraints : typing.Sequence[~ModelInstanceTypesConstraint]
Returns -> typing.Sequence[~InstanceTypesResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='MachineManager',
request='InstanceTypes',
version=3,
params=_params)
_params['constraints'] = constraints
reply = await self.rpc(msg)
return reply
class ModelManagerFacade(Type):
name = 'ModelManager'
version = 3
schema = {'definitions': {'DumpModelRequest': {'additionalProperties': False,
'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
'type': 'array'},
'simplified': {'type': 'boolean'}},
'required': ['entities', 'simplified'],
'type': 'object'},
'Entities': {'additionalProperties': False,
'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
'type': 'array'}},
'required': ['entities'],
'type': 'object'},
'Entity': {'additionalProperties': False,
'properties': {'tag': {'type': 'string'}},
'required': ['tag'],
'type': 'object'},
'EntityStatus': {'additionalProperties': False,
'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
'type': 'object'}},
'type': 'object'},
'info': {'type': 'string'},
'since': {'format': 'date-time',
'type': 'string'},
'status': {'type': 'string'}},
'required': ['status', 'info', 'since'],
'type': 'object'},
'Error': {'additionalProperties': False,
'properties': {'code': {'type': 'string'},
'info': {'$ref': '#/definitions/ErrorInfo'},
'message': {'type': 'string'}},
'required': ['message', 'code'],
'type': 'object'},
'ErrorInfo': {'additionalProperties': False,
'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
'macaroon-path': {'type': 'string'}},
'type': 'object'},
'ErrorResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'}},
'type': 'object'},
'ErrorResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'Macaroon': {'additionalProperties': False, 'type': 'object'},
'MachineHardware': {'additionalProperties': False,
'properties': {'arch': {'type': 'string'},
'availability-zone': {'type': 'string'},
'cores': {'type': 'integer'},
'cpu-power': {'type': 'integer'},
'mem': {'type': 'integer'},
'root-disk': {'type': 'integer'},
'tags': {'items': {'type': 'string'},
'type': 'array'}},
'type': 'object'},
'MapResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'result': {'patternProperties': {'.*': {'additionalProperties': True,
'type': 'object'}},
'type': 'object'}},
'required': ['result'],
'type': 'object'},
'MapResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/MapResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'Model': {'additionalProperties': False,
'properties': {'name': {'type': 'string'},
'owner-tag': {'type': 'string'},
'uuid': {'type': 'string'}},
'required': ['name', 'uuid', 'owner-tag'],
'type': 'object'},
'ModelCreateArgs': {'additionalProperties': False,
'properties': {'cloud-tag': {'type': 'string'},
'config': {'patternProperties': {'.*': {'additionalProperties': True,
'type': 'object'}},
'type': 'object'},
'credential': {'type': 'string'},
'name': {'type': 'string'},
'owner-tag': {'type': 'string'},
'region': {'type': 'string'}},
'required': ['name', 'owner-tag'],
'type': 'object'},
'ModelDefaultValues': {'additionalProperties': False,
'properties': {'cloud-region': {'type': 'string'},
'cloud-tag': {'type': 'string'},
'config': {'patternProperties': {'.*': {'additionalProperties': True,
'type': 'object'}},
'type': 'object'}},
'required': ['config'],
'type': 'object'},
'ModelDefaults': {'additionalProperties': False,
'properties': {'controller': {'additionalProperties': True,
'type': 'object'},
'default': {'additionalProperties': True,
'type': 'object'},
'regions': {'items': {'$ref': '#/definitions/RegionDefaults'},
'type': 'array'}},
'type': 'object'},
'ModelDefaultsResult': {'additionalProperties': False,
'properties': {'config': {'patternProperties': {'.*': {'$ref': '#/definitions/ModelDefaults'}},
'type': 'object'}},
'required': ['config'],
'type': 'object'},
'ModelInfo': {'additionalProperties': False,
'properties': {'agent-version': {'$ref': '#/definitions/Number'},
'cloud-credential-tag': {'type': 'string'},
'cloud-region': {'type': 'string'},
'cloud-tag': {'type': 'string'},
'controller-uuid': {'type': 'string'},
'default-series': {'type': 'string'},
'life': {'type': 'string'},
'machines': {'items': {'$ref': '#/definitions/ModelMachineInfo'},
'type': 'array'},
'migration': {'$ref': '#/definitions/ModelMigrationStatus'},
'name': {'type': 'string'},
'owner-tag': {'type': 'string'},
'provider-type': {'type': 'string'},
'sla': {'$ref': '#/definitions/ModelSLAInfo'},
'status': {'$ref': '#/definitions/EntityStatus'},
'users': {'items': {'$ref': '#/definitions/ModelUserInfo'},
'type': 'array'},
'uuid': {'type': 'string'}},
'required': ['name',
'uuid',
'controller-uuid',
'cloud-tag',
'owner-tag',
'life',
'users',
'machines',
'sla',
'agent-version'],
'type': 'object'},
'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'},
'ModelMachineInfo': {'additionalProperties': False,
'properties': {'hardware': {'$ref': '#/definitions/MachineHardware'},
'has-vote': {'type': 'boolean'},
'id': {'type': 'string'},
'instance-id': {'type': 'string'},
'status': {'type': 'string'},
'wants-vote': {'type': 'boolean'}},
'required': ['id'],
'type': 'object'},
'ModelMigrationStatus': {'additionalProperties': False,
'properties': {'end': {'format': 'date-time',
'type': 'string'},
'start': {'format': 'date-time',
'type': 'string'},
'status': {'type': 'string'}},
'required': ['status', 'start'],
'type': 'object'},
'ModelSLAInfo': {'additionalProperties': False,
'properties': {'level': {'type': 'string'},
'owner': {'type': 'string'}},
'required': ['level', 'owner'],
'type': 'object'},
'ModelStatus': {'additionalProperties': False,
'properties': {'application-count': {'type': 'integer'},
'hosted-machine-count': {'type': 'integer'},
'life': {'type': 'string'},
'machines': {'items': {'$ref': '#/definitions/ModelMachineInfo'},
'type': 'array'},
'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'},
'ModelUnsetKeys': {'additionalProperties': False,
'properties': {'cloud-region': {'type': 'string'},
'cloud-tag': {'type': 'string'},
'keys': {'items': {'type': 'string'},
'type': 'array'}},
'required': ['keys'],
'type': 'object'},
'ModelUserInfo': {'additionalProperties': False,
'properties': {'access': {'type': 'string'},
'display-name': {'type': 'string'},
'last-connection': {'format': 'date-time',
'type': 'string'},
'user': {'type': 'string'}},
'required': ['user',
'display-name',
'last-connection',
'access'],
'type': 'object'},
'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'},
'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'},
'RegionDefaults': {'additionalProperties': False,
'properties': {'region-name': {'type': 'string'},
'value': {'additionalProperties': True,
'type': 'object'}},
'required': ['region-name', 'value'],
'type': 'object'},
'SetModelDefaults': {'additionalProperties': False,
'properties': {'config': {'items': {'$ref': '#/definitions/ModelDefaultValues'},
'type': 'array'}},
'required': ['config'],
'type': 'object'},
'StringResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'result': {'type': 'string'}},
'required': ['result'],
'type': 'object'},
'StringResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'UnsetModelDefaults': {'additionalProperties': False,
'properties': {'keys': {'items': {'$ref': '#/definitions/ModelUnsetKeys'},
'type': 'array'}},
'required': ['keys'],
'type': 'object'},
'UserModel': {'additionalProperties': False,
'properties': {'last-connection': {'format': 'date-time',
'type': 'string'},
'model': {'$ref': '#/definitions/Model'}},
'required': ['model', 'last-connection'],
'type': 'object'},
'UserModelList': {'additionalProperties': False,
'properties': {'user-models': {'items': {'$ref': '#/definitions/UserModel'},
'type': 'array'}},
'required': ['user-models'],
'type': 'object'}},
'properties': {'CreateModel': {'properties': {'Params': {'$ref': '#/definitions/ModelCreateArgs'},
'Result': {'$ref': '#/definitions/ModelInfo'}},
'type': 'object'},
'DestroyModels': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
'Result': {'$ref': '#/definitions/ErrorResults'}},
'type': 'object'},
'DumpModels': {'properties': {'Params': {'$ref': '#/definitions/DumpModelRequest'},
'Result': {'$ref': '#/definitions/StringResults'}},
'type': 'object'},
'DumpModelsDB': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
'Result': {'$ref': '#/definitions/MapResults'}},
'type': 'object'},
'ListModels': {'properties': {'Params': {'$ref': '#/definitions/Entity'},
'Result': {'$ref': '#/definitions/UserModelList'}},
'type': 'object'},
'ModelDefaults': {'properties': {'Result': {'$ref': '#/definitions/ModelDefaultsResult'}},
'type': 'object'},
'ModelInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
'Result': {'$ref': '#/definitions/ModelInfoResults'}},
'type': 'object'},
'ModelStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
'Result': {'$ref': '#/definitions/ModelStatusResults'}},
'type': 'object'},
'ModifyModelAccess': {'properties': {'Params': {'$ref': '#/definitions/ModifyModelAccessRequest'},
'Result': {'$ref': '#/definitions/ErrorResults'}},
'type': 'object'},
'SetModelDefaults': {'properties': {'Params': {'$ref': '#/definitions/SetModelDefaults'},
'Result': {'$ref': '#/definitions/ErrorResults'}},
'type': 'object'},
'UnsetModelDefaults': {'properties': {'Params': {'$ref': '#/definitions/UnsetModelDefaults'},
'Result': {'$ref': '#/definitions/ErrorResults'}},
'type': 'object'}},
'type': 'object'}
@ReturnMapping(ModelInfo)
async def CreateModel(self, cloud_tag, config, credential, name, owner_tag, region):
'''
cloud_tag : str
config : typing.Mapping[str, typing.Any]
credential : str
name : str
owner_tag : str
region : str
Returns -> typing.Union[_ForwardRef('Number'), str, typing.Sequence[~ModelMachineInfo], _ForwardRef('ModelMigrationStatus'), _ForwardRef('ModelSLAInfo'), _ForwardRef('EntityStatus'), typing.Sequence[~ModelUserInfo]]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='ModelManager',
request='CreateModel',
version=3,
params=_params)
_params['cloud-tag'] = cloud_tag
_params['config'] = config
_params['credential'] = credential
_params['name'] = name
_params['owner-tag'] = owner_tag
_params['region'] = region
reply = await self.rpc(msg)
return reply
@ReturnMapping(ErrorResults)
async def DestroyModels(self, entities):
'''
entities : typing.Sequence[~Entity]
Returns -> typing.Sequence[~ErrorResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='ModelManager',
request='DestroyModels',
version=3,
params=_params)
_params['entities'] = entities
reply = await self.rpc(msg)
return reply
@ReturnMapping(StringResults)
async def DumpModels(self, entities, simplified):
'''
entities : typing.Sequence[~Entity]
simplified : bool
Returns -> typing.Sequence[~StringResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='ModelManager',
request='DumpModels',
version=3,
params=_params)
_params['entities'] = entities
_params['simplified'] = simplified
reply = await self.rpc(msg)
return reply
@ReturnMapping(MapResults)
async def DumpModelsDB(self, entities):
'''
entities : typing.Sequence[~Entity]
Returns -> typing.Sequence[~MapResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='ModelManager',
request='DumpModelsDB',
version=3,
params=_params)
_params['entities'] = entities
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=3,
params=_params)
_params['tag'] = tag
reply = await self.rpc(msg)
return reply
@ReturnMapping(ModelDefaultsResult)
async def ModelDefaults(self):
'''
Returns -> typing.Mapping[str, ~ModelDefaults]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='ModelManager',
request='ModelDefaults',
version=3,
params=_params)
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=3,
params=_params)
_params['entities'] = entities
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='ModelManager',
request='ModelStatus',
version=3,
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=3,
params=_params)
_params['changes'] = changes
reply = await self.rpc(msg)
return reply
@ReturnMapping(ErrorResults)
async def SetModelDefaults(self, config):
'''
config : typing.Sequence[~ModelDefaultValues]
Returns -> typing.Sequence[~ErrorResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='ModelManager',
request='SetModelDefaults',
version=3,
params=_params)
_params['config'] = config
reply = await self.rpc(msg)
return reply
@ReturnMapping(ErrorResults)
async def UnsetModelDefaults(self, keys):
'''
keys : typing.Sequence[~ModelUnsetKeys]
Returns -> typing.Sequence[~ErrorResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='ModelManager',
request='UnsetModelDefaults',
version=3,
params=_params)
_params['keys'] = keys
reply = await self.rpc(msg)
return reply
class ProvisionerFacade(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'},
'space-name': {'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': ['constraints'],
'type': 'object'},
'ConstraintsResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/ConstraintsResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'ContainerConfig': {'additionalProperties': False,
'properties': {'UpdateBehavior': {'$ref': '#/definitions/UpdateBehavior'},
'apt-mirror': {'type': 'string'},
'apt-proxy': {'$ref': '#/definitions/Settings'},
'authorized-keys': {'type': 'string'},
'provider-type': {'type': 'string'},
'proxy': {'$ref': '#/definitions/Settings'},
'ssl-hostname-verification': {'type': 'boolean'}},
'required': ['provider-type',
'authorized-keys',
'ssl-hostname-verification',
'proxy',
'apt-proxy',
'apt-mirror',
'UpdateBehavior'],
'type': 'object'},
'ContainerManagerConfig': {'additionalProperties': False,
'properties': {'config': {'patternProperties': {'.*': {'type': 'string'}},
'type': 'object'}},
'required': ['config'],
'type': 'object'},
'ContainerManagerConfigParams': {'additionalProperties': False,
'properties': {'type': {'type': 'string'}},
'required': ['type'],
'type': 'object'},
'ControllerConfigResult': {'additionalProperties': False,
'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
'type': 'object'}},
'type': 'object'}},
'required': ['config'],
'type': 'object'},
'DeviceBridgeInfo': {'additionalProperties': False,
'properties': {'bridge-name': {'type': 'string'},
'host-device-name': {'type': 'string'}},
'required': ['host-device-name',
'bridge-name'],
'type': 'object'},
'DistributionGroupResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'result': {'items': {'type': 'string'},
'type': 'array'}},
'required': ['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'},
'macaroon-path': {'type': 'string'}},
'type': 'object'},
'ErrorResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'}},
'type': 'object'},
'ErrorResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'FindToolsParams': {'additionalProperties': False,
'properties': {'arch': {'type': 'string'},
'major': {'type': 'integer'},
'minor': {'type': 'integer'},
'number': {'$ref': '#/definitions/Number'},
'series': {'type': 'string'}},
'required': ['number',
'major',
'minor',
'arch',
'series'],
'type': 'object'},
'FindToolsResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'list': {'items': {'$ref': '#/definitions/Tools'},
'type': 'array'}},
'required': ['list'],
'type': 'object'},
'HardwareCharacteristics': {'additionalProperties': False,
'properties': {'arch': {'type': 'string'},
'availability-zone': {'type': 'string'},
'cpu-cores': {'type': 'integer'},
'cpu-power': {'type': 'integer'},
'mem': {'type': 'integer'},
'root-disk': {'type': 'integer'},
'tags': {'items': {'type': 'string'},
'type': 'array'}},
'type': 'object'},
'HostNetworkChange': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'new-bridges': {'items': {'$ref': '#/definitions/DeviceBridgeInfo'},
'type': 'array'},
'reconfigure-delay': {'type': 'integer'}},
'required': ['new-bridges',
'reconfigure-delay'],
'type': 'object'},
'HostNetworkChangeResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/HostNetworkChange'},
'type': 'array'}},
'required': ['results'],
'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'},
'instance-id': {'type': 'string'},
'network-config': {'items': {'$ref': '#/definitions/NetworkConfig'},
'type': 'array'},
'nonce': {'type': 'string'},
'tag': {'type': 'string'},
'volume-attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentInfo'}},
'type': 'object'},
'volumes': {'items': {'$ref': '#/definitions/Volume'},
'type': 'array'}},
'required': ['tag',
'instance-id',
'nonce',
'characteristics',
'volumes',
'volume-attachments',
'network-config'],
'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'],
'type': 'object'},
'LifeResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'Macaroon': {'additionalProperties': False, 'type': 'object'},
'MachineContainers': {'additionalProperties': False,
'properties': {'container-types': {'items': {'type': 'string'},
'type': 'array'},
'machine-tag': {'type': 'string'}},
'required': ['machine-tag',
'container-types'],
'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': ['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'},
'config-type': {'type': 'string'},
'device-index': {'type': 'integer'},
'disabled': {'type': 'boolean'},
'dns-search-domains': {'items': {'type': 'string'},
'type': 'array'},
'dns-servers': {'items': {'type': 'string'},
'type': 'array'},
'gateway-address': {'type': 'string'},
'interface-name': {'type': 'string'},
'interface-type': {'type': 'string'},
'mac-address': {'type': 'string'},
'mtu': {'type': 'integer'},
'no-auto-start': {'type': 'boolean'},
'parent-interface-name': {'type': 'string'},
'provider-address-id': {'type': 'string'},
'provider-id': {'type': 'string'},
'provider-space-id': {'type': 'string'},
'provider-subnet-id': {'type': 'string'},
'provider-vlan-id': {'type': 'string'},
'routes': {'items': {'$ref': '#/definitions/NetworkRoute'},
'type': 'array'},
'vlan-tag': {'type': 'integer'}},
'required': ['device-index',
'mac-address',
'cidr',
'mtu',
'provider-id',
'provider-subnet-id',
'provider-space-id',
'provider-address-id',
'provider-vlan-id',
'vlan-tag',
'interface-name',
'parent-interface-name',
'interface-type',
'disabled'],
'type': 'object'},
'NetworkRoute': {'additionalProperties': False,
'properties': {'destination-cidr': {'type': 'string'},
'gateway-ip': {'type': 'string'},
'metric': {'type': 'integer'}},
'required': ['destination-cidr',
'gateway-ip',
'metric'],
'type': 'object'},
'NotifyWatchResult': {'additionalProperties': False,
'properties': {'NotifyWatcherId': {'type': 'string'},
'error': {'$ref': '#/definitions/Error'}},
'required': ['NotifyWatcherId'],
'type': 'object'},
'Number': {'additionalProperties': False,
'properties': {'Build': {'type': 'integer'},
'Major': {'type': 'integer'},
'Minor': {'type': 'integer'},
'Patch': {'type': 'integer'},
'Tag': {'type': 'string'}},
'required': ['Major',
'Minor',
'Tag',
'Patch',
'Build'],
'type': 'object'},
'ProvisioningInfo': {'additionalProperties': False,
'properties': {'constraints': {'$ref': '#/definitions/Value'},
'controller-config': {'patternProperties': {'.*': {'additionalProperties': True,
'type': 'object'}},
'type': 'object'},
'endpoint-bindings': {'patternProperties': {'.*': {'type': 'string'}},
'type': 'object'},
'image-metadata': {'items': {'$ref': '#/definitions/CloudImageMetadata'},
'type': 'array'},
'jobs': {'items': {'type': 'string'},
'type': 'array'},
'placement': {'type': 'string'},
'series': {'type': 'string'},
'subnets-to-zones': {'patternProperties': {'.*': {'items': {'type': 'string'},
'type': 'array'}},
'type': 'object'},
'tags': {'patternProperties': {'.*': {'type': 'string'}},
'type': 'object'},
'volume-attachments': {'items': {'$ref': '#/definitions/VolumeAttachmentParams'},
'type': 'array'},
'volumes': {'items': {'$ref': '#/definitions/VolumeParams'},
'type': 'array'}},
'required': ['constraints',
'series',
'placement',
'jobs'],
'type': 'object'},
'ProvisioningInfoResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'result': {'$ref': '#/definitions/ProvisioningInfo'}},
'required': ['result'],
'type': 'object'},
'ProvisioningInfoResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/ProvisioningInfoResult'},
'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'},
'SetStatus': {'additionalProperties': False,
'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
'type': 'array'}},
'required': ['entities'],
'type': 'object'},
'Settings': {'additionalProperties': False,
'properties': {'AutoNoProxy': {'type': 'string'},
'Ftp': {'type': 'string'},
'Http': {'type': 'string'},
'Https': {'type': 'string'},
'NoProxy': {'type': 'string'}},
'required': ['Http',
'Https',
'Ftp',
'NoProxy',
'AutoNoProxy'],
'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': ['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': ['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'}},
'type': 'object'},
'StringsWatchResult': {'additionalProperties': False,
'properties': {'changes': {'items': {'type': 'string'},
'type': 'array'},
'error': {'$ref': '#/definitions/Error'},
'watcher-id': {'type': 'string'}},
'required': ['watcher-id'],
'type': 'object'},
'StringsWatchResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'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': {'disable-ssl-hostname-verification': {'type': 'boolean'},
'error': {'$ref': '#/definitions/Error'},
'tools': {'items': {'$ref': '#/definitions/Tools'},
'type': 'array'}},
'required': ['tools',
'disable-ssl-hostname-verification'],
'type': 'object'},
'ToolsResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/ToolsResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'UpdateBehavior': {'additionalProperties': False,
'properties': {'enable-os-refresh-update': {'type': 'boolean'},
'enable-os-upgrade': {'type': 'boolean'}},
'required': ['enable-os-refresh-update',
'enable-os-upgrade'],
'type': 'object'},
'Value': {'additionalProperties': False,
'properties': {'arch': {'type': 'string'},
'container': {'type': 'string'},
'cores': {'type': 'integer'},
'cpu-power': {'type': 'integer'},
'instance-type': {'type': 'string'},
'mem': {'type': 'integer'},
'root-disk': {'type': 'integer'},
'spaces': {'items': {'type': 'string'},
'type': 'array'},
'tags': {'items': {'type': 'string'},
'type': 'array'},
'virt-type': {'type': 'string'}},
'type': 'object'},
'Volume': {'additionalProperties': False,
'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
'volume-tag': {'type': 'string'}},
'required': ['volume-tag', 'info'],
'type': 'object'},
'VolumeAttachmentInfo': {'additionalProperties': False,
'properties': {'bus-address': {'type': 'string'},
'device-link': {'type': 'string'},
'device-name': {'type': 'string'},
'read-only': {'type': 'boolean'}},
'type': 'object'},
'VolumeAttachmentParams': {'additionalProperties': False,
'properties': {'instance-id': {'type': 'string'},
'machine-tag': {'type': 'string'},
'provider': {'type': 'string'},
'read-only': {'type': 'boolean'},
'volume-id': {'type': 'string'},
'volume-tag': {'type': 'string'}},
'required': ['volume-tag',
'machine-tag',
'provider'],
'type': 'object'},
'VolumeInfo': {'additionalProperties': False,
'properties': {'hardware-id': {'type': 'string'},
'persistent': {'type': 'boolean'},
'pool': {'type': 'string'},
'size': {'type': 'integer'},
'volume-id': {'type': 'string'},
'wwn': {'type': 'string'}},
'required': ['volume-id', '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'},
'volume-tag': {'type': 'string'}},
'required': ['volume-tag',
'size',
'provider'],
'type': 'object'},
'WatchContainer': {'additionalProperties': False,
'properties': {'container-type': {'type': 'string'},
'machine-tag': {'type': 'string'}},
'required': ['machine-tag',
'container-type'],
'type': 'object'},
'WatchContainers': {'additionalProperties': False,
'properties': {'params': {'items': {'$ref': '#/definitions/WatchContainer'},
'type': 'array'}},
'required': ['params'],
'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'},
'ControllerConfig': {'properties': {'Result': {'$ref': '#/definitions/ControllerConfigResult'}},
'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'},
'HostChangesForContainers': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
'Result': {'$ref': '#/definitions/HostNetworkChangeResults'}},
'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'},
'MarkMachinesForRemoval': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
'Result': {'$ref': '#/definitions/ErrorResults'}},
'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'},
'SetHostMachineNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/SetMachineNetworkConfig'}},
'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'},
'SetObservedNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/SetMachineNetworkConfig'}},
'type': 'object'},
'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
'Result': {'$ref': '#/definitions/ErrorResults'}},
'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'},
'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[_ForwardRef('UpdateBehavior'), str, _ForwardRef('Settings'), bool]
'''
# 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(ControllerConfigResult)
async def ControllerConfig(self):
'''
Returns -> typing.Mapping[str, typing.Any]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Provisioner',
request='ControllerConfig',
version=3,
params=_params)
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, major, minor, number, series):
'''
arch : str
major : int
minor : int
number : Number
series : str
Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[~Tools]]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Provisioner',
request='FindTools',
version=3,
params=_params)
_params['arch'] = arch
_params['major'] = major
_params['minor'] = minor
_params['number'] = number
_params['series'] = series
reply = await self.rpc(msg)
return reply
@ReturnMapping(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(HostNetworkChangeResults)
async def HostChangesForContainers(self, entities):
'''
entities : typing.Sequence[~Entity]
Returns -> typing.Sequence[~HostNetworkChange]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Provisioner',
request='HostChangesForContainers',
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(ErrorResults)
async def MarkMachinesForRemoval(self, entities):
'''
entities : typing.Sequence[~Entity]
Returns -> typing.Sequence[~ErrorResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Provisioner',
request='MarkMachinesForRemoval',
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='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(None)
async def SetHostMachineNetworkConfig(self, config, tag):
'''
config : typing.Sequence[~NetworkConfig]
tag : str
Returns -> None
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Provisioner',
request='SetHostMachineNetworkConfig',
version=3,
params=_params)
_params['config'] = config
_params['tag'] = tag
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(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='Provisioner',
request='SetObservedNetworkConfig',
version=3,
params=_params)
_params['config'] = config
_params['tag'] = tag
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 SetProviderNetworkConfig(self, entities):
'''
entities : typing.Sequence[~Entity]
Returns -> typing.Sequence[~ErrorResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Provisioner',
request='SetProviderNetworkConfig',
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='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[str, _ForwardRef('Error')]
'''
# 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[str, _ForwardRef('Error')]
'''
# 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[str, _ForwardRef('Error')]
'''
# 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'), str]
'''
# 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 SpacesFacade(Type):
name = 'Spaces'
version = 3
schema = {'definitions': {'CreateSpaceParams': {'additionalProperties': False,
'properties': {'provider-id': {'type': 'string'},
'public': {'type': 'boolean'},
'space-tag': {'type': 'string'},
'subnet-tags': {'items': {'type': 'string'},
'type': 'array'}},
'required': ['subnet-tags',
'space-tag',
'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'},
'macaroon-path': {'type': 'string'}},
'type': 'object'},
'ErrorResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'}},
'type': 'object'},
'ErrorResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'ListSpacesResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/Space'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'Macaroon': {'additionalProperties': False, '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'},
'provider-id': {'type': 'string'},
'provider-network-id': {'type': 'string'},
'provider-space-id': {'type': 'string'},
'space-tag': {'type': 'string'},
'status': {'type': 'string'},
'vlan-tag': {'type': 'integer'},
'zones': {'items': {'type': 'string'},
'type': 'array'}},
'required': ['cidr',
'vlan-tag',
'life',
'space-tag',
'zones'],
'type': 'object'}},
'properties': {'CreateSpaces': {'properties': {'Params': {'$ref': '#/definitions/CreateSpacesParams'},
'Result': {'$ref': '#/definitions/ErrorResults'}},
'type': 'object'},
'ListSpaces': {'properties': {'Result': {'$ref': '#/definitions/ListSpacesResults'}},
'type': 'object'},
'ReloadSpaces': {'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=3,
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=3,
params=_params)
reply = await self.rpc(msg)
return reply
@ReturnMapping(None)
async def ReloadSpaces(self):
'''
Returns -> None
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Spaces',
request='ReloadSpaces',
version=3,
params=_params)
reply = await self.rpc(msg)
return reply
class StorageFacade(Type):
name = 'Storage'
version = 3
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', 'since'],
'type': 'object'},
'Error': {'additionalProperties': False,
'properties': {'code': {'type': 'string'},
'info': {'$ref': '#/definitions/ErrorInfo'},
'message': {'type': 'string'}},
'required': ['message', 'code'],
'type': 'object'},
'ErrorInfo': {'additionalProperties': False,
'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
'macaroon-path': {'type': 'string'}},
'type': 'object'},
'ErrorResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'}},
'type': 'object'},
'ErrorResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'FilesystemAttachmentDetails': {'additionalProperties': False,
'properties': {'FilesystemAttachmentInfo': {'$ref': '#/definitions/FilesystemAttachmentInfo'},
'life': {'type': 'string'}},
'required': ['FilesystemAttachmentInfo'],
'type': 'object'},
'FilesystemAttachmentInfo': {'additionalProperties': False,
'properties': {'mount-point': {'type': 'string'},
'read-only': {'type': 'boolean'}},
'type': 'object'},
'FilesystemDetails': {'additionalProperties': False,
'properties': {'filesystem-tag': {'type': 'string'},
'info': {'$ref': '#/definitions/FilesystemInfo'},
'life': {'type': 'string'},
'machine-attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/FilesystemAttachmentDetails'}},
'type': 'object'},
'status': {'$ref': '#/definitions/EntityStatus'},
'storage': {'$ref': '#/definitions/StorageDetails'},
'volume-tag': {'type': 'string'}},
'required': ['filesystem-tag',
'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': {'filesystem-id': {'type': 'string'},
'pool': {'type': 'string'},
'size': {'type': 'integer'}},
'required': ['filesystem-id',
'pool',
'size'],
'type': 'object'},
'Macaroon': {'additionalProperties': False, 'type': 'object'},
'StorageAddParams': {'additionalProperties': False,
'properties': {'name': {'type': 'string'},
'storage': {'$ref': '#/definitions/StorageConstraints'},
'unit': {'type': 'string'}},
'required': ['unit', 'name', 'storage'],
'type': 'object'},
'StorageAttachmentDetails': {'additionalProperties': False,
'properties': {'life': {'type': 'string'},
'location': {'type': 'string'},
'machine-tag': {'type': 'string'},
'storage-tag': {'type': 'string'},
'unit-tag': {'type': 'string'}},
'required': ['storage-tag',
'unit-tag',
'machine-tag'],
'type': 'object'},
'StorageAttachmentId': {'additionalProperties': False,
'properties': {'storage-tag': {'type': 'string'},
'unit-tag': {'type': 'string'}},
'required': ['storage-tag',
'unit-tag'],
'type': 'object'},
'StorageAttachmentIds': {'additionalProperties': False,
'properties': {'ids': {'items': {'$ref': '#/definitions/StorageAttachmentId'},
'type': 'array'}},
'required': ['ids'],
'type': 'object'},
'StorageConstraints': {'additionalProperties': False,
'properties': {'count': {'type': 'integer'},
'pool': {'type': 'string'},
'size': {'type': 'integer'}},
'type': 'object'},
'StorageDetails': {'additionalProperties': False,
'properties': {'attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/StorageAttachmentDetails'}},
'type': 'object'},
'kind': {'type': 'integer'},
'life': {'type': 'string'},
'owner-tag': {'type': 'string'},
'persistent': {'type': 'boolean'},
'status': {'$ref': '#/definitions/EntityStatus'},
'storage-tag': {'type': 'string'}},
'required': ['storage-tag',
'owner-tag',
'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'},
'storage-pools': {'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'},
'VolumeAttachmentDetails': {'additionalProperties': False,
'properties': {'VolumeAttachmentInfo': {'$ref': '#/definitions/VolumeAttachmentInfo'},
'life': {'type': 'string'}},
'required': ['VolumeAttachmentInfo'],
'type': 'object'},
'VolumeAttachmentInfo': {'additionalProperties': False,
'properties': {'bus-address': {'type': 'string'},
'device-link': {'type': 'string'},
'device-name': {'type': 'string'},
'read-only': {'type': 'boolean'}},
'type': 'object'},
'VolumeDetails': {'additionalProperties': False,
'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
'life': {'type': 'string'},
'machine-attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentDetails'}},
'type': 'object'},
'status': {'$ref': '#/definitions/EntityStatus'},
'storage': {'$ref': '#/definitions/StorageDetails'},
'volume-tag': {'type': 'string'}},
'required': ['volume-tag', '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': {'hardware-id': {'type': 'string'},
'persistent': {'type': 'boolean'},
'pool': {'type': 'string'},
'size': {'type': 'integer'},
'volume-id': {'type': 'string'},
'wwn': {'type': 'string'}},
'required': ['volume-id', 'size', 'persistent'],
'type': 'object'}},
'properties': {'AddToUnit': {'properties': {'Params': {'$ref': '#/definitions/StoragesAddParams'},
'Result': {'$ref': '#/definitions/ErrorResults'}},
'type': 'object'},
'Attach': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
'Result': {'$ref': '#/definitions/ErrorResults'}},
'type': 'object'},
'CreatePool': {'properties': {'Params': {'$ref': '#/definitions/StoragePool'}},
'type': 'object'},
'Destroy': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
'Result': {'$ref': '#/definitions/ErrorResults'}},
'type': 'object'},
'Detach': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
'Result': {'$ref': '#/definitions/ErrorResults'}},
'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=3,
params=_params)
_params['storages'] = storages
reply = await self.rpc(msg)
return reply
@ReturnMapping(ErrorResults)
async def Attach(self, ids):
'''
ids : typing.Sequence[~StorageAttachmentId]
Returns -> typing.Sequence[~ErrorResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Storage',
request='Attach',
version=3,
params=_params)
_params['ids'] = ids
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=3,
params=_params)
_params['attrs'] = attrs
_params['name'] = name
_params['provider'] = provider
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='Storage',
request='Destroy',
version=3,
params=_params)
_params['entities'] = entities
reply = await self.rpc(msg)
return reply
@ReturnMapping(ErrorResults)
async def Detach(self, ids):
'''
ids : typing.Sequence[~StorageAttachmentId]
Returns -> typing.Sequence[~ErrorResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='Storage',
request='Detach',
version=3,
params=_params)
_params['ids'] = ids
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=3,
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=3,
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=3,
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=3,
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=3,
params=_params)
_params['entities'] = entities
reply = await self.rpc(msg)
return reply
class StorageProvisionerFacade(Type):
name = 'StorageProvisioner'
version = 3
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'},
'WWN': {'type': 'string'}},
'required': ['DeviceName',
'DeviceLinks',
'Label',
'UUID',
'HardwareId',
'WWN',
'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'},
'macaroon-path': {'type': 'string'}},
'type': 'object'},
'ErrorResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'}},
'type': 'object'},
'ErrorResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'Filesystem': {'additionalProperties': False,
'properties': {'filesystem-tag': {'type': 'string'},
'info': {'$ref': '#/definitions/FilesystemInfo'},
'volume-tag': {'type': 'string'}},
'required': ['filesystem-tag', 'info'],
'type': 'object'},
'FilesystemAttachment': {'additionalProperties': False,
'properties': {'filesystem-tag': {'type': 'string'},
'info': {'$ref': '#/definitions/FilesystemAttachmentInfo'},
'machine-tag': {'type': 'string'}},
'required': ['filesystem-tag',
'machine-tag',
'info'],
'type': 'object'},
'FilesystemAttachmentInfo': {'additionalProperties': False,
'properties': {'mount-point': {'type': 'string'},
'read-only': {'type': 'boolean'}},
'type': 'object'},
'FilesystemAttachmentParams': {'additionalProperties': False,
'properties': {'filesystem-id': {'type': 'string'},
'filesystem-tag': {'type': 'string'},
'instance-id': {'type': 'string'},
'machine-tag': {'type': 'string'},
'mount-point': {'type': 'string'},
'provider': {'type': 'string'},
'read-only': {'type': 'boolean'}},
'required': ['filesystem-tag',
'machine-tag',
'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': {'filesystem-attachments': {'items': {'$ref': '#/definitions/FilesystemAttachment'},
'type': 'array'}},
'required': ['filesystem-attachments'],
'type': 'object'},
'FilesystemInfo': {'additionalProperties': False,
'properties': {'filesystem-id': {'type': 'string'},
'pool': {'type': 'string'},
'size': {'type': 'integer'}},
'required': ['filesystem-id',
'pool',
'size'],
'type': 'object'},
'FilesystemParams': {'additionalProperties': False,
'properties': {'attachment': {'$ref': '#/definitions/FilesystemAttachmentParams'},
'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
'type': 'object'}},
'type': 'object'},
'filesystem-tag': {'type': 'string'},
'provider': {'type': 'string'},
'size': {'type': 'integer'},
'tags': {'patternProperties': {'.*': {'type': 'string'}},
'type': 'object'},
'volume-tag': {'type': 'string'}},
'required': ['filesystem-tag',
'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'],
'type': 'object'},
'LifeResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'Macaroon': {'additionalProperties': False, 'type': 'object'},
'MachineStorageId': {'additionalProperties': False,
'properties': {'attachment-tag': {'type': 'string'},
'machine-tag': {'type': 'string'}},
'required': ['machine-tag',
'attachment-tag'],
'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'},
'watcher-id': {'type': 'string'}},
'required': ['watcher-id',
'changes'],
'type': 'object'},
'MachineStorageIdsWatchResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/MachineStorageIdsWatchResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'NotifyWatchResult': {'additionalProperties': False,
'properties': {'NotifyWatcherId': {'type': 'string'},
'error': {'$ref': '#/definitions/Error'}},
'required': ['NotifyWatcherId'],
'type': 'object'},
'NotifyWatchResults': {'additionalProperties': False,
'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
'type': 'array'}},
'required': ['results'],
'type': 'object'},
'SetStatus': {'additionalProperties': False,
'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
'type': 'array'}},
'required': ['entities'],
'type': 'object'},
'StringResult': {'additionalProperties': False,
'properties': {'error': {'$ref': '#/definitions/Error'},
'result': {'type': 'string'}},
'required': ['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'},
'watcher-id': {'type': 'string'}},
'required': ['watcher-id'],
'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'},
'volume-tag': {'type': 'string'}},
'required': ['volume-tag', 'info'],
'type': 'object'},
'VolumeAttachment': {'additionalProperties': False,
'properties': {'info': {'$ref': '#/definitions/VolumeAttachmentInfo'},
'machine-tag': {'type': 'string'},
'volume-tag': {'type': 'string'}},
'required': ['volume-tag',
'machine-tag',
'info'],
'type': 'object'},
'VolumeAttachmentInfo': {'additionalProperties': False,
'properties': {'bus-address': {'type': 'string'},
'device-link': {'type': 'string'},
'device-name': {'type': 'string'},
'read-only': {'type': 'boolean'}},
'type': 'object'},
'VolumeAttachmentParams': {'additionalProperties': False,
'properties': {'instance-id': {'type': 'string'},
'machine-tag': {'type': 'string'},
'provider': {'type': 'string'},
'read-only': {'type': 'boolean'},
'volume-id': {'type': 'string'},
'volume-tag': {'type': 'string'}},
'required': ['volume-tag',
'machine-tag',
'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': {'volume-attachments': {'items': {'$ref': '#/definitions/VolumeAttachment'},
'type': 'array'}},
'required': ['volume-attachments'],
'type': 'object'},
'VolumeInfo': {'additionalProperties': False,
'properties': {'hardware-id': {'type': 'string'},
'persistent': {'type': 'boolean'},
'pool': {'type': 'string'},
'size': {'type': 'integer'},
'volume-id': {'type': 'string'},
'wwn': {'type': 'string'}},
'required': ['volume-id', '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'},
'volume-tag': {'type': 'string'}},
'required': ['volume-tag',
'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'}},
'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'},
'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'},
'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=3,
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=3,
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=3,
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=3,
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=3,
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=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='StorageProvisioner',
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='StorageProvisioner',
request='Life',
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='StorageProvisioner',
request='Remove',
version=3,
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=3,
params=_params)
_params['ids'] = ids
reply = await self.rpc(msg)
return reply
@ReturnMapping(ErrorResults)
async def SetFilesystemAttachmentInfo(self, filesystem_attachments):
'''
filesystem_attachments : typing.Sequence[~FilesystemAttachment]
Returns -> typing.Sequence[~ErrorResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='StorageProvisioner',
request='SetFilesystemAttachmentInfo',
version=3,
params=_params)
_params['filesystem-attachments'] = filesystem_attachments
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=3,
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=3,
params=_params)
_params['entities'] = entities
reply = await self.rpc(msg)
return reply
@ReturnMapping(ErrorResults)
async def SetVolumeAttachmentInfo(self, volume_attachments):
'''
volume_attachments : typing.Sequence[~VolumeAttachment]
Returns -> typing.Sequence[~ErrorResult]
'''
# map input types to rpc msg
_params = dict()
msg = dict(type='StorageProvisioner',
request='SetVolumeAttachmentInfo',
version=3,
params=_params)
_params['volume-attachments'] = volume_attachments
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=3,
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=3,
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=3,
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=3,
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=3,
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=3,
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=3,
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=3,
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=3,
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=3,
params=_params)
_params['entities'] = entities
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=3,
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=3,
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=3,
params=_params)
_params['entities'] = entities
reply = await self.rpc(msg)
return reply