1 # DO NOT CHANGE THIS FILE! This file is auto-generated by facade.py.
2 # Changes will be overwritten/lost when the file is regenerated.
4 from juju
.client
._definitions
import *
5 from juju
.client
.facade
import ReturnMapping
, Type
8 class ApplicationFacade(Type
):
11 schema
= {'definitions': {'AddApplicationUnits': {'additionalProperties': False,
12 'properties': {'application': {'type': 'string'},
13 'num-units': {'type': 'integer'},
14 'placement': {'items': {'$ref': '#/definitions/Placement'},
16 'required': ['application',
20 'AddApplicationUnitsResults': {'additionalProperties': False,
21 'properties': {'units': {'items': {'type': 'string'},
23 'required': ['units'],
25 'AddRelation': {'additionalProperties': False,
26 'properties': {'endpoints': {'items': {'type': 'string'},
28 'required': ['endpoints'],
30 'AddRelationResults': {'additionalProperties': False,
31 'properties': {'endpoints': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmRelation'}},
33 'required': ['endpoints'],
35 'ApplicationCharmRelations': {'additionalProperties': False,
36 'properties': {'application': {'type': 'string'}},
37 'required': ['application'],
39 'ApplicationCharmRelationsResults': {'additionalProperties': False,
40 'properties': {'charm-relations': {'items': {'type': 'string'},
42 'required': ['charm-relations'],
44 'ApplicationDeploy': {'additionalProperties': False,
45 'properties': {'application': {'type': 'string'},
46 'channel': {'type': 'string'},
47 'charm-url': {'type': 'string'},
48 'config': {'patternProperties': {'.*': {'type': 'string'}},
50 'config-yaml': {'type': 'string'},
51 'constraints': {'$ref': '#/definitions/Value'},
52 'endpoint-bindings': {'patternProperties': {'.*': {'type': 'string'}},
54 'num-units': {'type': 'integer'},
55 'placement': {'items': {'$ref': '#/definitions/Placement'},
57 'resources': {'patternProperties': {'.*': {'type': 'string'}},
59 'series': {'type': 'string'},
60 'storage': {'patternProperties': {'.*': {'$ref': '#/definitions/Constraints'}},
62 'required': ['application',
70 'ApplicationDestroy': {'additionalProperties': False,
71 'properties': {'application': {'type': 'string'}},
72 'required': ['application'],
74 'ApplicationExpose': {'additionalProperties': False,
75 'properties': {'application': {'type': 'string'}},
76 'required': ['application'],
78 'ApplicationGet': {'additionalProperties': False,
79 'properties': {'application': {'type': 'string'}},
80 'required': ['application'],
82 'ApplicationGetResults': {'additionalProperties': False,
83 'properties': {'application': {'type': 'string'},
84 'charm': {'type': 'string'},
85 'config': {'patternProperties': {'.*': {'additionalProperties': True,
88 'constraints': {'$ref': '#/definitions/Value'},
89 'series': {'type': 'string'}},
90 'required': ['application',
96 'ApplicationMetricCredential': {'additionalProperties': False,
97 'properties': {'application': {'type': 'string'},
98 'metrics-credentials': {'items': {'type': 'integer'},
100 'required': ['application',
101 'metrics-credentials'],
103 'ApplicationMetricCredentials': {'additionalProperties': False,
104 'properties': {'creds': {'items': {'$ref': '#/definitions/ApplicationMetricCredential'},
106 'required': ['creds'],
108 'ApplicationSet': {'additionalProperties': False,
109 'properties': {'application': {'type': 'string'},
110 'options': {'patternProperties': {'.*': {'type': 'string'}},
112 'required': ['application', 'options'],
114 'ApplicationSetCharm': {'additionalProperties': False,
115 'properties': {'application': {'type': 'string'},
116 'channel': {'type': 'string'},
117 'charm-url': {'type': 'string'},
118 'config-settings': {'patternProperties': {'.*': {'type': 'string'}},
120 'config-settings-yaml': {'type': 'string'},
121 'force-series': {'type': 'boolean'},
122 'force-units': {'type': 'boolean'},
123 'resource-ids': {'patternProperties': {'.*': {'type': 'string'}},
125 'storage-constraints': {'patternProperties': {'.*': {'$ref': '#/definitions/StorageConstraints'}},
127 'required': ['application',
133 'ApplicationURLs': {'additionalProperties': False,
134 'properties': {'application-urls': {'items': {'type': 'string'},
137 'ApplicationUnexpose': {'additionalProperties': False,
138 'properties': {'application': {'type': 'string'}},
139 'required': ['application'],
141 'ApplicationUnset': {'additionalProperties': False,
142 'properties': {'application': {'type': 'string'},
143 'options': {'items': {'type': 'string'},
145 'required': ['application', 'options'],
147 'ApplicationUpdate': {'additionalProperties': False,
148 'properties': {'application': {'type': 'string'},
149 'charm-url': {'type': 'string'},
150 'constraints': {'$ref': '#/definitions/Value'},
151 'force-charm-url': {'type': 'boolean'},
152 'force-series': {'type': 'boolean'},
153 'min-units': {'type': 'integer'},
154 'settings': {'patternProperties': {'.*': {'type': 'string'}},
156 'settings-yaml': {'type': 'string'}},
157 'required': ['application',
163 'ApplicationsDeploy': {'additionalProperties': False,
164 'properties': {'applications': {'items': {'$ref': '#/definitions/ApplicationDeploy'},
166 'required': ['applications'],
168 'CharmRelation': {'additionalProperties': False,
169 'properties': {'interface': {'type': 'string'},
170 'limit': {'type': 'integer'},
171 'name': {'type': 'string'},
172 'optional': {'type': 'boolean'},
173 'role': {'type': 'string'},
174 'scope': {'type': 'string'}},
182 'Constraints': {'additionalProperties': False,
183 'properties': {'Count': {'type': 'integer'},
184 'Pool': {'type': 'string'},
185 'Size': {'type': 'integer'}},
186 'required': ['Pool', 'Size', 'Count'],
188 'ConsumeApplicationArg': {'additionalProperties': False,
189 'properties': {'application-alias': {'type': 'string'},
190 'application-url': {'type': 'string'}},
191 'required': ['application-url'],
193 'ConsumeApplicationArgs': {'additionalProperties': False,
194 'properties': {'args': {'items': {'$ref': '#/definitions/ConsumeApplicationArg'},
197 'ConsumeApplicationResult': {'additionalProperties': False,
198 'properties': {'error': {'$ref': '#/definitions/Error'},
199 'local-name': {'type': 'string'}},
201 'ConsumeApplicationResults': {'additionalProperties': False,
202 'properties': {'results': {'items': {'$ref': '#/definitions/ConsumeApplicationResult'},
204 'required': ['results'],
206 'DestroyApplicationInfo': {'additionalProperties': False,
207 'properties': {'destroyed-storage': {'items': {'$ref': '#/definitions/Entity'},
209 'destroyed-units': {'items': {'$ref': '#/definitions/Entity'},
211 'detached-storage': {'items': {'$ref': '#/definitions/Entity'},
214 'DestroyApplicationResult': {'additionalProperties': False,
215 'properties': {'error': {'$ref': '#/definitions/Error'},
216 'info': {'$ref': '#/definitions/DestroyApplicationInfo'}},
218 'DestroyApplicationResults': {'additionalProperties': False,
219 'properties': {'results': {'items': {'$ref': '#/definitions/DestroyApplicationResult'},
222 'DestroyApplicationUnits': {'additionalProperties': False,
223 'properties': {'unit-names': {'items': {'type': 'string'},
225 'required': ['unit-names'],
227 'DestroyRelation': {'additionalProperties': False,
228 'properties': {'endpoints': {'items': {'type': 'string'},
230 'required': ['endpoints'],
232 'DestroyUnitInfo': {'additionalProperties': False,
233 'properties': {'destroyed-storage': {'items': {'$ref': '#/definitions/Entity'},
235 'detached-storage': {'items': {'$ref': '#/definitions/Entity'},
238 'DestroyUnitResult': {'additionalProperties': False,
239 'properties': {'error': {'$ref': '#/definitions/Error'},
240 'info': {'$ref': '#/definitions/DestroyUnitInfo'}},
242 'DestroyUnitResults': {'additionalProperties': False,
243 'properties': {'results': {'items': {'$ref': '#/definitions/DestroyUnitResult'},
246 'Entities': {'additionalProperties': False,
247 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
249 'required': ['entities'],
251 'Entity': {'additionalProperties': False,
252 'properties': {'tag': {'type': 'string'}},
255 'Error': {'additionalProperties': False,
256 'properties': {'code': {'type': 'string'},
257 'info': {'$ref': '#/definitions/ErrorInfo'},
258 'message': {'type': 'string'}},
259 'required': ['message', 'code'],
261 'ErrorInfo': {'additionalProperties': False,
262 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
263 'macaroon-path': {'type': 'string'}},
265 'ErrorResult': {'additionalProperties': False,
266 'properties': {'error': {'$ref': '#/definitions/Error'}},
268 'ErrorResults': {'additionalProperties': False,
269 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
271 'required': ['results'],
273 'GetApplicationConstraints': {'additionalProperties': False,
274 'properties': {'application': {'type': 'string'}},
275 'required': ['application'],
277 'GetConstraintsResults': {'additionalProperties': False,
278 'properties': {'constraints': {'$ref': '#/definitions/Value'}},
279 'required': ['constraints'],
281 'Macaroon': {'additionalProperties': False, 'type': 'object'},
282 'Placement': {'additionalProperties': False,
283 'properties': {'directive': {'type': 'string'},
284 'scope': {'type': 'string'}},
285 'required': ['scope', 'directive'],
287 'RemoteApplicationInfo': {'additionalProperties': False,
288 'properties': {'application-url': {'type': 'string'},
289 'description': {'type': 'string'},
290 'endpoints': {'items': {'$ref': '#/definitions/RemoteEndpoint'},
292 'icon-url-path': {'type': 'string'},
293 'model-tag': {'type': 'string'},
294 'name': {'type': 'string'},
295 'source-model-label': {'type': 'string'}},
296 'required': ['model-tag',
303 'RemoteApplicationInfoResult': {'additionalProperties': False,
304 'properties': {'error': {'$ref': '#/definitions/Error'},
305 'result': {'$ref': '#/definitions/RemoteApplicationInfo'}},
307 'RemoteApplicationInfoResults': {'additionalProperties': False,
308 'properties': {'results': {'items': {'$ref': '#/definitions/RemoteApplicationInfoResult'},
310 'required': ['results'],
312 'RemoteEndpoint': {'additionalProperties': False,
313 'properties': {'interface': {'type': 'string'},
314 'limit': {'type': 'integer'},
315 'name': {'type': 'string'},
316 'role': {'type': 'string'},
317 'scope': {'type': 'string'}},
324 'SetConstraints': {'additionalProperties': False,
325 'properties': {'application': {'type': 'string'},
326 'constraints': {'$ref': '#/definitions/Value'}},
327 'required': ['application', 'constraints'],
329 'StorageConstraints': {'additionalProperties': False,
330 'properties': {'count': {'type': 'integer'},
331 'pool': {'type': 'string'},
332 'size': {'type': 'integer'}},
334 'StringResult': {'additionalProperties': False,
335 'properties': {'error': {'$ref': '#/definitions/Error'},
336 'result': {'type': 'string'}},
337 'required': ['result'],
339 'Value': {'additionalProperties': False,
340 'properties': {'arch': {'type': 'string'},
341 'container': {'type': 'string'},
342 'cores': {'type': 'integer'},
343 'cpu-power': {'type': 'integer'},
344 'instance-type': {'type': 'string'},
345 'mem': {'type': 'integer'},
346 'root-disk': {'type': 'integer'},
347 'spaces': {'items': {'type': 'string'},
349 'tags': {'items': {'type': 'string'},
351 'virt-type': {'type': 'string'}},
353 'properties': {'AddRelation': {'properties': {'Params': {'$ref': '#/definitions/AddRelation'},
354 'Result': {'$ref': '#/definitions/AddRelationResults'}},
356 'AddUnits': {'properties': {'Params': {'$ref': '#/definitions/AddApplicationUnits'},
357 'Result': {'$ref': '#/definitions/AddApplicationUnitsResults'}},
359 'CharmRelations': {'properties': {'Params': {'$ref': '#/definitions/ApplicationCharmRelations'},
360 'Result': {'$ref': '#/definitions/ApplicationCharmRelationsResults'}},
362 'Consume': {'properties': {'Params': {'$ref': '#/definitions/ConsumeApplicationArgs'},
363 'Result': {'$ref': '#/definitions/ConsumeApplicationResults'}},
365 'Deploy': {'properties': {'Params': {'$ref': '#/definitions/ApplicationsDeploy'},
366 'Result': {'$ref': '#/definitions/ErrorResults'}},
368 'Destroy': {'properties': {'Params': {'$ref': '#/definitions/ApplicationDestroy'}},
370 'DestroyApplication': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
371 'Result': {'$ref': '#/definitions/DestroyApplicationResults'}},
373 'DestroyRelation': {'properties': {'Params': {'$ref': '#/definitions/DestroyRelation'}},
375 'DestroyUnit': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
376 'Result': {'$ref': '#/definitions/DestroyUnitResults'}},
378 'DestroyUnits': {'properties': {'Params': {'$ref': '#/definitions/DestroyApplicationUnits'}},
380 'Expose': {'properties': {'Params': {'$ref': '#/definitions/ApplicationExpose'}},
382 'Get': {'properties': {'Params': {'$ref': '#/definitions/ApplicationGet'},
383 'Result': {'$ref': '#/definitions/ApplicationGetResults'}},
385 'GetCharmURL': {'properties': {'Params': {'$ref': '#/definitions/ApplicationGet'},
386 'Result': {'$ref': '#/definitions/StringResult'}},
388 'GetConstraints': {'properties': {'Params': {'$ref': '#/definitions/GetApplicationConstraints'},
389 'Result': {'$ref': '#/definitions/GetConstraintsResults'}},
391 'RemoteApplicationInfo': {'properties': {'Params': {'$ref': '#/definitions/ApplicationURLs'},
392 'Result': {'$ref': '#/definitions/RemoteApplicationInfoResults'}},
394 'Set': {'properties': {'Params': {'$ref': '#/definitions/ApplicationSet'}},
396 'SetCharm': {'properties': {'Params': {'$ref': '#/definitions/ApplicationSetCharm'}},
398 'SetConstraints': {'properties': {'Params': {'$ref': '#/definitions/SetConstraints'}},
400 'SetMetricCredentials': {'properties': {'Params': {'$ref': '#/definitions/ApplicationMetricCredentials'},
401 'Result': {'$ref': '#/definitions/ErrorResults'}},
403 'Unexpose': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUnexpose'}},
405 'Unset': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUnset'}},
407 'Update': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUpdate'}},
412 @ReturnMapping(AddRelationResults
)
413 async def AddRelation(self
, endpoints
):
415 endpoints : typing.Sequence[str]
416 Returns -> typing.Mapping[str, ~CharmRelation]
418 # map input types to rpc msg
420 msg
= dict(type='Application',
421 request
='AddRelation',
424 _params
['endpoints'] = endpoints
425 reply
= await self
.rpc(msg
)
430 @ReturnMapping(AddApplicationUnitsResults
)
431 async def AddUnits(self
, application
, num_units
, placement
):
435 placement : typing.Sequence[~Placement]
436 Returns -> typing.Sequence[str]
438 # map input types to rpc msg
440 msg
= dict(type='Application',
444 _params
['application'] = application
445 _params
['num-units'] = num_units
446 _params
['placement'] = placement
447 reply
= await self
.rpc(msg
)
452 @ReturnMapping(ApplicationCharmRelationsResults
)
453 async def CharmRelations(self
, application
):
456 Returns -> typing.Sequence[str]
458 # map input types to rpc msg
460 msg
= dict(type='Application',
461 request
='CharmRelations',
464 _params
['application'] = application
465 reply
= await self
.rpc(msg
)
470 @ReturnMapping(ConsumeApplicationResults
)
471 async def Consume(self
, args
):
473 args : typing.Sequence[~ConsumeApplicationArg]
474 Returns -> typing.Sequence[~ConsumeApplicationResult]
476 # map input types to rpc msg
478 msg
= dict(type='Application',
482 _params
['args'] = args
483 reply
= await self
.rpc(msg
)
488 @ReturnMapping(ErrorResults
)
489 async def Deploy(self
, applications
):
491 applications : typing.Sequence[~ApplicationDeploy]
492 Returns -> typing.Sequence[~ErrorResult]
494 # map input types to rpc msg
496 msg
= dict(type='Application',
500 _params
['applications'] = applications
501 reply
= await self
.rpc(msg
)
507 async def Destroy(self
, application
):
512 # map input types to rpc msg
514 msg
= dict(type='Application',
518 _params
['application'] = application
519 reply
= await self
.rpc(msg
)
524 @ReturnMapping(DestroyApplicationResults
)
525 async def DestroyApplication(self
, entities
):
527 entities : typing.Sequence[~Entity]
528 Returns -> typing.Sequence[~DestroyApplicationResult]
530 # map input types to rpc msg
532 msg
= dict(type='Application',
533 request
='DestroyApplication',
536 _params
['entities'] = entities
537 reply
= await self
.rpc(msg
)
543 async def DestroyRelation(self
, endpoints
):
545 endpoints : typing.Sequence[str]
548 # map input types to rpc msg
550 msg
= dict(type='Application',
551 request
='DestroyRelation',
554 _params
['endpoints'] = endpoints
555 reply
= await self
.rpc(msg
)
560 @ReturnMapping(DestroyUnitResults
)
561 async def DestroyUnit(self
, entities
):
563 entities : typing.Sequence[~Entity]
564 Returns -> typing.Sequence[~DestroyUnitResult]
566 # map input types to rpc msg
568 msg
= dict(type='Application',
569 request
='DestroyUnit',
572 _params
['entities'] = entities
573 reply
= await self
.rpc(msg
)
579 async def DestroyUnits(self
, unit_names
):
581 unit_names : typing.Sequence[str]
584 # map input types to rpc msg
586 msg
= dict(type='Application',
587 request
='DestroyUnits',
590 _params
['unit-names'] = unit_names
591 reply
= await self
.rpc(msg
)
597 async def Expose(self
, application
):
602 # map input types to rpc msg
604 msg
= dict(type='Application',
608 _params
['application'] = application
609 reply
= await self
.rpc(msg
)
614 @ReturnMapping(ApplicationGetResults
)
615 async def Get(self
, application
):
618 Returns -> typing.Union[str, typing.Mapping[str, typing.Any], _ForwardRef('Value')]
620 # map input types to rpc msg
622 msg
= dict(type='Application',
626 _params
['application'] = application
627 reply
= await self
.rpc(msg
)
632 @ReturnMapping(StringResult
)
633 async def GetCharmURL(self
, application
):
636 Returns -> typing.Union[_ForwardRef('Error'), str]
638 # map input types to rpc msg
640 msg
= dict(type='Application',
641 request
='GetCharmURL',
644 _params
['application'] = application
645 reply
= await self
.rpc(msg
)
650 @ReturnMapping(GetConstraintsResults
)
651 async def GetConstraints(self
, application
):
656 # map input types to rpc msg
658 msg
= dict(type='Application',
659 request
='GetConstraints',
662 _params
['application'] = application
663 reply
= await self
.rpc(msg
)
668 @ReturnMapping(RemoteApplicationInfoResults
)
669 async def RemoteApplicationInfo(self
, application_urls
):
671 application_urls : typing.Sequence[str]
672 Returns -> typing.Sequence[~RemoteApplicationInfoResult]
674 # map input types to rpc msg
676 msg
= dict(type='Application',
677 request
='RemoteApplicationInfo',
680 _params
['application-urls'] = application_urls
681 reply
= await self
.rpc(msg
)
687 async def Set(self
, application
, options
):
690 options : typing.Mapping[str, str]
693 # map input types to rpc msg
695 msg
= dict(type='Application',
699 _params
['application'] = application
700 _params
['options'] = options
701 reply
= await self
.rpc(msg
)
707 async def SetCharm(self
, application
, channel
, charm_url
, config_settings
, config_settings_yaml
, force_series
, force_units
, resource_ids
, storage_constraints
):
712 config_settings : typing.Mapping[str, str]
713 config_settings_yaml : str
716 resource_ids : typing.Mapping[str, str]
717 storage_constraints : typing.Mapping[str, ~StorageConstraints]
720 # map input types to rpc msg
722 msg
= dict(type='Application',
726 _params
['application'] = application
727 _params
['channel'] = channel
728 _params
['charm-url'] = charm_url
729 _params
['config-settings'] = config_settings
730 _params
['config-settings-yaml'] = config_settings_yaml
731 _params
['force-series'] = force_series
732 _params
['force-units'] = force_units
733 _params
['resource-ids'] = resource_ids
734 _params
['storage-constraints'] = storage_constraints
735 reply
= await self
.rpc(msg
)
741 async def SetConstraints(self
, application
, constraints
):
747 # map input types to rpc msg
749 msg
= dict(type='Application',
750 request
='SetConstraints',
753 _params
['application'] = application
754 _params
['constraints'] = constraints
755 reply
= await self
.rpc(msg
)
760 @ReturnMapping(ErrorResults
)
761 async def SetMetricCredentials(self
, creds
):
763 creds : typing.Sequence[~ApplicationMetricCredential]
764 Returns -> typing.Sequence[~ErrorResult]
766 # map input types to rpc msg
768 msg
= dict(type='Application',
769 request
='SetMetricCredentials',
772 _params
['creds'] = creds
773 reply
= await self
.rpc(msg
)
779 async def Unexpose(self
, application
):
784 # map input types to rpc msg
786 msg
= dict(type='Application',
790 _params
['application'] = application
791 reply
= await self
.rpc(msg
)
797 async def Unset(self
, application
, options
):
800 options : typing.Sequence[str]
803 # map input types to rpc msg
805 msg
= dict(type='Application',
809 _params
['application'] = application
810 _params
['options'] = options
811 reply
= await self
.rpc(msg
)
817 async def Update(self
, application
, charm_url
, constraints
, force_charm_url
, force_series
, min_units
, settings
, settings_yaml
):
822 force_charm_url : bool
825 settings : typing.Mapping[str, str]
829 # map input types to rpc msg
831 msg
= dict(type='Application',
835 _params
['application'] = application
836 _params
['charm-url'] = charm_url
837 _params
['constraints'] = constraints
838 _params
['force-charm-url'] = force_charm_url
839 _params
['force-series'] = force_series
840 _params
['min-units'] = min_units
841 _params
['settings'] = settings
842 _params
['settings-yaml'] = settings_yaml
843 reply
= await self
.rpc(msg
)
848 class StorageFacade(Type
):
851 schema
= {'definitions': {'AddStorageDetails': {'additionalProperties': False,
852 'properties': {'storage-tags': {'items': {'type': 'string'},
854 'required': ['storage-tags'],
856 'AddStorageResult': {'additionalProperties': False,
857 'properties': {'error': {'$ref': '#/definitions/Error'},
858 'result': {'$ref': '#/definitions/AddStorageDetails'}},
860 'AddStorageResults': {'additionalProperties': False,
861 'properties': {'results': {'items': {'$ref': '#/definitions/AddStorageResult'},
863 'required': ['results'],
865 'BulkImportStorageParams': {'additionalProperties': False,
866 'properties': {'storage': {'items': {'$ref': '#/definitions/ImportStorageParams'},
868 'required': ['storage'],
870 'Entities': {'additionalProperties': False,
871 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
873 'required': ['entities'],
875 'Entity': {'additionalProperties': False,
876 'properties': {'tag': {'type': 'string'}},
879 'EntityStatus': {'additionalProperties': False,
880 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
883 'info': {'type': 'string'},
884 'since': {'format': 'date-time',
886 'status': {'type': 'string'}},
887 'required': ['status', 'info', 'since'],
889 'Error': {'additionalProperties': False,
890 'properties': {'code': {'type': 'string'},
891 'info': {'$ref': '#/definitions/ErrorInfo'},
892 'message': {'type': 'string'}},
893 'required': ['message', 'code'],
895 'ErrorInfo': {'additionalProperties': False,
896 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
897 'macaroon-path': {'type': 'string'}},
899 'ErrorResult': {'additionalProperties': False,
900 'properties': {'error': {'$ref': '#/definitions/Error'}},
902 'ErrorResults': {'additionalProperties': False,
903 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
905 'required': ['results'],
907 'FilesystemAttachmentDetails': {'additionalProperties': False,
908 'properties': {'FilesystemAttachmentInfo': {'$ref': '#/definitions/FilesystemAttachmentInfo'},
909 'life': {'type': 'string'}},
910 'required': ['FilesystemAttachmentInfo'],
912 'FilesystemAttachmentInfo': {'additionalProperties': False,
913 'properties': {'mount-point': {'type': 'string'},
914 'read-only': {'type': 'boolean'}},
916 'FilesystemDetails': {'additionalProperties': False,
917 'properties': {'filesystem-tag': {'type': 'string'},
918 'info': {'$ref': '#/definitions/FilesystemInfo'},
919 'life': {'type': 'string'},
920 'machine-attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/FilesystemAttachmentDetails'}},
922 'status': {'$ref': '#/definitions/EntityStatus'},
923 'storage': {'$ref': '#/definitions/StorageDetails'},
924 'unit-attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/FilesystemAttachmentDetails'}},
926 'volume-tag': {'type': 'string'}},
927 'required': ['filesystem-tag',
931 'FilesystemDetailsListResult': {'additionalProperties': False,
932 'properties': {'error': {'$ref': '#/definitions/Error'},
933 'result': {'items': {'$ref': '#/definitions/FilesystemDetails'},
936 'FilesystemDetailsListResults': {'additionalProperties': False,
937 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemDetailsListResult'},
940 'FilesystemFilter': {'additionalProperties': False,
941 'properties': {'machines': {'items': {'type': 'string'},
944 'FilesystemFilters': {'additionalProperties': False,
945 'properties': {'filters': {'items': {'$ref': '#/definitions/FilesystemFilter'},
948 'FilesystemInfo': {'additionalProperties': False,
949 'properties': {'filesystem-id': {'type': 'string'},
950 'pool': {'type': 'string'},
951 'size': {'type': 'integer'}},
952 'required': ['filesystem-id',
956 'ImportStorageDetails': {'additionalProperties': False,
957 'properties': {'storage-tag': {'type': 'string'}},
958 'required': ['storage-tag'],
960 'ImportStorageParams': {'additionalProperties': False,
961 'properties': {'kind': {'type': 'integer'},
962 'pool': {'type': 'string'},
963 'provider-id': {'type': 'string'},
964 'storage-name': {'type': 'string'}},
970 'ImportStorageResult': {'additionalProperties': False,
971 'properties': {'error': {'$ref': '#/definitions/Error'},
972 'result': {'$ref': '#/definitions/ImportStorageDetails'}},
974 'ImportStorageResults': {'additionalProperties': False,
975 'properties': {'results': {'items': {'$ref': '#/definitions/ImportStorageResult'},
977 'required': ['results'],
979 'Macaroon': {'additionalProperties': False, 'type': 'object'},
980 'RemoveStorage': {'additionalProperties': False,
981 'properties': {'storage': {'items': {'$ref': '#/definitions/RemoveStorageInstance'},
983 'required': ['storage'],
985 'RemoveStorageInstance': {'additionalProperties': False,
986 'properties': {'destroy-attachments': {'type': 'boolean'},
987 'destroy-storage': {'type': 'boolean'},
988 'tag': {'type': 'string'}},
991 'StorageAddParams': {'additionalProperties': False,
992 'properties': {'name': {'type': 'string'},
993 'storage': {'$ref': '#/definitions/StorageConstraints'},
994 'unit': {'type': 'string'}},
995 'required': ['unit', 'name', 'storage'],
997 'StorageAttachmentDetails': {'additionalProperties': False,
998 'properties': {'life': {'type': 'string'},
999 'location': {'type': 'string'},
1000 'machine-tag': {'type': 'string'},
1001 'storage-tag': {'type': 'string'},
1002 'unit-tag': {'type': 'string'}},
1003 'required': ['storage-tag',
1007 'StorageAttachmentId': {'additionalProperties': False,
1008 'properties': {'storage-tag': {'type': 'string'},
1009 'unit-tag': {'type': 'string'}},
1010 'required': ['storage-tag',
1013 'StorageAttachmentIds': {'additionalProperties': False,
1014 'properties': {'ids': {'items': {'$ref': '#/definitions/StorageAttachmentId'},
1016 'required': ['ids'],
1018 'StorageConstraints': {'additionalProperties': False,
1019 'properties': {'count': {'type': 'integer'},
1020 'pool': {'type': 'string'},
1021 'size': {'type': 'integer'}},
1023 'StorageDetails': {'additionalProperties': False,
1024 'properties': {'attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/StorageAttachmentDetails'}},
1026 'kind': {'type': 'integer'},
1027 'life': {'type': 'string'},
1028 'owner-tag': {'type': 'string'},
1029 'persistent': {'type': 'boolean'},
1030 'status': {'$ref': '#/definitions/EntityStatus'},
1031 'storage-tag': {'type': 'string'}},
1032 'required': ['storage-tag',
1038 'StorageDetailsListResult': {'additionalProperties': False,
1039 'properties': {'error': {'$ref': '#/definitions/Error'},
1040 'result': {'items': {'$ref': '#/definitions/StorageDetails'},
1043 'StorageDetailsListResults': {'additionalProperties': False,
1044 'properties': {'results': {'items': {'$ref': '#/definitions/StorageDetailsListResult'},
1047 'StorageDetailsResult': {'additionalProperties': False,
1048 'properties': {'error': {'$ref': '#/definitions/Error'},
1049 'result': {'$ref': '#/definitions/StorageDetails'}},
1051 'StorageDetailsResults': {'additionalProperties': False,
1052 'properties': {'results': {'items': {'$ref': '#/definitions/StorageDetailsResult'},
1055 'StorageFilter': {'additionalProperties': False,
1057 'StorageFilters': {'additionalProperties': False,
1058 'properties': {'filters': {'items': {'$ref': '#/definitions/StorageFilter'},
1061 'StoragePool': {'additionalProperties': False,
1062 'properties': {'attrs': {'patternProperties': {'.*': {'additionalProperties': True,
1065 'name': {'type': 'string'},
1066 'provider': {'type': 'string'}},
1067 'required': ['name', 'provider', 'attrs'],
1069 'StoragePoolFilter': {'additionalProperties': False,
1070 'properties': {'names': {'items': {'type': 'string'},
1072 'providers': {'items': {'type': 'string'},
1075 'StoragePoolFilters': {'additionalProperties': False,
1076 'properties': {'filters': {'items': {'$ref': '#/definitions/StoragePoolFilter'},
1079 'StoragePoolsResult': {'additionalProperties': False,
1080 'properties': {'error': {'$ref': '#/definitions/Error'},
1081 'storage-pools': {'items': {'$ref': '#/definitions/StoragePool'},
1084 'StoragePoolsResults': {'additionalProperties': False,
1085 'properties': {'results': {'items': {'$ref': '#/definitions/StoragePoolsResult'},
1088 'StoragesAddParams': {'additionalProperties': False,
1089 'properties': {'storages': {'items': {'$ref': '#/definitions/StorageAddParams'},
1091 'required': ['storages'],
1093 'VolumeAttachmentDetails': {'additionalProperties': False,
1094 'properties': {'VolumeAttachmentInfo': {'$ref': '#/definitions/VolumeAttachmentInfo'},
1095 'life': {'type': 'string'}},
1096 'required': ['VolumeAttachmentInfo'],
1098 'VolumeAttachmentInfo': {'additionalProperties': False,
1099 'properties': {'bus-address': {'type': 'string'},
1100 'device-link': {'type': 'string'},
1101 'device-name': {'type': 'string'},
1102 'plan-info': {'$ref': '#/definitions/VolumeAttachmentPlanInfo'},
1103 'read-only': {'type': 'boolean'}},
1105 'VolumeAttachmentPlanInfo': {'additionalProperties': False,
1106 'properties': {'device-attributes': {'patternProperties': {'.*': {'type': 'string'}},
1108 'device-type': {'type': 'string'}},
1110 'VolumeDetails': {'additionalProperties': False,
1111 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
1112 'life': {'type': 'string'},
1113 'machine-attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentDetails'}},
1115 'status': {'$ref': '#/definitions/EntityStatus'},
1116 'storage': {'$ref': '#/definitions/StorageDetails'},
1117 'unit-attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentDetails'}},
1119 'volume-tag': {'type': 'string'}},
1120 'required': ['volume-tag', 'info', 'status'],
1122 'VolumeDetailsListResult': {'additionalProperties': False,
1123 'properties': {'error': {'$ref': '#/definitions/Error'},
1124 'result': {'items': {'$ref': '#/definitions/VolumeDetails'},
1127 'VolumeDetailsListResults': {'additionalProperties': False,
1128 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeDetailsListResult'},
1131 'VolumeFilter': {'additionalProperties': False,
1132 'properties': {'machines': {'items': {'type': 'string'},
1135 'VolumeFilters': {'additionalProperties': False,
1136 'properties': {'filters': {'items': {'$ref': '#/definitions/VolumeFilter'},
1139 'VolumeInfo': {'additionalProperties': False,
1140 'properties': {'hardware-id': {'type': 'string'},
1141 'persistent': {'type': 'boolean'},
1142 'pool': {'type': 'string'},
1143 'size': {'type': 'integer'},
1144 'volume-id': {'type': 'string'},
1145 'wwn': {'type': 'string'}},
1146 'required': ['volume-id', 'size', 'persistent'],
1148 'properties': {'AddToUnit': {'properties': {'Params': {'$ref': '#/definitions/StoragesAddParams'},
1149 'Result': {'$ref': '#/definitions/AddStorageResults'}},
1151 'Attach': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
1152 'Result': {'$ref': '#/definitions/ErrorResults'}},
1154 'CreatePool': {'properties': {'Params': {'$ref': '#/definitions/StoragePool'}},
1156 'Detach': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
1157 'Result': {'$ref': '#/definitions/ErrorResults'}},
1159 'Import': {'properties': {'Params': {'$ref': '#/definitions/BulkImportStorageParams'},
1160 'Result': {'$ref': '#/definitions/ImportStorageResults'}},
1162 'ListFilesystems': {'properties': {'Params': {'$ref': '#/definitions/FilesystemFilters'},
1163 'Result': {'$ref': '#/definitions/FilesystemDetailsListResults'}},
1165 'ListPools': {'properties': {'Params': {'$ref': '#/definitions/StoragePoolFilters'},
1166 'Result': {'$ref': '#/definitions/StoragePoolsResults'}},
1168 'ListStorageDetails': {'properties': {'Params': {'$ref': '#/definitions/StorageFilters'},
1169 'Result': {'$ref': '#/definitions/StorageDetailsListResults'}},
1171 'ListVolumes': {'properties': {'Params': {'$ref': '#/definitions/VolumeFilters'},
1172 'Result': {'$ref': '#/definitions/VolumeDetailsListResults'}},
1174 'Remove': {'properties': {'Params': {'$ref': '#/definitions/RemoveStorage'},
1175 'Result': {'$ref': '#/definitions/ErrorResults'}},
1177 'StorageDetails': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1178 'Result': {'$ref': '#/definitions/StorageDetailsResults'}},
1183 @ReturnMapping(AddStorageResults
)
1184 async def AddToUnit(self
, storages
):
1186 storages : typing.Sequence[~StorageAddParams]
1187 Returns -> typing.Sequence[~AddStorageResult]
1189 # map input types to rpc msg
1191 msg
= dict(type='Storage',
1192 request
='AddToUnit',
1195 _params
['storages'] = storages
1196 reply
= await self
.rpc(msg
)
1201 @ReturnMapping(ErrorResults
)
1202 async def Attach(self
, ids
):
1204 ids : typing.Sequence[~StorageAttachmentId]
1205 Returns -> typing.Sequence[~ErrorResult]
1207 # map input types to rpc msg
1209 msg
= dict(type='Storage',
1213 _params
['ids'] = ids
1214 reply
= await self
.rpc(msg
)
1219 @ReturnMapping(None)
1220 async def CreatePool(self
, attrs
, name
, provider
):
1222 attrs : typing.Mapping[str, typing.Any]
1227 # map input types to rpc msg
1229 msg
= dict(type='Storage',
1230 request
='CreatePool',
1233 _params
['attrs'] = attrs
1234 _params
['name'] = name
1235 _params
['provider'] = provider
1236 reply
= await self
.rpc(msg
)
1241 @ReturnMapping(ErrorResults
)
1242 async def Detach(self
, ids
):
1244 ids : typing.Sequence[~StorageAttachmentId]
1245 Returns -> typing.Sequence[~ErrorResult]
1247 # map input types to rpc msg
1249 msg
= dict(type='Storage',
1253 _params
['ids'] = ids
1254 reply
= await self
.rpc(msg
)
1259 @ReturnMapping(ImportStorageResults
)
1260 async def Import(self
, storage
):
1262 storage : typing.Sequence[~ImportStorageParams]
1263 Returns -> typing.Sequence[~ImportStorageResult]
1265 # map input types to rpc msg
1267 msg
= dict(type='Storage',
1271 _params
['storage'] = storage
1272 reply
= await self
.rpc(msg
)
1277 @ReturnMapping(FilesystemDetailsListResults
)
1278 async def ListFilesystems(self
, filters
):
1280 filters : typing.Sequence[~FilesystemFilter]
1281 Returns -> typing.Sequence[~FilesystemDetailsListResult]
1283 # map input types to rpc msg
1285 msg
= dict(type='Storage',
1286 request
='ListFilesystems',
1289 _params
['filters'] = filters
1290 reply
= await self
.rpc(msg
)
1295 @ReturnMapping(StoragePoolsResults
)
1296 async def ListPools(self
, filters
):
1298 filters : typing.Sequence[~StoragePoolFilter]
1299 Returns -> typing.Sequence[~StoragePoolsResult]
1301 # map input types to rpc msg
1303 msg
= dict(type='Storage',
1304 request
='ListPools',
1307 _params
['filters'] = filters
1308 reply
= await self
.rpc(msg
)
1313 @ReturnMapping(StorageDetailsListResults
)
1314 async def ListStorageDetails(self
, filters
):
1316 filters : typing.Sequence[~StorageFilter]
1317 Returns -> typing.Sequence[~StorageDetailsListResult]
1319 # map input types to rpc msg
1321 msg
= dict(type='Storage',
1322 request
='ListStorageDetails',
1325 _params
['filters'] = filters
1326 reply
= await self
.rpc(msg
)
1331 @ReturnMapping(VolumeDetailsListResults
)
1332 async def ListVolumes(self
, filters
):
1334 filters : typing.Sequence[~VolumeFilter]
1335 Returns -> typing.Sequence[~VolumeDetailsListResult]
1337 # map input types to rpc msg
1339 msg
= dict(type='Storage',
1340 request
='ListVolumes',
1343 _params
['filters'] = filters
1344 reply
= await self
.rpc(msg
)
1349 @ReturnMapping(ErrorResults
)
1350 async def Remove(self
, storage
):
1352 storage : typing.Sequence[~RemoveStorageInstance]
1353 Returns -> typing.Sequence[~ErrorResult]
1355 # map input types to rpc msg
1357 msg
= dict(type='Storage',
1361 _params
['storage'] = storage
1362 reply
= await self
.rpc(msg
)
1367 @ReturnMapping(StorageDetailsResults
)
1368 async def StorageDetails(self
, entities
):
1370 entities : typing.Sequence[~Entity]
1371 Returns -> typing.Sequence[~StorageDetailsResult]
1373 # map input types to rpc msg
1375 msg
= dict(type='Storage',
1376 request
='StorageDetails',
1379 _params
['entities'] = entities
1380 reply
= await self
.rpc(msg
)
1385 class StorageProvisionerFacade(Type
):
1386 name
= 'StorageProvisioner'
1388 schema
= {'definitions': {'BlockDevice': {'additionalProperties': False,
1389 'properties': {'BusAddress': {'type': 'string'},
1390 'DeviceLinks': {'items': {'type': 'string'},
1392 'DeviceName': {'type': 'string'},
1393 'FilesystemType': {'type': 'string'},
1394 'HardwareId': {'type': 'string'},
1395 'InUse': {'type': 'boolean'},
1396 'Label': {'type': 'string'},
1397 'MountPoint': {'type': 'string'},
1398 'Size': {'type': 'integer'},
1399 'UUID': {'type': 'string'},
1400 'WWN': {'type': 'string'}},
1401 'required': ['DeviceName',
1413 'BlockDeviceResult': {'additionalProperties': False,
1414 'properties': {'error': {'$ref': '#/definitions/Error'},
1415 'result': {'$ref': '#/definitions/BlockDevice'}},
1416 'required': ['result'],
1418 'BlockDeviceResults': {'additionalProperties': False,
1419 'properties': {'results': {'items': {'$ref': '#/definitions/BlockDeviceResult'},
1422 'Entities': {'additionalProperties': False,
1423 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
1425 'required': ['entities'],
1427 'Entity': {'additionalProperties': False,
1428 'properties': {'tag': {'type': 'string'}},
1429 'required': ['tag'],
1431 'EntityStatusArgs': {'additionalProperties': False,
1432 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
1435 'info': {'type': 'string'},
1436 'status': {'type': 'string'},
1437 'tag': {'type': 'string'}},
1443 'Error': {'additionalProperties': False,
1444 'properties': {'code': {'type': 'string'},
1445 'info': {'$ref': '#/definitions/ErrorInfo'},
1446 'message': {'type': 'string'}},
1447 'required': ['message', 'code'],
1449 'ErrorInfo': {'additionalProperties': False,
1450 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
1451 'macaroon-path': {'type': 'string'}},
1453 'ErrorResult': {'additionalProperties': False,
1454 'properties': {'error': {'$ref': '#/definitions/Error'}},
1456 'ErrorResults': {'additionalProperties': False,
1457 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
1459 'required': ['results'],
1461 'Filesystem': {'additionalProperties': False,
1462 'properties': {'filesystem-tag': {'type': 'string'},
1463 'info': {'$ref': '#/definitions/FilesystemInfo'},
1464 'volume-tag': {'type': 'string'}},
1465 'required': ['filesystem-tag', 'info'],
1467 'FilesystemAttachment': {'additionalProperties': False,
1468 'properties': {'filesystem-tag': {'type': 'string'},
1469 'info': {'$ref': '#/definitions/FilesystemAttachmentInfo'},
1470 'machine-tag': {'type': 'string'}},
1471 'required': ['filesystem-tag',
1475 'FilesystemAttachmentInfo': {'additionalProperties': False,
1476 'properties': {'mount-point': {'type': 'string'},
1477 'read-only': {'type': 'boolean'}},
1479 'FilesystemAttachmentParams': {'additionalProperties': False,
1480 'properties': {'filesystem-id': {'type': 'string'},
1481 'filesystem-tag': {'type': 'string'},
1482 'instance-id': {'type': 'string'},
1483 'machine-tag': {'type': 'string'},
1484 'mount-point': {'type': 'string'},
1485 'provider': {'type': 'string'},
1486 'read-only': {'type': 'boolean'}},
1487 'required': ['filesystem-tag',
1491 'FilesystemAttachmentParamsResult': {'additionalProperties': False,
1492 'properties': {'error': {'$ref': '#/definitions/Error'},
1493 'result': {'$ref': '#/definitions/FilesystemAttachmentParams'}},
1494 'required': ['result'],
1496 'FilesystemAttachmentParamsResults': {'additionalProperties': False,
1497 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemAttachmentParamsResult'},
1500 'FilesystemAttachmentResult': {'additionalProperties': False,
1501 'properties': {'error': {'$ref': '#/definitions/Error'},
1502 'result': {'$ref': '#/definitions/FilesystemAttachment'}},
1503 'required': ['result'],
1505 'FilesystemAttachmentResults': {'additionalProperties': False,
1506 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemAttachmentResult'},
1509 'FilesystemAttachments': {'additionalProperties': False,
1510 'properties': {'filesystem-attachments': {'items': {'$ref': '#/definitions/FilesystemAttachment'},
1512 'required': ['filesystem-attachments'],
1514 'FilesystemInfo': {'additionalProperties': False,
1515 'properties': {'filesystem-id': {'type': 'string'},
1516 'pool': {'type': 'string'},
1517 'size': {'type': 'integer'}},
1518 'required': ['filesystem-id',
1522 'FilesystemParams': {'additionalProperties': False,
1523 'properties': {'attachment': {'$ref': '#/definitions/FilesystemAttachmentParams'},
1524 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
1527 'filesystem-tag': {'type': 'string'},
1528 'provider': {'type': 'string'},
1529 'size': {'type': 'integer'},
1530 'tags': {'patternProperties': {'.*': {'type': 'string'}},
1532 'volume-tag': {'type': 'string'}},
1533 'required': ['filesystem-tag',
1537 'FilesystemParamsResult': {'additionalProperties': False,
1538 'properties': {'error': {'$ref': '#/definitions/Error'},
1539 'result': {'$ref': '#/definitions/FilesystemParams'}},
1540 'required': ['result'],
1542 'FilesystemParamsResults': {'additionalProperties': False,
1543 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemParamsResult'},
1546 'FilesystemResult': {'additionalProperties': False,
1547 'properties': {'error': {'$ref': '#/definitions/Error'},
1548 'result': {'$ref': '#/definitions/Filesystem'}},
1549 'required': ['result'],
1551 'FilesystemResults': {'additionalProperties': False,
1552 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemResult'},
1555 'Filesystems': {'additionalProperties': False,
1556 'properties': {'filesystems': {'items': {'$ref': '#/definitions/Filesystem'},
1558 'required': ['filesystems'],
1560 'LifeResult': {'additionalProperties': False,
1561 'properties': {'error': {'$ref': '#/definitions/Error'},
1562 'life': {'type': 'string'}},
1563 'required': ['life'],
1565 'LifeResults': {'additionalProperties': False,
1566 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
1568 'required': ['results'],
1570 'Macaroon': {'additionalProperties': False, 'type': 'object'},
1571 'MachineStorageId': {'additionalProperties': False,
1572 'properties': {'attachment-tag': {'type': 'string'},
1573 'machine-tag': {'type': 'string'}},
1574 'required': ['machine-tag',
1577 'MachineStorageIds': {'additionalProperties': False,
1578 'properties': {'ids': {'items': {'$ref': '#/definitions/MachineStorageId'},
1580 'required': ['ids'],
1582 'MachineStorageIdsWatchResult': {'additionalProperties': False,
1583 'properties': {'changes': {'items': {'$ref': '#/definitions/MachineStorageId'},
1585 'error': {'$ref': '#/definitions/Error'},
1586 'watcher-id': {'type': 'string'}},
1587 'required': ['watcher-id',
1590 'MachineStorageIdsWatchResults': {'additionalProperties': False,
1591 'properties': {'results': {'items': {'$ref': '#/definitions/MachineStorageIdsWatchResult'},
1593 'required': ['results'],
1595 'NotifyWatchResult': {'additionalProperties': False,
1596 'properties': {'NotifyWatcherId': {'type': 'string'},
1597 'error': {'$ref': '#/definitions/Error'}},
1598 'required': ['NotifyWatcherId'],
1600 'NotifyWatchResults': {'additionalProperties': False,
1601 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
1603 'required': ['results'],
1605 'RemoveFilesystemParams': {'additionalProperties': False,
1606 'properties': {'destroy': {'type': 'boolean'},
1607 'filesystem-id': {'type': 'string'},
1608 'provider': {'type': 'string'}},
1609 'required': ['provider',
1612 'RemoveFilesystemParamsResult': {'additionalProperties': False,
1613 'properties': {'error': {'$ref': '#/definitions/Error'},
1614 'result': {'$ref': '#/definitions/RemoveFilesystemParams'}},
1615 'required': ['result'],
1617 'RemoveFilesystemParamsResults': {'additionalProperties': False,
1618 'properties': {'results': {'items': {'$ref': '#/definitions/RemoveFilesystemParamsResult'},
1621 'RemoveVolumeParams': {'additionalProperties': False,
1622 'properties': {'destroy': {'type': 'boolean'},
1623 'provider': {'type': 'string'},
1624 'volume-id': {'type': 'string'}},
1625 'required': ['provider', 'volume-id'],
1627 'RemoveVolumeParamsResult': {'additionalProperties': False,
1628 'properties': {'error': {'$ref': '#/definitions/Error'},
1629 'result': {'$ref': '#/definitions/RemoveVolumeParams'}},
1630 'required': ['result'],
1632 'RemoveVolumeParamsResults': {'additionalProperties': False,
1633 'properties': {'results': {'items': {'$ref': '#/definitions/RemoveVolumeParamsResult'},
1636 'SetStatus': {'additionalProperties': False,
1637 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
1639 'required': ['entities'],
1641 'StringResult': {'additionalProperties': False,
1642 'properties': {'error': {'$ref': '#/definitions/Error'},
1643 'result': {'type': 'string'}},
1644 'required': ['result'],
1646 'StringResults': {'additionalProperties': False,
1647 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
1649 'required': ['results'],
1651 'StringsWatchResult': {'additionalProperties': False,
1652 'properties': {'changes': {'items': {'type': 'string'},
1654 'error': {'$ref': '#/definitions/Error'},
1655 'watcher-id': {'type': 'string'}},
1656 'required': ['watcher-id'],
1658 'StringsWatchResults': {'additionalProperties': False,
1659 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
1661 'required': ['results'],
1663 'Volume': {'additionalProperties': False,
1664 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
1665 'volume-tag': {'type': 'string'}},
1666 'required': ['volume-tag', 'info'],
1668 'VolumeAttachment': {'additionalProperties': False,
1669 'properties': {'info': {'$ref': '#/definitions/VolumeAttachmentInfo'},
1670 'machine-tag': {'type': 'string'},
1671 'volume-tag': {'type': 'string'}},
1672 'required': ['volume-tag',
1676 'VolumeAttachmentInfo': {'additionalProperties': False,
1677 'properties': {'bus-address': {'type': 'string'},
1678 'device-link': {'type': 'string'},
1679 'device-name': {'type': 'string'},
1680 'plan-info': {'$ref': '#/definitions/VolumeAttachmentPlanInfo'},
1681 'read-only': {'type': 'boolean'}},
1683 'VolumeAttachmentParams': {'additionalProperties': False,
1684 'properties': {'instance-id': {'type': 'string'},
1685 'machine-tag': {'type': 'string'},
1686 'provider': {'type': 'string'},
1687 'read-only': {'type': 'boolean'},
1688 'volume-id': {'type': 'string'},
1689 'volume-tag': {'type': 'string'}},
1690 'required': ['volume-tag',
1694 'VolumeAttachmentParamsResult': {'additionalProperties': False,
1695 'properties': {'error': {'$ref': '#/definitions/Error'},
1696 'result': {'$ref': '#/definitions/VolumeAttachmentParams'}},
1697 'required': ['result'],
1699 'VolumeAttachmentParamsResults': {'additionalProperties': False,
1700 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeAttachmentParamsResult'},
1703 'VolumeAttachmentPlan': {'additionalProperties': False,
1704 'properties': {'block-device': {'$ref': '#/definitions/BlockDevice'},
1705 'life': {'type': 'string'},
1706 'machine-tag': {'type': 'string'},
1707 'plan-info': {'$ref': '#/definitions/VolumeAttachmentPlanInfo'},
1708 'volume-tag': {'type': 'string'}},
1709 'required': ['volume-tag',
1713 'VolumeAttachmentPlanInfo': {'additionalProperties': False,
1714 'properties': {'device-attributes': {'patternProperties': {'.*': {'type': 'string'}},
1716 'device-type': {'type': 'string'}},
1718 'VolumeAttachmentPlanResult': {'additionalProperties': False,
1719 'properties': {'error': {'$ref': '#/definitions/Error'},
1720 'result': {'$ref': '#/definitions/VolumeAttachmentPlan'}},
1721 'required': ['result'],
1723 'VolumeAttachmentPlanResults': {'additionalProperties': False,
1724 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeAttachmentPlanResult'},
1727 'VolumeAttachmentPlans': {'additionalProperties': False,
1728 'properties': {'volume-plans': {'items': {'$ref': '#/definitions/VolumeAttachmentPlan'},
1730 'required': ['volume-plans'],
1732 'VolumeAttachmentResult': {'additionalProperties': False,
1733 'properties': {'error': {'$ref': '#/definitions/Error'},
1734 'result': {'$ref': '#/definitions/VolumeAttachment'}},
1735 'required': ['result'],
1737 'VolumeAttachmentResults': {'additionalProperties': False,
1738 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeAttachmentResult'},
1741 'VolumeAttachments': {'additionalProperties': False,
1742 'properties': {'volume-attachments': {'items': {'$ref': '#/definitions/VolumeAttachment'},
1744 'required': ['volume-attachments'],
1746 'VolumeInfo': {'additionalProperties': False,
1747 'properties': {'hardware-id': {'type': 'string'},
1748 'persistent': {'type': 'boolean'},
1749 'pool': {'type': 'string'},
1750 'size': {'type': 'integer'},
1751 'volume-id': {'type': 'string'},
1752 'wwn': {'type': 'string'}},
1753 'required': ['volume-id', 'size', 'persistent'],
1755 'VolumeParams': {'additionalProperties': False,
1756 'properties': {'attachment': {'$ref': '#/definitions/VolumeAttachmentParams'},
1757 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
1760 'provider': {'type': 'string'},
1761 'size': {'type': 'integer'},
1762 'tags': {'patternProperties': {'.*': {'type': 'string'}},
1764 'volume-tag': {'type': 'string'}},
1765 'required': ['volume-tag',
1769 'VolumeParamsResult': {'additionalProperties': False,
1770 'properties': {'error': {'$ref': '#/definitions/Error'},
1771 'result': {'$ref': '#/definitions/VolumeParams'}},
1772 'required': ['result'],
1774 'VolumeParamsResults': {'additionalProperties': False,
1775 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeParamsResult'},
1778 'VolumeResult': {'additionalProperties': False,
1779 'properties': {'error': {'$ref': '#/definitions/Error'},
1780 'result': {'$ref': '#/definitions/Volume'}},
1781 'required': ['result'],
1783 'VolumeResults': {'additionalProperties': False,
1784 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeResult'},
1787 'Volumes': {'additionalProperties': False,
1788 'properties': {'volumes': {'items': {'$ref': '#/definitions/Volume'},
1790 'required': ['volumes'],
1792 'properties': {'AttachmentLife': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
1793 'Result': {'$ref': '#/definitions/LifeResults'}},
1795 'CreateVolumeAttachmentPlans': {'properties': {'Params': {'$ref': '#/definitions/VolumeAttachmentPlans'},
1796 'Result': {'$ref': '#/definitions/ErrorResults'}},
1798 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1799 'Result': {'$ref': '#/definitions/ErrorResults'}},
1801 'FilesystemAttachmentParams': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
1802 'Result': {'$ref': '#/definitions/FilesystemAttachmentParamsResults'}},
1804 'FilesystemAttachments': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
1805 'Result': {'$ref': '#/definitions/FilesystemAttachmentResults'}},
1807 'FilesystemParams': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1808 'Result': {'$ref': '#/definitions/FilesystemParamsResults'}},
1810 'Filesystems': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1811 'Result': {'$ref': '#/definitions/FilesystemResults'}},
1813 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1814 'Result': {'$ref': '#/definitions/StringResults'}},
1816 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1817 'Result': {'$ref': '#/definitions/LifeResults'}},
1819 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1820 'Result': {'$ref': '#/definitions/ErrorResults'}},
1822 'RemoveAttachment': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
1823 'Result': {'$ref': '#/definitions/ErrorResults'}},
1825 'RemoveFilesystemParams': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1826 'Result': {'$ref': '#/definitions/RemoveFilesystemParamsResults'}},
1828 'RemoveVolumeAttachmentPlan': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
1829 'Result': {'$ref': '#/definitions/ErrorResults'}},
1831 'RemoveVolumeParams': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1832 'Result': {'$ref': '#/definitions/RemoveVolumeParamsResults'}},
1834 'SetFilesystemAttachmentInfo': {'properties': {'Params': {'$ref': '#/definitions/FilesystemAttachments'},
1835 'Result': {'$ref': '#/definitions/ErrorResults'}},
1837 'SetFilesystemInfo': {'properties': {'Params': {'$ref': '#/definitions/Filesystems'},
1838 'Result': {'$ref': '#/definitions/ErrorResults'}},
1840 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
1841 'Result': {'$ref': '#/definitions/ErrorResults'}},
1843 'SetVolumeAttachmentInfo': {'properties': {'Params': {'$ref': '#/definitions/VolumeAttachments'},
1844 'Result': {'$ref': '#/definitions/ErrorResults'}},
1846 'SetVolumeAttachmentPlanBlockInfo': {'properties': {'Params': {'$ref': '#/definitions/VolumeAttachmentPlans'},
1847 'Result': {'$ref': '#/definitions/ErrorResults'}},
1849 'SetVolumeInfo': {'properties': {'Params': {'$ref': '#/definitions/Volumes'},
1850 'Result': {'$ref': '#/definitions/ErrorResults'}},
1852 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
1853 'Result': {'$ref': '#/definitions/ErrorResults'}},
1855 'VolumeAttachmentParams': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
1856 'Result': {'$ref': '#/definitions/VolumeAttachmentParamsResults'}},
1858 'VolumeAttachmentPlans': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
1859 'Result': {'$ref': '#/definitions/VolumeAttachmentPlanResults'}},
1861 'VolumeAttachments': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
1862 'Result': {'$ref': '#/definitions/VolumeAttachmentResults'}},
1864 'VolumeBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
1865 'Result': {'$ref': '#/definitions/BlockDeviceResults'}},
1867 'VolumeParams': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1868 'Result': {'$ref': '#/definitions/VolumeParamsResults'}},
1870 'Volumes': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1871 'Result': {'$ref': '#/definitions/VolumeResults'}},
1873 'WatchApplications': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
1875 'WatchBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1876 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
1878 'WatchFilesystemAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1879 'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResults'}},
1881 'WatchFilesystems': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1882 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
1884 'WatchMachines': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1885 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
1887 'WatchVolumeAttachmentPlans': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1888 'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResults'}},
1890 'WatchVolumeAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1891 'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResults'}},
1893 'WatchVolumes': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1894 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
1899 @ReturnMapping(LifeResults
)
1900 async def AttachmentLife(self
, ids
):
1902 ids : typing.Sequence[~MachineStorageId]
1903 Returns -> typing.Sequence[~LifeResult]
1905 # map input types to rpc msg
1907 msg
= dict(type='StorageProvisioner',
1908 request
='AttachmentLife',
1911 _params
['ids'] = ids
1912 reply
= await self
.rpc(msg
)
1917 @ReturnMapping(ErrorResults
)
1918 async def CreateVolumeAttachmentPlans(self
, volume_plans
):
1920 volume_plans : typing.Sequence[~VolumeAttachmentPlan]
1921 Returns -> typing.Sequence[~ErrorResult]
1923 # map input types to rpc msg
1925 msg
= dict(type='StorageProvisioner',
1926 request
='CreateVolumeAttachmentPlans',
1929 _params
['volume-plans'] = volume_plans
1930 reply
= await self
.rpc(msg
)
1935 @ReturnMapping(ErrorResults
)
1936 async def EnsureDead(self
, entities
):
1938 entities : typing.Sequence[~Entity]
1939 Returns -> typing.Sequence[~ErrorResult]
1941 # map input types to rpc msg
1943 msg
= dict(type='StorageProvisioner',
1944 request
='EnsureDead',
1947 _params
['entities'] = entities
1948 reply
= await self
.rpc(msg
)
1953 @ReturnMapping(FilesystemAttachmentParamsResults
)
1954 async def FilesystemAttachmentParams(self
, ids
):
1956 ids : typing.Sequence[~MachineStorageId]
1957 Returns -> typing.Sequence[~FilesystemAttachmentParamsResult]
1959 # map input types to rpc msg
1961 msg
= dict(type='StorageProvisioner',
1962 request
='FilesystemAttachmentParams',
1965 _params
['ids'] = ids
1966 reply
= await self
.rpc(msg
)
1971 @ReturnMapping(FilesystemAttachmentResults
)
1972 async def FilesystemAttachments(self
, ids
):
1974 ids : typing.Sequence[~MachineStorageId]
1975 Returns -> typing.Sequence[~FilesystemAttachmentResult]
1977 # map input types to rpc msg
1979 msg
= dict(type='StorageProvisioner',
1980 request
='FilesystemAttachments',
1983 _params
['ids'] = ids
1984 reply
= await self
.rpc(msg
)
1989 @ReturnMapping(FilesystemParamsResults
)
1990 async def FilesystemParams(self
, entities
):
1992 entities : typing.Sequence[~Entity]
1993 Returns -> typing.Sequence[~FilesystemParamsResult]
1995 # map input types to rpc msg
1997 msg
= dict(type='StorageProvisioner',
1998 request
='FilesystemParams',
2001 _params
['entities'] = entities
2002 reply
= await self
.rpc(msg
)
2007 @ReturnMapping(FilesystemResults
)
2008 async def Filesystems(self
, entities
):
2010 entities : typing.Sequence[~Entity]
2011 Returns -> typing.Sequence[~FilesystemResult]
2013 # map input types to rpc msg
2015 msg
= dict(type='StorageProvisioner',
2016 request
='Filesystems',
2019 _params
['entities'] = entities
2020 reply
= await self
.rpc(msg
)
2025 @ReturnMapping(StringResults
)
2026 async def InstanceId(self
, entities
):
2028 entities : typing.Sequence[~Entity]
2029 Returns -> typing.Sequence[~StringResult]
2031 # map input types to rpc msg
2033 msg
= dict(type='StorageProvisioner',
2034 request
='InstanceId',
2037 _params
['entities'] = entities
2038 reply
= await self
.rpc(msg
)
2043 @ReturnMapping(LifeResults
)
2044 async def Life(self
, entities
):
2046 entities : typing.Sequence[~Entity]
2047 Returns -> typing.Sequence[~LifeResult]
2049 # map input types to rpc msg
2051 msg
= dict(type='StorageProvisioner',
2055 _params
['entities'] = entities
2056 reply
= await self
.rpc(msg
)
2061 @ReturnMapping(ErrorResults
)
2062 async def Remove(self
, entities
):
2064 entities : typing.Sequence[~Entity]
2065 Returns -> typing.Sequence[~ErrorResult]
2067 # map input types to rpc msg
2069 msg
= dict(type='StorageProvisioner',
2073 _params
['entities'] = entities
2074 reply
= await self
.rpc(msg
)
2079 @ReturnMapping(ErrorResults
)
2080 async def RemoveAttachment(self
, ids
):
2082 ids : typing.Sequence[~MachineStorageId]
2083 Returns -> typing.Sequence[~ErrorResult]
2085 # map input types to rpc msg
2087 msg
= dict(type='StorageProvisioner',
2088 request
='RemoveAttachment',
2091 _params
['ids'] = ids
2092 reply
= await self
.rpc(msg
)
2097 @ReturnMapping(RemoveFilesystemParamsResults
)
2098 async def RemoveFilesystemParams(self
, entities
):
2100 entities : typing.Sequence[~Entity]
2101 Returns -> typing.Sequence[~RemoveFilesystemParamsResult]
2103 # map input types to rpc msg
2105 msg
= dict(type='StorageProvisioner',
2106 request
='RemoveFilesystemParams',
2109 _params
['entities'] = entities
2110 reply
= await self
.rpc(msg
)
2115 @ReturnMapping(ErrorResults
)
2116 async def RemoveVolumeAttachmentPlan(self
, ids
):
2118 ids : typing.Sequence[~MachineStorageId]
2119 Returns -> typing.Sequence[~ErrorResult]
2121 # map input types to rpc msg
2123 msg
= dict(type='StorageProvisioner',
2124 request
='RemoveVolumeAttachmentPlan',
2127 _params
['ids'] = ids
2128 reply
= await self
.rpc(msg
)
2133 @ReturnMapping(RemoveVolumeParamsResults
)
2134 async def RemoveVolumeParams(self
, entities
):
2136 entities : typing.Sequence[~Entity]
2137 Returns -> typing.Sequence[~RemoveVolumeParamsResult]
2139 # map input types to rpc msg
2141 msg
= dict(type='StorageProvisioner',
2142 request
='RemoveVolumeParams',
2145 _params
['entities'] = entities
2146 reply
= await self
.rpc(msg
)
2151 @ReturnMapping(ErrorResults
)
2152 async def SetFilesystemAttachmentInfo(self
, filesystem_attachments
):
2154 filesystem_attachments : typing.Sequence[~FilesystemAttachment]
2155 Returns -> typing.Sequence[~ErrorResult]
2157 # map input types to rpc msg
2159 msg
= dict(type='StorageProvisioner',
2160 request
='SetFilesystemAttachmentInfo',
2163 _params
['filesystem-attachments'] = filesystem_attachments
2164 reply
= await self
.rpc(msg
)
2169 @ReturnMapping(ErrorResults
)
2170 async def SetFilesystemInfo(self
, filesystems
):
2172 filesystems : typing.Sequence[~Filesystem]
2173 Returns -> typing.Sequence[~ErrorResult]
2175 # map input types to rpc msg
2177 msg
= dict(type='StorageProvisioner',
2178 request
='SetFilesystemInfo',
2181 _params
['filesystems'] = filesystems
2182 reply
= await self
.rpc(msg
)
2187 @ReturnMapping(ErrorResults
)
2188 async def SetStatus(self
, entities
):
2190 entities : typing.Sequence[~EntityStatusArgs]
2191 Returns -> typing.Sequence[~ErrorResult]
2193 # map input types to rpc msg
2195 msg
= dict(type='StorageProvisioner',
2196 request
='SetStatus',
2199 _params
['entities'] = entities
2200 reply
= await self
.rpc(msg
)
2205 @ReturnMapping(ErrorResults
)
2206 async def SetVolumeAttachmentInfo(self
, volume_attachments
):
2208 volume_attachments : typing.Sequence[~VolumeAttachment]
2209 Returns -> typing.Sequence[~ErrorResult]
2211 # map input types to rpc msg
2213 msg
= dict(type='StorageProvisioner',
2214 request
='SetVolumeAttachmentInfo',
2217 _params
['volume-attachments'] = volume_attachments
2218 reply
= await self
.rpc(msg
)
2223 @ReturnMapping(ErrorResults
)
2224 async def SetVolumeAttachmentPlanBlockInfo(self
, volume_plans
):
2226 volume_plans : typing.Sequence[~VolumeAttachmentPlan]
2227 Returns -> typing.Sequence[~ErrorResult]
2229 # map input types to rpc msg
2231 msg
= dict(type='StorageProvisioner',
2232 request
='SetVolumeAttachmentPlanBlockInfo',
2235 _params
['volume-plans'] = volume_plans
2236 reply
= await self
.rpc(msg
)
2241 @ReturnMapping(ErrorResults
)
2242 async def SetVolumeInfo(self
, volumes
):
2244 volumes : typing.Sequence[~Volume]
2245 Returns -> typing.Sequence[~ErrorResult]
2247 # map input types to rpc msg
2249 msg
= dict(type='StorageProvisioner',
2250 request
='SetVolumeInfo',
2253 _params
['volumes'] = volumes
2254 reply
= await self
.rpc(msg
)
2259 @ReturnMapping(ErrorResults
)
2260 async def UpdateStatus(self
, entities
):
2262 entities : typing.Sequence[~EntityStatusArgs]
2263 Returns -> typing.Sequence[~ErrorResult]
2265 # map input types to rpc msg
2267 msg
= dict(type='StorageProvisioner',
2268 request
='UpdateStatus',
2271 _params
['entities'] = entities
2272 reply
= await self
.rpc(msg
)
2277 @ReturnMapping(VolumeAttachmentParamsResults
)
2278 async def VolumeAttachmentParams(self
, ids
):
2280 ids : typing.Sequence[~MachineStorageId]
2281 Returns -> typing.Sequence[~VolumeAttachmentParamsResult]
2283 # map input types to rpc msg
2285 msg
= dict(type='StorageProvisioner',
2286 request
='VolumeAttachmentParams',
2289 _params
['ids'] = ids
2290 reply
= await self
.rpc(msg
)
2295 @ReturnMapping(VolumeAttachmentPlanResults
)
2296 async def VolumeAttachmentPlans(self
, ids
):
2298 ids : typing.Sequence[~MachineStorageId]
2299 Returns -> typing.Sequence[~VolumeAttachmentPlanResult]
2301 # map input types to rpc msg
2303 msg
= dict(type='StorageProvisioner',
2304 request
='VolumeAttachmentPlans',
2307 _params
['ids'] = ids
2308 reply
= await self
.rpc(msg
)
2313 @ReturnMapping(VolumeAttachmentResults
)
2314 async def VolumeAttachments(self
, ids
):
2316 ids : typing.Sequence[~MachineStorageId]
2317 Returns -> typing.Sequence[~VolumeAttachmentResult]
2319 # map input types to rpc msg
2321 msg
= dict(type='StorageProvisioner',
2322 request
='VolumeAttachments',
2325 _params
['ids'] = ids
2326 reply
= await self
.rpc(msg
)
2331 @ReturnMapping(BlockDeviceResults
)
2332 async def VolumeBlockDevices(self
, ids
):
2334 ids : typing.Sequence[~MachineStorageId]
2335 Returns -> typing.Sequence[~BlockDeviceResult]
2337 # map input types to rpc msg
2339 msg
= dict(type='StorageProvisioner',
2340 request
='VolumeBlockDevices',
2343 _params
['ids'] = ids
2344 reply
= await self
.rpc(msg
)
2349 @ReturnMapping(VolumeParamsResults
)
2350 async def VolumeParams(self
, entities
):
2352 entities : typing.Sequence[~Entity]
2353 Returns -> typing.Sequence[~VolumeParamsResult]
2355 # map input types to rpc msg
2357 msg
= dict(type='StorageProvisioner',
2358 request
='VolumeParams',
2361 _params
['entities'] = entities
2362 reply
= await self
.rpc(msg
)
2367 @ReturnMapping(VolumeResults
)
2368 async def Volumes(self
, entities
):
2370 entities : typing.Sequence[~Entity]
2371 Returns -> typing.Sequence[~VolumeResult]
2373 # map input types to rpc msg
2375 msg
= dict(type='StorageProvisioner',
2379 _params
['entities'] = entities
2380 reply
= await self
.rpc(msg
)
2385 @ReturnMapping(StringsWatchResult
)
2386 async def WatchApplications(self
):
2389 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error'), str]
2391 # map input types to rpc msg
2393 msg
= dict(type='StorageProvisioner',
2394 request
='WatchApplications',
2398 reply
= await self
.rpc(msg
)
2403 @ReturnMapping(NotifyWatchResults
)
2404 async def WatchBlockDevices(self
, entities
):
2406 entities : typing.Sequence[~Entity]
2407 Returns -> typing.Sequence[~NotifyWatchResult]
2409 # map input types to rpc msg
2411 msg
= dict(type='StorageProvisioner',
2412 request
='WatchBlockDevices',
2415 _params
['entities'] = entities
2416 reply
= await self
.rpc(msg
)
2421 @ReturnMapping(MachineStorageIdsWatchResults
)
2422 async def WatchFilesystemAttachments(self
, entities
):
2424 entities : typing.Sequence[~Entity]
2425 Returns -> typing.Sequence[~MachineStorageIdsWatchResult]
2427 # map input types to rpc msg
2429 msg
= dict(type='StorageProvisioner',
2430 request
='WatchFilesystemAttachments',
2433 _params
['entities'] = entities
2434 reply
= await self
.rpc(msg
)
2439 @ReturnMapping(StringsWatchResults
)
2440 async def WatchFilesystems(self
, entities
):
2442 entities : typing.Sequence[~Entity]
2443 Returns -> typing.Sequence[~StringsWatchResult]
2445 # map input types to rpc msg
2447 msg
= dict(type='StorageProvisioner',
2448 request
='WatchFilesystems',
2451 _params
['entities'] = entities
2452 reply
= await self
.rpc(msg
)
2457 @ReturnMapping(NotifyWatchResults
)
2458 async def WatchMachines(self
, entities
):
2460 entities : typing.Sequence[~Entity]
2461 Returns -> typing.Sequence[~NotifyWatchResult]
2463 # map input types to rpc msg
2465 msg
= dict(type='StorageProvisioner',
2466 request
='WatchMachines',
2469 _params
['entities'] = entities
2470 reply
= await self
.rpc(msg
)
2475 @ReturnMapping(MachineStorageIdsWatchResults
)
2476 async def WatchVolumeAttachmentPlans(self
, entities
):
2478 entities : typing.Sequence[~Entity]
2479 Returns -> typing.Sequence[~MachineStorageIdsWatchResult]
2481 # map input types to rpc msg
2483 msg
= dict(type='StorageProvisioner',
2484 request
='WatchVolumeAttachmentPlans',
2487 _params
['entities'] = entities
2488 reply
= await self
.rpc(msg
)
2493 @ReturnMapping(MachineStorageIdsWatchResults
)
2494 async def WatchVolumeAttachments(self
, entities
):
2496 entities : typing.Sequence[~Entity]
2497 Returns -> typing.Sequence[~MachineStorageIdsWatchResult]