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]
2499 # map input types to rpc msg
2501 msg
= dict(type='StorageProvisioner',
2502 request
='WatchVolumeAttachments',
2505 _params
['entities'] = entities
2506 reply
= await self
.rpc(msg
)
2511 @ReturnMapping(StringsWatchResults
)
2512 async def WatchVolumes(self
, entities
):
2514 entities : typing.Sequence[~Entity]
2515 Returns -> typing.Sequence[~StringsWatchResult]
2517 # map input types to rpc msg
2519 msg
= dict(type='StorageProvisioner',
2520 request
='WatchVolumes',
2523 _params
['entities'] = entities
2524 reply
= await self
.rpc(msg
)
2529 class UniterFacade(Type
):
2532 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
2533 'properties': {'servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
2536 'required': ['servers'],
2538 'Action': {'additionalProperties': False,
2539 'properties': {'name': {'type': 'string'},
2540 'parameters': {'patternProperties': {'.*': {'additionalProperties': True,
2543 'receiver': {'type': 'string'},
2544 'tag': {'type': 'string'}},
2545 'required': ['tag', 'receiver', 'name'],
2547 'ActionExecutionResult': {'additionalProperties': False,
2548 'properties': {'action-tag': {'type': 'string'},
2549 'message': {'type': 'string'},
2550 'results': {'patternProperties': {'.*': {'additionalProperties': True,
2553 'status': {'type': 'string'}},
2554 'required': ['action-tag', 'status'],
2556 'ActionExecutionResults': {'additionalProperties': False,
2557 'properties': {'results': {'items': {'$ref': '#/definitions/ActionExecutionResult'},
2560 'ActionResult': {'additionalProperties': False,
2561 'properties': {'action': {'$ref': '#/definitions/Action'},
2562 'completed': {'format': 'date-time',
2564 'enqueued': {'format': 'date-time',
2566 'error': {'$ref': '#/definitions/Error'},
2567 'message': {'type': 'string'},
2568 'output': {'patternProperties': {'.*': {'additionalProperties': True,
2571 'started': {'format': 'date-time',
2573 'status': {'type': 'string'}},
2575 'ActionResults': {'additionalProperties': False,
2576 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'},
2579 'Address': {'additionalProperties': False,
2580 'properties': {'scope': {'type': 'string'},
2581 'space-name': {'type': 'string'},
2582 'type': {'type': 'string'},
2583 'value': {'type': 'string'}},
2584 'required': ['value', 'type', 'scope'],
2586 'ApplicationStatusResult': {'additionalProperties': False,
2587 'properties': {'application': {'$ref': '#/definitions/StatusResult'},
2588 'error': {'$ref': '#/definitions/Error'},
2589 'units': {'patternProperties': {'.*': {'$ref': '#/definitions/StatusResult'}},
2591 'required': ['application',
2594 'ApplicationStatusResults': {'additionalProperties': False,
2595 'properties': {'results': {'items': {'$ref': '#/definitions/ApplicationStatusResult'},
2597 'required': ['results'],
2599 'BoolResult': {'additionalProperties': False,
2600 'properties': {'error': {'$ref': '#/definitions/Error'},
2601 'result': {'type': 'boolean'}},
2602 'required': ['result'],
2604 'BoolResults': {'additionalProperties': False,
2605 'properties': {'results': {'items': {'$ref': '#/definitions/BoolResult'},
2607 'required': ['results'],
2609 'BytesResult': {'additionalProperties': False,
2610 'properties': {'result': {'items': {'type': 'integer'},
2612 'required': ['result'],
2614 'CharmRelation': {'additionalProperties': False,
2615 'properties': {'interface': {'type': 'string'},
2616 'limit': {'type': 'integer'},
2617 'name': {'type': 'string'},
2618 'optional': {'type': 'boolean'},
2619 'role': {'type': 'string'},
2620 'scope': {'type': 'string'}},
2621 'required': ['name',
2628 'CharmURL': {'additionalProperties': False,
2629 'properties': {'url': {'type': 'string'}},
2630 'required': ['url'],
2632 'CharmURLs': {'additionalProperties': False,
2633 'properties': {'urls': {'items': {'$ref': '#/definitions/CharmURL'},
2635 'required': ['urls'],
2637 'ConfigSettingsResult': {'additionalProperties': False,
2638 'properties': {'error': {'$ref': '#/definitions/Error'},
2639 'settings': {'patternProperties': {'.*': {'additionalProperties': True,
2642 'required': ['settings'],
2644 'ConfigSettingsResults': {'additionalProperties': False,
2645 'properties': {'results': {'items': {'$ref': '#/definitions/ConfigSettingsResult'},
2647 'required': ['results'],
2649 'Endpoint': {'additionalProperties': False,
2650 'properties': {'application-name': {'type': 'string'},
2651 'relation': {'$ref': '#/definitions/CharmRelation'}},
2652 'required': ['application-name', 'relation'],
2654 'Entities': {'additionalProperties': False,
2655 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
2657 'required': ['entities'],
2659 'EntitiesCharmURL': {'additionalProperties': False,
2660 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityCharmURL'},
2662 'required': ['entities'],
2664 'EntitiesPortRanges': {'additionalProperties': False,
2665 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityPortRange'},
2667 'required': ['entities'],
2669 'Entity': {'additionalProperties': False,
2670 'properties': {'tag': {'type': 'string'}},
2671 'required': ['tag'],
2673 'EntityCharmURL': {'additionalProperties': False,
2674 'properties': {'charm-url': {'type': 'string'},
2675 'tag': {'type': 'string'}},
2676 'required': ['tag', 'charm-url'],
2678 'EntityPortRange': {'additionalProperties': False,
2679 'properties': {'from-port': {'type': 'integer'},
2680 'protocol': {'type': 'string'},
2681 'tag': {'type': 'string'},
2682 'to-port': {'type': 'integer'}},
2688 'EntityStatusArgs': {'additionalProperties': False,
2689 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
2692 'info': {'type': 'string'},
2693 'status': {'type': 'string'},
2694 'tag': {'type': 'string'}},
2700 'EntityWorkloadVersion': {'additionalProperties': False,
2701 'properties': {'tag': {'type': 'string'},
2702 'workload-version': {'type': 'string'}},
2704 'workload-version'],
2706 'EntityWorkloadVersions': {'additionalProperties': False,
2707 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityWorkloadVersion'},
2709 'required': ['entities'],
2711 'Error': {'additionalProperties': False,
2712 'properties': {'code': {'type': 'string'},
2713 'info': {'$ref': '#/definitions/ErrorInfo'},
2714 'message': {'type': 'string'}},
2715 'required': ['message', 'code'],
2717 'ErrorInfo': {'additionalProperties': False,
2718 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
2719 'macaroon-path': {'type': 'string'}},
2721 'ErrorResult': {'additionalProperties': False,
2722 'properties': {'error': {'$ref': '#/definitions/Error'}},
2724 'ErrorResults': {'additionalProperties': False,
2725 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
2727 'required': ['results'],
2729 'GetLeadershipSettingsBulkResults': {'additionalProperties': False,
2730 'properties': {'results': {'items': {'$ref': '#/definitions/GetLeadershipSettingsResult'},
2732 'required': ['results'],
2734 'GetLeadershipSettingsResult': {'additionalProperties': False,
2735 'properties': {'error': {'$ref': '#/definitions/Error'},
2736 'settings': {'patternProperties': {'.*': {'type': 'string'}},
2738 'required': ['settings'],
2740 'HostPort': {'additionalProperties': False,
2741 'properties': {'Address': {'$ref': '#/definitions/Address'},
2742 'port': {'type': 'integer'}},
2743 'required': ['Address', 'port'],
2745 'IntResult': {'additionalProperties': False,
2746 'properties': {'error': {'$ref': '#/definitions/Error'},
2747 'result': {'type': 'integer'}},
2748 'required': ['result'],
2750 'IntResults': {'additionalProperties': False,
2751 'properties': {'results': {'items': {'$ref': '#/definitions/IntResult'},
2753 'required': ['results'],
2755 'LifeResult': {'additionalProperties': False,
2756 'properties': {'error': {'$ref': '#/definitions/Error'},
2757 'life': {'type': 'string'}},
2758 'required': ['life'],
2760 'LifeResults': {'additionalProperties': False,
2761 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
2763 'required': ['results'],
2765 'Macaroon': {'additionalProperties': False, 'type': 'object'},
2766 'MachinePortRange': {'additionalProperties': False,
2767 'properties': {'port-range': {'$ref': '#/definitions/PortRange'},
2768 'relation-tag': {'type': 'string'},
2769 'unit-tag': {'type': 'string'}},
2770 'required': ['unit-tag',
2774 'MachinePortsResult': {'additionalProperties': False,
2775 'properties': {'error': {'$ref': '#/definitions/Error'},
2776 'ports': {'items': {'$ref': '#/definitions/MachinePortRange'},
2778 'required': ['ports'],
2780 'MachinePortsResults': {'additionalProperties': False,
2781 'properties': {'results': {'items': {'$ref': '#/definitions/MachinePortsResult'},
2783 'required': ['results'],
2785 'MergeLeadershipSettingsBulkParams': {'additionalProperties': False,
2786 'properties': {'params': {'items': {'$ref': '#/definitions/MergeLeadershipSettingsParam'},
2788 'required': ['params'],
2790 'MergeLeadershipSettingsParam': {'additionalProperties': False,
2791 'properties': {'application-tag': {'type': 'string'},
2792 'settings': {'patternProperties': {'.*': {'type': 'string'}},
2794 'required': ['application-tag',
2797 'MeterStatusResult': {'additionalProperties': False,
2798 'properties': {'code': {'type': 'string'},
2799 'error': {'$ref': '#/definitions/Error'},
2800 'info': {'type': 'string'}},
2801 'required': ['code', 'info'],
2803 'MeterStatusResults': {'additionalProperties': False,
2804 'properties': {'results': {'items': {'$ref': '#/definitions/MeterStatusResult'},
2806 'required': ['results'],
2808 'Metric': {'additionalProperties': False,
2809 'properties': {'key': {'type': 'string'},
2810 'time': {'format': 'date-time',
2812 'value': {'type': 'string'}},
2813 'required': ['key', 'value', 'time'],
2815 'MetricBatch': {'additionalProperties': False,
2816 'properties': {'charm-url': {'type': 'string'},
2817 'created': {'format': 'date-time',
2819 'metrics': {'items': {'$ref': '#/definitions/Metric'},
2821 'uuid': {'type': 'string'}},
2822 'required': ['uuid',
2827 'MetricBatchParam': {'additionalProperties': False,
2828 'properties': {'batch': {'$ref': '#/definitions/MetricBatch'},
2829 'tag': {'type': 'string'}},
2830 'required': ['tag', 'batch'],
2832 'MetricBatchParams': {'additionalProperties': False,
2833 'properties': {'batches': {'items': {'$ref': '#/definitions/MetricBatchParam'},
2835 'required': ['batches'],
2837 'ModelConfigResult': {'additionalProperties': False,
2838 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
2841 'required': ['config'],
2843 'ModelResult': {'additionalProperties': False,
2844 'properties': {'error': {'$ref': '#/definitions/Error'},
2845 'name': {'type': 'string'},
2846 'uuid': {'type': 'string'}},
2847 'required': ['name', 'uuid'],
2849 'NetworkConfig': {'additionalProperties': False,
2850 'properties': {'address': {'type': 'string'},
2851 'cidr': {'type': 'string'},
2852 'config-type': {'type': 'string'},
2853 'device-index': {'type': 'integer'},
2854 'disabled': {'type': 'boolean'},
2855 'dns-search-domains': {'items': {'type': 'string'},
2857 'dns-servers': {'items': {'type': 'string'},
2859 'gateway-address': {'type': 'string'},
2860 'interface-name': {'type': 'string'},
2861 'interface-type': {'type': 'string'},
2862 'mac-address': {'type': 'string'},
2863 'mtu': {'type': 'integer'},
2864 'no-auto-start': {'type': 'boolean'},
2865 'parent-interface-name': {'type': 'string'},
2866 'provider-address-id': {'type': 'string'},
2867 'provider-id': {'type': 'string'},
2868 'provider-space-id': {'type': 'string'},
2869 'provider-subnet-id': {'type': 'string'},
2870 'provider-vlan-id': {'type': 'string'},
2871 'routes': {'items': {'$ref': '#/definitions/NetworkRoute'},
2873 'vlan-tag': {'type': 'integer'}},
2874 'required': ['device-index',
2879 'provider-subnet-id',
2880 'provider-space-id',
2881 'provider-address-id',
2885 'parent-interface-name',
2889 'NetworkRoute': {'additionalProperties': False,
2890 'properties': {'destination-cidr': {'type': 'string'},
2891 'gateway-ip': {'type': 'string'},
2892 'metric': {'type': 'integer'}},
2893 'required': ['destination-cidr',
2897 'NotifyWatchResult': {'additionalProperties': False,
2898 'properties': {'NotifyWatcherId': {'type': 'string'},
2899 'error': {'$ref': '#/definitions/Error'}},
2900 'required': ['NotifyWatcherId'],
2902 'NotifyWatchResults': {'additionalProperties': False,
2903 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
2905 'required': ['results'],
2907 'PortRange': {'additionalProperties': False,
2908 'properties': {'from-port': {'type': 'integer'},
2909 'protocol': {'type': 'string'},
2910 'to-port': {'type': 'integer'}},
2911 'required': ['from-port', 'to-port', 'protocol'],
2913 'RelationIds': {'additionalProperties': False,
2914 'properties': {'relation-ids': {'items': {'type': 'integer'},
2916 'required': ['relation-ids'],
2918 'RelationResult': {'additionalProperties': False,
2919 'properties': {'endpoint': {'$ref': '#/definitions/Endpoint'},
2920 'error': {'$ref': '#/definitions/Error'},
2921 'id': {'type': 'integer'},
2922 'key': {'type': 'string'},
2923 'life': {'type': 'string'}},
2924 'required': ['life',
2929 'RelationResults': {'additionalProperties': False,
2930 'properties': {'results': {'items': {'$ref': '#/definitions/RelationResult'},
2932 'required': ['results'],
2934 'RelationUnit': {'additionalProperties': False,
2935 'properties': {'relation': {'type': 'string'},
2936 'unit': {'type': 'string'}},
2937 'required': ['relation', 'unit'],
2939 'RelationUnitPair': {'additionalProperties': False,
2940 'properties': {'local-unit': {'type': 'string'},
2941 'relation': {'type': 'string'},
2942 'remote-unit': {'type': 'string'}},
2943 'required': ['relation',
2947 'RelationUnitPairs': {'additionalProperties': False,
2948 'properties': {'relation-unit-pairs': {'items': {'$ref': '#/definitions/RelationUnitPair'},
2950 'required': ['relation-unit-pairs'],
2952 'RelationUnitSettings': {'additionalProperties': False,
2953 'properties': {'relation': {'type': 'string'},
2954 'settings': {'patternProperties': {'.*': {'type': 'string'}},
2956 'unit': {'type': 'string'}},
2957 'required': ['relation',
2961 'RelationUnits': {'additionalProperties': False,
2962 'properties': {'relation-units': {'items': {'$ref': '#/definitions/RelationUnit'},
2964 'required': ['relation-units'],
2966 'RelationUnitsChange': {'additionalProperties': False,
2967 'properties': {'changed': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitSettings'}},
2969 'departed': {'items': {'type': 'string'},
2971 'required': ['changed'],
2973 'RelationUnitsSettings': {'additionalProperties': False,
2974 'properties': {'relation-units': {'items': {'$ref': '#/definitions/RelationUnitSettings'},
2976 'required': ['relation-units'],
2978 'RelationUnitsWatchResult': {'additionalProperties': False,
2979 'properties': {'changes': {'$ref': '#/definitions/RelationUnitsChange'},
2980 'error': {'$ref': '#/definitions/Error'},
2981 'watcher-id': {'type': 'string'}},
2982 'required': ['watcher-id',
2985 'RelationUnitsWatchResults': {'additionalProperties': False,
2986 'properties': {'results': {'items': {'$ref': '#/definitions/RelationUnitsWatchResult'},
2988 'required': ['results'],
2990 'ResolvedModeResult': {'additionalProperties': False,
2991 'properties': {'error': {'$ref': '#/definitions/Error'},
2992 'mode': {'type': 'string'}},
2993 'required': ['mode'],
2995 'ResolvedModeResults': {'additionalProperties': False,
2996 'properties': {'results': {'items': {'$ref': '#/definitions/ResolvedModeResult'},
2998 'required': ['results'],
3000 'SetStatus': {'additionalProperties': False,
3001 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
3003 'required': ['entities'],
3005 'SettingsResult': {'additionalProperties': False,
3006 'properties': {'error': {'$ref': '#/definitions/Error'},
3007 'settings': {'patternProperties': {'.*': {'type': 'string'}},
3009 'required': ['settings'],
3011 'SettingsResults': {'additionalProperties': False,
3012 'properties': {'results': {'items': {'$ref': '#/definitions/SettingsResult'},
3014 'required': ['results'],
3016 'StatusResult': {'additionalProperties': False,
3017 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
3020 'error': {'$ref': '#/definitions/Error'},
3021 'id': {'type': 'string'},
3022 'info': {'type': 'string'},
3023 'life': {'type': 'string'},
3024 'since': {'format': 'date-time',
3026 'status': {'type': 'string'}},
3034 'StatusResults': {'additionalProperties': False,
3035 'properties': {'results': {'items': {'$ref': '#/definitions/StatusResult'},
3037 'required': ['results'],
3039 'StorageAddParams': {'additionalProperties': False,
3040 'properties': {'name': {'type': 'string'},
3041 'storage': {'$ref': '#/definitions/StorageConstraints'},
3042 'unit': {'type': 'string'}},
3043 'required': ['unit', 'name', 'storage'],
3045 'StorageAttachment': {'additionalProperties': False,
3046 'properties': {'kind': {'type': 'integer'},
3047 'life': {'type': 'string'},
3048 'location': {'type': 'string'},
3049 'owner-tag': {'type': 'string'},
3050 'storage-tag': {'type': 'string'},
3051 'unit-tag': {'type': 'string'}},
3052 'required': ['storage-tag',
3059 'StorageAttachmentId': {'additionalProperties': False,
3060 'properties': {'storage-tag': {'type': 'string'},
3061 'unit-tag': {'type': 'string'}},
3062 'required': ['storage-tag',
3065 'StorageAttachmentIds': {'additionalProperties': False,
3066 'properties': {'ids': {'items': {'$ref': '#/definitions/StorageAttachmentId'},
3068 'required': ['ids'],
3070 'StorageAttachmentIdsResult': {'additionalProperties': False,
3071 'properties': {'error': {'$ref': '#/definitions/Error'},
3072 'result': {'$ref': '#/definitions/StorageAttachmentIds'}},
3073 'required': ['result'],
3075 'StorageAttachmentIdsResults': {'additionalProperties': False,
3076 'properties': {'results': {'items': {'$ref': '#/definitions/StorageAttachmentIdsResult'},
3079 'StorageAttachmentResult': {'additionalProperties': False,
3080 'properties': {'error': {'$ref': '#/definitions/Error'},
3081 'result': {'$ref': '#/definitions/StorageAttachment'}},
3082 'required': ['result'],
3084 'StorageAttachmentResults': {'additionalProperties': False,
3085 'properties': {'results': {'items': {'$ref': '#/definitions/StorageAttachmentResult'},
3088 'StorageConstraints': {'additionalProperties': False,
3089 'properties': {'count': {'type': 'integer'},
3090 'pool': {'type': 'string'},
3091 'size': {'type': 'integer'}},
3093 'StoragesAddParams': {'additionalProperties': False,
3094 'properties': {'storages': {'items': {'$ref': '#/definitions/StorageAddParams'},
3096 'required': ['storages'],
3098 'StringBoolResult': {'additionalProperties': False,
3099 'properties': {'error': {'$ref': '#/definitions/Error'},
3100 'ok': {'type': 'boolean'},
3101 'result': {'type': 'string'}},
3102 'required': ['result', 'ok'],
3104 'StringBoolResults': {'additionalProperties': False,
3105 'properties': {'results': {'items': {'$ref': '#/definitions/StringBoolResult'},
3107 'required': ['results'],
3109 'StringResult': {'additionalProperties': False,
3110 'properties': {'error': {'$ref': '#/definitions/Error'},
3111 'result': {'type': 'string'}},
3112 'required': ['result'],
3114 'StringResults': {'additionalProperties': False,
3115 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
3117 'required': ['results'],
3119 'StringsResult': {'additionalProperties': False,
3120 'properties': {'error': {'$ref': '#/definitions/Error'},
3121 'result': {'items': {'type': 'string'},
3124 'StringsResults': {'additionalProperties': False,
3125 'properties': {'results': {'items': {'$ref': '#/definitions/StringsResult'},
3127 'required': ['results'],
3129 'StringsWatchResult': {'additionalProperties': False,
3130 'properties': {'changes': {'items': {'type': 'string'},
3132 'error': {'$ref': '#/definitions/Error'},
3133 'watcher-id': {'type': 'string'}},
3134 'required': ['watcher-id'],
3136 'StringsWatchResults': {'additionalProperties': False,
3137 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
3139 'required': ['results'],
3141 'UnitNetworkConfig': {'additionalProperties': False,
3142 'properties': {'binding-name': {'type': 'string'},
3143 'unit-tag': {'type': 'string'}},
3144 'required': ['unit-tag', 'binding-name'],
3146 'UnitNetworkConfigResult': {'additionalProperties': False,
3147 'properties': {'error': {'$ref': '#/definitions/Error'},
3148 'info': {'items': {'$ref': '#/definitions/NetworkConfig'},
3150 'required': ['info'],
3152 'UnitNetworkConfigResults': {'additionalProperties': False,
3153 'properties': {'results': {'items': {'$ref': '#/definitions/UnitNetworkConfigResult'},
3155 'required': ['results'],
3157 'UnitSettings': {'additionalProperties': False,
3158 'properties': {'version': {'type': 'integer'}},
3159 'required': ['version'],
3161 'UnitsNetworkConfig': {'additionalProperties': False,
3162 'properties': {'args': {'items': {'$ref': '#/definitions/UnitNetworkConfig'},
3164 'required': ['args'],
3166 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
3168 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
3170 'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3171 'Result': {'$ref': '#/definitions/ActionResults'}},
3173 'AddMetricBatches': {'properties': {'Params': {'$ref': '#/definitions/MetricBatchParams'},
3174 'Result': {'$ref': '#/definitions/ErrorResults'}},
3176 'AddUnitStorage': {'properties': {'Params': {'$ref': '#/definitions/StoragesAddParams'},
3177 'Result': {'$ref': '#/definitions/ErrorResults'}},
3179 'AllMachinePorts': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3180 'Result': {'$ref': '#/definitions/MachinePortsResults'}},
3182 'ApplicationStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3183 'Result': {'$ref': '#/definitions/ApplicationStatusResults'}},
3185 'AssignedMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3186 'Result': {'$ref': '#/definitions/StringResults'}},
3188 'AvailabilityZone': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3189 'Result': {'$ref': '#/definitions/StringResults'}},
3191 'BeginActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3192 'Result': {'$ref': '#/definitions/ErrorResults'}},
3194 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
3196 'CharmArchiveSha256': {'properties': {'Params': {'$ref': '#/definitions/CharmURLs'},
3197 'Result': {'$ref': '#/definitions/StringResults'}},
3199 'CharmModifiedVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3200 'Result': {'$ref': '#/definitions/IntResults'}},
3202 'CharmURL': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3203 'Result': {'$ref': '#/definitions/StringBoolResults'}},
3205 'ClearResolved': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3206 'Result': {'$ref': '#/definitions/ErrorResults'}},
3208 'ClosePorts': {'properties': {'Params': {'$ref': '#/definitions/EntitiesPortRanges'},
3209 'Result': {'$ref': '#/definitions/ErrorResults'}},
3211 'ConfigSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3212 'Result': {'$ref': '#/definitions/ConfigSettingsResults'}},
3214 'CurrentModel': {'properties': {'Result': {'$ref': '#/definitions/ModelResult'}},
3216 'Destroy': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3217 'Result': {'$ref': '#/definitions/ErrorResults'}},
3219 'DestroyAllSubordinates': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3220 'Result': {'$ref': '#/definitions/ErrorResults'}},
3222 'DestroyUnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3223 'Result': {'$ref': '#/definitions/ErrorResults'}},
3225 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3226 'Result': {'$ref': '#/definitions/ErrorResults'}},
3228 'EnterScope': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
3229 'Result': {'$ref': '#/definitions/ErrorResults'}},
3231 'FinishActions': {'properties': {'Params': {'$ref': '#/definitions/ActionExecutionResults'},
3232 'Result': {'$ref': '#/definitions/ErrorResults'}},
3234 'GetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3235 'Result': {'$ref': '#/definitions/MeterStatusResults'}},
3237 'GetPrincipal': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3238 'Result': {'$ref': '#/definitions/StringBoolResults'}},
3240 'HasSubordinates': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3241 'Result': {'$ref': '#/definitions/BoolResults'}},
3243 'JoinedRelations': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3244 'Result': {'$ref': '#/definitions/StringsResults'}},
3246 'LeaveScope': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
3247 'Result': {'$ref': '#/definitions/ErrorResults'}},
3249 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3250 'Result': {'$ref': '#/definitions/LifeResults'}},
3252 'Merge': {'properties': {'Params': {'$ref': '#/definitions/MergeLeadershipSettingsBulkParams'},
3253 'Result': {'$ref': '#/definitions/ErrorResults'}},
3255 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
3257 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
3259 'NetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/UnitsNetworkConfig'},
3260 'Result': {'$ref': '#/definitions/UnitNetworkConfigResults'}},
3262 'OpenPorts': {'properties': {'Params': {'$ref': '#/definitions/EntitiesPortRanges'},
3263 'Result': {'$ref': '#/definitions/ErrorResults'}},
3265 'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3266 'Result': {'$ref': '#/definitions/StringResults'}},
3268 'ProviderType': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
3270 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3271 'Result': {'$ref': '#/definitions/StringResults'}},
3273 'Read': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3274 'Result': {'$ref': '#/definitions/GetLeadershipSettingsBulkResults'}},
3276 'ReadRemoteSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnitPairs'},
3277 'Result': {'$ref': '#/definitions/SettingsResults'}},
3279 'ReadSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
3280 'Result': {'$ref': '#/definitions/SettingsResults'}},
3282 'Relation': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
3283 'Result': {'$ref': '#/definitions/RelationResults'}},
3285 'RelationById': {'properties': {'Params': {'$ref': '#/definitions/RelationIds'},
3286 'Result': {'$ref': '#/definitions/RelationResults'}},
3288 'RemoveStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
3289 'Result': {'$ref': '#/definitions/ErrorResults'}},
3291 'RequestReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3292 'Result': {'$ref': '#/definitions/ErrorResults'}},
3294 'Resolved': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3295 'Result': {'$ref': '#/definitions/ResolvedModeResults'}},
3297 'SetAgentStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
3298 'Result': {'$ref': '#/definitions/ErrorResults'}},
3300 'SetApplicationStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
3301 'Result': {'$ref': '#/definitions/ErrorResults'}},
3303 'SetCharmURL': {'properties': {'Params': {'$ref': '#/definitions/EntitiesCharmURL'},
3304 'Result': {'$ref': '#/definitions/ErrorResults'}},
3306 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
3307 'Result': {'$ref': '#/definitions/ErrorResults'}},
3309 'SetUnitStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
3310 'Result': {'$ref': '#/definitions/ErrorResults'}},
3312 'SetWorkloadVersion': {'properties': {'Params': {'$ref': '#/definitions/EntityWorkloadVersions'},
3313 'Result': {'$ref': '#/definitions/ErrorResults'}},
3315 'StorageAttachmentLife': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
3316 'Result': {'$ref': '#/definitions/LifeResults'}},
3318 'StorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
3319 'Result': {'$ref': '#/definitions/StorageAttachmentResults'}},
3321 'UnitStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3322 'Result': {'$ref': '#/definitions/StatusResults'}},
3324 'UnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3325 'Result': {'$ref': '#/definitions/StorageAttachmentIdsResults'}},
3327 'UpdateSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnitsSettings'},
3328 'Result': {'$ref': '#/definitions/ErrorResults'}},
3330 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3331 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
3333 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
3335 'WatchActionNotifications': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3336 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
3338 'WatchApplicationRelations': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3339 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
3341 'WatchConfigSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3342 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
3344 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
3346 'WatchLeadershipSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3347 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
3349 'WatchMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3350 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
3352 'WatchRelationUnits': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
3353 'Result': {'$ref': '#/definitions/RelationUnitsWatchResults'}},
3355 'WatchStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
3356 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
3358 'WatchUnitAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3359 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
3361 'WatchUnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3362 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
3364 'WorkloadVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3365 'Result': {'$ref': '#/definitions/StringResults'}},
3370 @ReturnMapping(StringsResult
)
3371 async def APIAddresses(self
):
3374 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
3376 # map input types to rpc msg
3378 msg
= dict(type='Uniter',
3379 request
='APIAddresses',
3383 reply
= await self
.rpc(msg
)
3388 @ReturnMapping(APIHostPortsResult
)
3389 async def APIHostPorts(self
):
3392 Returns -> typing.Sequence[~HostPort]
3394 # map input types to rpc msg
3396 msg
= dict(type='Uniter',
3397 request
='APIHostPorts',
3401 reply
= await self
.rpc(msg
)
3406 @ReturnMapping(ActionResults
)
3407 async def Actions(self
, entities
):
3409 entities : typing.Sequence[~Entity]
3410 Returns -> typing.Sequence[~ActionResult]
3412 # map input types to rpc msg
3414 msg
= dict(type='Uniter',
3418 _params
['entities'] = entities
3419 reply
= await self
.rpc(msg
)
3424 @ReturnMapping(ErrorResults
)
3425 async def AddMetricBatches(self
, batches
):
3427 batches : typing.Sequence[~MetricBatchParam]
3428 Returns -> typing.Sequence[~ErrorResult]
3430 # map input types to rpc msg
3432 msg
= dict(type='Uniter',
3433 request
='AddMetricBatches',
3436 _params
['batches'] = batches
3437 reply
= await self
.rpc(msg
)
3442 @ReturnMapping(ErrorResults
)
3443 async def AddUnitStorage(self
, storages
):
3445 storages : typing.Sequence[~StorageAddParams]
3446 Returns -> typing.Sequence[~ErrorResult]
3448 # map input types to rpc msg
3450 msg
= dict(type='Uniter',
3451 request
='AddUnitStorage',
3454 _params
['storages'] = storages
3455 reply
= await self
.rpc(msg
)
3460 @ReturnMapping(MachinePortsResults
)
3461 async def AllMachinePorts(self
, entities
):
3463 entities : typing.Sequence[~Entity]
3464 Returns -> typing.Sequence[~MachinePortsResult]
3466 # map input types to rpc msg
3468 msg
= dict(type='Uniter',
3469 request
='AllMachinePorts',
3472 _params
['entities'] = entities
3473 reply
= await self
.rpc(msg
)
3478 @ReturnMapping(ApplicationStatusResults
)
3479 async def ApplicationStatus(self
, entities
):
3481 entities : typing.Sequence[~Entity]
3482 Returns -> typing.Sequence[~ApplicationStatusResult]
3484 # map input types to rpc msg
3486 msg
= dict(type='Uniter',
3487 request
='ApplicationStatus',
3490 _params
['entities'] = entities
3491 reply
= await self
.rpc(msg
)
3496 @ReturnMapping(StringResults
)
3497 async def AssignedMachine(self
, entities
):
3499 entities : typing.Sequence[~Entity]
3500 Returns -> typing.Sequence[~StringResult]
3502 # map input types to rpc msg
3504 msg
= dict(type='Uniter',
3505 request
='AssignedMachine',
3508 _params
['entities'] = entities
3509 reply
= await self
.rpc(msg
)
3514 @ReturnMapping(StringResults
)
3515 async def AvailabilityZone(self
, entities
):
3517 entities : typing.Sequence[~Entity]
3518 Returns -> typing.Sequence[~StringResult]
3520 # map input types to rpc msg
3522 msg
= dict(type='Uniter',
3523 request
='AvailabilityZone',
3526 _params
['entities'] = entities
3527 reply
= await self
.rpc(msg
)
3532 @ReturnMapping(ErrorResults
)
3533 async def BeginActions(self
, entities
):
3535 entities : typing.Sequence[~Entity]
3536 Returns -> typing.Sequence[~ErrorResult]
3538 # map input types to rpc msg
3540 msg
= dict(type='Uniter',
3541 request
='BeginActions',
3544 _params
['entities'] = entities
3545 reply
= await self
.rpc(msg
)
3550 @ReturnMapping(BytesResult
)
3551 async def CACert(self
):
3554 Returns -> typing.Sequence[int]
3556 # map input types to rpc msg
3558 msg
= dict(type='Uniter',
3563 reply
= await self
.rpc(msg
)
3568 @ReturnMapping(StringResults
)
3569 async def CharmArchiveSha256(self
, urls
):
3571 urls : typing.Sequence[~CharmURL]
3572 Returns -> typing.Sequence[~StringResult]
3574 # map input types to rpc msg
3576 msg
= dict(type='Uniter',
3577 request
='CharmArchiveSha256',
3580 _params
['urls'] = urls
3581 reply
= await self
.rpc(msg
)
3586 @ReturnMapping(IntResults
)
3587 async def CharmModifiedVersion(self
, entities
):
3589 entities : typing.Sequence[~Entity]
3590 Returns -> typing.Sequence[~IntResult]
3592 # map input types to rpc msg
3594 msg
= dict(type='Uniter',
3595 request
='CharmModifiedVersion',
3598 _params
['entities'] = entities
3599 reply
= await self
.rpc(msg
)
3604 @ReturnMapping(StringBoolResults
)
3605 async def CharmURL(self
, entities
):
3607 entities : typing.Sequence[~Entity]
3608 Returns -> typing.Sequence[~StringBoolResult]
3610 # map input types to rpc msg
3612 msg
= dict(type='Uniter',
3616 _params
['entities'] = entities
3617 reply
= await self
.rpc(msg
)
3622 @ReturnMapping(ErrorResults
)
3623 async def ClearResolved(self
, entities
):
3625 entities : typing.Sequence[~Entity]
3626 Returns -> typing.Sequence[~ErrorResult]
3628 # map input types to rpc msg
3630 msg
= dict(type='Uniter',
3631 request
='ClearResolved',
3634 _params
['entities'] = entities
3635 reply
= await self
.rpc(msg
)
3640 @ReturnMapping(ErrorResults
)
3641 async def ClosePorts(self
, entities
):
3643 entities : typing.Sequence[~EntityPortRange]
3644 Returns -> typing.Sequence[~ErrorResult]
3646 # map input types to rpc msg
3648 msg
= dict(type='Uniter',
3649 request
='ClosePorts',
3652 _params
['entities'] = entities
3653 reply
= await self
.rpc(msg
)
3658 @ReturnMapping(ConfigSettingsResults
)
3659 async def ConfigSettings(self
, entities
):
3661 entities : typing.Sequence[~Entity]
3662 Returns -> typing.Sequence[~ConfigSettingsResult]
3664 # map input types to rpc msg
3666 msg
= dict(type='Uniter',
3667 request
='ConfigSettings',
3670 _params
['entities'] = entities
3671 reply
= await self
.rpc(msg
)
3676 @ReturnMapping(ModelResult
)
3677 async def CurrentModel(self
):
3680 Returns -> typing.Union[_ForwardRef('Error'), str]
3682 # map input types to rpc msg
3684 msg
= dict(type='Uniter',
3685 request
='CurrentModel',
3689 reply
= await self
.rpc(msg
)
3694 @ReturnMapping(ErrorResults
)
3695 async def Destroy(self
, entities
):
3697 entities : typing.Sequence[~Entity]
3698 Returns -> typing.Sequence[~ErrorResult]
3700 # map input types to rpc msg
3702 msg
= dict(type='Uniter',
3706 _params
['entities'] = entities
3707 reply
= await self
.rpc(msg
)
3712 @ReturnMapping(ErrorResults
)
3713 async def DestroyAllSubordinates(self
, entities
):
3715 entities : typing.Sequence[~Entity]
3716 Returns -> typing.Sequence[~ErrorResult]
3718 # map input types to rpc msg
3720 msg
= dict(type='Uniter',
3721 request
='DestroyAllSubordinates',
3724 _params
['entities'] = entities
3725 reply
= await self
.rpc(msg
)
3730 @ReturnMapping(ErrorResults
)
3731 async def DestroyUnitStorageAttachments(self
, entities
):
3733 entities : typing.Sequence[~Entity]
3734 Returns -> typing.Sequence[~ErrorResult]
3736 # map input types to rpc msg
3738 msg
= dict(type='Uniter',
3739 request
='DestroyUnitStorageAttachments',
3742 _params
['entities'] = entities
3743 reply
= await self
.rpc(msg
)
3748 @ReturnMapping(ErrorResults
)
3749 async def EnsureDead(self
, entities
):
3751 entities : typing.Sequence[~Entity]
3752 Returns -> typing.Sequence[~ErrorResult]
3754 # map input types to rpc msg
3756 msg
= dict(type='Uniter',
3757 request
='EnsureDead',
3760 _params
['entities'] = entities
3761 reply
= await self
.rpc(msg
)
3766 @ReturnMapping(ErrorResults
)
3767 async def EnterScope(self
, relation_units
):
3769 relation_units : typing.Sequence[~RelationUnit]
3770 Returns -> typing.Sequence[~ErrorResult]
3772 # map input types to rpc msg
3774 msg
= dict(type='Uniter',
3775 request
='EnterScope',
3778 _params
['relation-units'] = relation_units
3779 reply
= await self
.rpc(msg
)
3784 @ReturnMapping(ErrorResults
)
3785 async def FinishActions(self
, results
):
3787 results : typing.Sequence[~ActionExecutionResult]
3788 Returns -> typing.Sequence[~ErrorResult]
3790 # map input types to rpc msg
3792 msg
= dict(type='Uniter',
3793 request
='FinishActions',
3796 _params
['results'] = results
3797 reply
= await self
.rpc(msg
)
3802 @ReturnMapping(MeterStatusResults
)
3803 async def GetMeterStatus(self
, entities
):
3805 entities : typing.Sequence[~Entity]
3806 Returns -> typing.Sequence[~MeterStatusResult]
3808 # map input types to rpc msg
3810 msg
= dict(type='Uniter',
3811 request
='GetMeterStatus',
3814 _params
['entities'] = entities
3815 reply
= await self
.rpc(msg
)
3820 @ReturnMapping(StringBoolResults
)
3821 async def GetPrincipal(self
, entities
):
3823 entities : typing.Sequence[~Entity]
3824 Returns -> typing.Sequence[~StringBoolResult]
3826 # map input types to rpc msg
3828 msg
= dict(type='Uniter',
3829 request
='GetPrincipal',
3832 _params
['entities'] = entities
3833 reply
= await self
.rpc(msg
)
3838 @ReturnMapping(BoolResults
)
3839 async def HasSubordinates(self
, entities
):
3841 entities : typing.Sequence[~Entity]
3842 Returns -> typing.Sequence[~BoolResult]
3844 # map input types to rpc msg
3846 msg
= dict(type='Uniter',
3847 request
='HasSubordinates',
3850 _params
['entities'] = entities
3851 reply
= await self
.rpc(msg
)
3856 @ReturnMapping(StringsResults
)
3857 async def JoinedRelations(self
, entities
):
3859 entities : typing.Sequence[~Entity]
3860 Returns -> typing.Sequence[~StringsResult]
3862 # map input types to rpc msg
3864 msg
= dict(type='Uniter',
3865 request
='JoinedRelations',
3868 _params
['entities'] = entities
3869 reply
= await self
.rpc(msg
)
3874 @ReturnMapping(ErrorResults
)
3875 async def LeaveScope(self
, relation_units
):
3877 relation_units : typing.Sequence[~RelationUnit]
3878 Returns -> typing.Sequence[~ErrorResult]
3880 # map input types to rpc msg
3882 msg
= dict(type='Uniter',
3883 request
='LeaveScope',
3886 _params
['relation-units'] = relation_units
3887 reply
= await self
.rpc(msg
)
3892 @ReturnMapping(LifeResults
)
3893 async def Life(self
, entities
):
3895 entities : typing.Sequence[~Entity]
3896 Returns -> typing.Sequence[~LifeResult]
3898 # map input types to rpc msg
3900 msg
= dict(type='Uniter',
3904 _params
['entities'] = entities
3905 reply
= await self
.rpc(msg
)
3910 @ReturnMapping(ErrorResults
)
3911 async def Merge(self
, params
):
3913 params : typing.Sequence[~MergeLeadershipSettingsParam]
3914 Returns -> typing.Sequence[~ErrorResult]
3916 # map input types to rpc msg
3918 msg
= dict(type='Uniter',
3922 _params
['params'] = params
3923 reply
= await self
.rpc(msg
)
3928 @ReturnMapping(ModelConfigResult
)
3929 async def ModelConfig(self
):
3932 Returns -> typing.Mapping[str, typing.Any]
3934 # map input types to rpc msg
3936 msg
= dict(type='Uniter',
3937 request
='ModelConfig',
3941 reply
= await self
.rpc(msg
)
3946 @ReturnMapping(StringResult
)
3947 async def ModelUUID(self
):
3950 Returns -> typing.Union[_ForwardRef('Error'), str]
3952 # map input types to rpc msg
3954 msg
= dict(type='Uniter',
3955 request
='ModelUUID',
3959 reply
= await self
.rpc(msg
)
3964 @ReturnMapping(UnitNetworkConfigResults
)
3965 async def NetworkConfig(self
, args
):
3967 args : typing.Sequence[~UnitNetworkConfig]
3968 Returns -> typing.Sequence[~UnitNetworkConfigResult]
3970 # map input types to rpc msg
3972 msg
= dict(type='Uniter',
3973 request
='NetworkConfig',
3976 _params
['args'] = args
3977 reply
= await self
.rpc(msg
)
3982 @ReturnMapping(ErrorResults
)
3983 async def OpenPorts(self
, entities
):
3985 entities : typing.Sequence[~EntityPortRange]
3986 Returns -> typing.Sequence[~ErrorResult]
3988 # map input types to rpc msg
3990 msg
= dict(type='Uniter',
3991 request
='OpenPorts',
3994 _params
['entities'] = entities
3995 reply
= await self
.rpc(msg
)
4000 @ReturnMapping(StringResults
)
4001 async def PrivateAddress(self
, entities
):
4003 entities : typing.Sequence[~Entity]
4004 Returns -> typing.Sequence[~StringResult]
4006 # map input types to rpc msg
4008 msg
= dict(type='Uniter',
4009 request
='PrivateAddress',
4012 _params
['entities'] = entities
4013 reply
= await self
.rpc(msg
)
4018 @ReturnMapping(StringResult
)
4019 async def ProviderType(self
):
4022 Returns -> typing.Union[_ForwardRef('Error'), str]
4024 # map input types to rpc msg
4026 msg
= dict(type='Uniter',
4027 request
='ProviderType',
4031 reply
= await self
.rpc(msg
)
4036 @ReturnMapping(StringResults
)
4037 async def PublicAddress(self
, entities
):
4039 entities : typing.Sequence[~Entity]
4040 Returns -> typing.Sequence[~StringResult]
4042 # map input types to rpc msg
4044 msg
= dict(type='Uniter',
4045 request
='PublicAddress',
4048 _params
['entities'] = entities
4049 reply
= await self
.rpc(msg
)
4054 @ReturnMapping(GetLeadershipSettingsBulkResults
)
4055 async def Read(self
, entities
):
4057 entities : typing.Sequence[~Entity]
4058 Returns -> typing.Sequence[~GetLeadershipSettingsResult]
4060 # map input types to rpc msg
4062 msg
= dict(type='Uniter',
4066 _params
['entities'] = entities
4067 reply
= await self
.rpc(msg
)
4072 @ReturnMapping(SettingsResults
)
4073 async def ReadRemoteSettings(self
, relation_unit_pairs
):
4075 relation_unit_pairs : typing.Sequence[~RelationUnitPair]
4076 Returns -> typing.Sequence[~SettingsResult]
4078 # map input types to rpc msg
4080 msg
= dict(type='Uniter',
4081 request
='ReadRemoteSettings',
4084 _params
['relation-unit-pairs'] = relation_unit_pairs
4085 reply
= await self
.rpc(msg
)
4090 @ReturnMapping(SettingsResults
)
4091 async def ReadSettings(self
, relation_units
):
4093 relation_units : typing.Sequence[~RelationUnit]
4094 Returns -> typing.Sequence[~SettingsResult]
4096 # map input types to rpc msg
4098 msg
= dict(type='Uniter',
4099 request
='ReadSettings',
4102 _params
['relation-units'] = relation_units
4103 reply
= await self
.rpc(msg
)
4108 @ReturnMapping(RelationResults
)
4109 async def Relation(self
, relation_units
):
4111 relation_units : typing.Sequence[~RelationUnit]
4112 Returns -> typing.Sequence[~RelationResult]
4114 # map input types to rpc msg
4116 msg
= dict(type='Uniter',
4120 _params
['relation-units'] = relation_units
4121 reply
= await self
.rpc(msg
)
4126 @ReturnMapping(RelationResults
)
4127 async def RelationById(self
, relation_ids
):
4129 relation_ids : typing.Sequence[int]
4130 Returns -> typing.Sequence[~RelationResult]
4132 # map input types to rpc msg
4134 msg
= dict(type='Uniter',
4135 request
='RelationById',
4138 _params
['relation-ids'] = relation_ids
4139 reply
= await self
.rpc(msg
)
4144 @ReturnMapping(ErrorResults
)
4145 async def RemoveStorageAttachments(self
, ids
):
4147 ids : typing.Sequence[~StorageAttachmentId]
4148 Returns -> typing.Sequence[~ErrorResult]
4150 # map input types to rpc msg
4152 msg
= dict(type='Uniter',
4153 request
='RemoveStorageAttachments',
4156 _params
['ids'] = ids
4157 reply
= await self
.rpc(msg
)
4162 @ReturnMapping(ErrorResults
)
4163 async def RequestReboot(self
, entities
):
4165 entities : typing.Sequence[~Entity]
4166 Returns -> typing.Sequence[~ErrorResult]
4168 # map input types to rpc msg
4170 msg
= dict(type='Uniter',
4171 request
='RequestReboot',
4174 _params
['entities'] = entities
4175 reply
= await self
.rpc(msg
)
4180 @ReturnMapping(ResolvedModeResults
)
4181 async def Resolved(self
, entities
):
4183 entities : typing.Sequence[~Entity]
4184 Returns -> typing.Sequence[~ResolvedModeResult]
4186 # map input types to rpc msg
4188 msg
= dict(type='Uniter',
4192 _params
['entities'] = entities
4193 reply
= await self
.rpc(msg
)
4198 @ReturnMapping(ErrorResults
)
4199 async def SetAgentStatus(self
, entities
):
4201 entities : typing.Sequence[~EntityStatusArgs]
4202 Returns -> typing.Sequence[~ErrorResult]
4204 # map input types to rpc msg
4206 msg
= dict(type='Uniter',
4207 request
='SetAgentStatus',
4210 _params
['entities'] = entities
4211 reply
= await self
.rpc(msg
)
4216 @ReturnMapping(ErrorResults
)
4217 async def SetApplicationStatus(self
, entities
):
4219 entities : typing.Sequence[~EntityStatusArgs]
4220 Returns -> typing.Sequence[~ErrorResult]
4222 # map input types to rpc msg
4224 msg
= dict(type='Uniter',
4225 request
='SetApplicationStatus',
4228 _params
['entities'] = entities
4229 reply
= await self
.rpc(msg
)
4234 @ReturnMapping(ErrorResults
)
4235 async def SetCharmURL(self
, entities
):
4237 entities : typing.Sequence[~EntityCharmURL]
4238 Returns -> typing.Sequence[~ErrorResult]
4240 # map input types to rpc msg
4242 msg
= dict(type='Uniter',
4243 request
='SetCharmURL',
4246 _params
['entities'] = entities
4247 reply
= await self
.rpc(msg
)
4252 @ReturnMapping(ErrorResults
)
4253 async def SetStatus(self
, entities
):
4255 entities : typing.Sequence[~EntityStatusArgs]
4256 Returns -> typing.Sequence[~ErrorResult]
4258 # map input types to rpc msg
4260 msg
= dict(type='Uniter',
4261 request
='SetStatus',
4264 _params
['entities'] = entities
4265 reply
= await self
.rpc(msg
)
4270 @ReturnMapping(ErrorResults
)
4271 async def SetUnitStatus(self
, entities
):
4273 entities : typing.Sequence[~EntityStatusArgs]
4274 Returns -> typing.Sequence[~ErrorResult]
4276 # map input types to rpc msg
4278 msg
= dict(type='Uniter',
4279 request
='SetUnitStatus',
4282 _params
['entities'] = entities
4283 reply
= await self
.rpc(msg
)
4288 @ReturnMapping(ErrorResults
)
4289 async def SetWorkloadVersion(self
, entities
):
4291 entities : typing.Sequence[~EntityWorkloadVersion]
4292 Returns -> typing.Sequence[~ErrorResult]
4294 # map input types to rpc msg
4296 msg
= dict(type='Uniter',
4297 request
='SetWorkloadVersion',
4300 _params
['entities'] = entities
4301 reply
= await self
.rpc(msg
)
4306 @ReturnMapping(LifeResults
)
4307 async def StorageAttachmentLife(self
, ids
):
4309 ids : typing.Sequence[~StorageAttachmentId]
4310 Returns -> typing.Sequence[~LifeResult]
4312 # map input types to rpc msg
4314 msg
= dict(type='Uniter',
4315 request
='StorageAttachmentLife',
4318 _params
['ids'] = ids
4319 reply
= await self
.rpc(msg
)
4324 @ReturnMapping(StorageAttachmentResults
)
4325 async def StorageAttachments(self
, ids
):
4327 ids : typing.Sequence[~StorageAttachmentId]
4328 Returns -> typing.Sequence[~StorageAttachmentResult]
4330 # map input types to rpc msg
4332 msg
= dict(type='Uniter',
4333 request
='StorageAttachments',
4336 _params
['ids'] = ids
4337 reply
= await self
.rpc(msg
)
4342 @ReturnMapping(StatusResults
)
4343 async def UnitStatus(self
, entities
):
4345 entities : typing.Sequence[~Entity]
4346 Returns -> typing.Sequence[~StatusResult]
4348 # map input types to rpc msg
4350 msg
= dict(type='Uniter',
4351 request
='UnitStatus',
4354 _params
['entities'] = entities
4355 reply
= await self
.rpc(msg
)
4360 @ReturnMapping(StorageAttachmentIdsResults
)
4361 async def UnitStorageAttachments(self
, entities
):
4363 entities : typing.Sequence[~Entity]
4364 Returns -> typing.Sequence[~StorageAttachmentIdsResult]
4366 # map input types to rpc msg
4368 msg
= dict(type='Uniter',
4369 request
='UnitStorageAttachments',
4372 _params
['entities'] = entities
4373 reply
= await self
.rpc(msg
)
4378 @ReturnMapping(ErrorResults
)
4379 async def UpdateSettings(self
, relation_units
):
4381 relation_units : typing.Sequence[~RelationUnitSettings]
4382 Returns -> typing.Sequence[~ErrorResult]
4384 # map input types to rpc msg
4386 msg
= dict(type='Uniter',
4387 request
='UpdateSettings',
4390 _params
['relation-units'] = relation_units
4391 reply
= await self
.rpc(msg
)
4396 @ReturnMapping(NotifyWatchResults
)
4397 async def Watch(self
, entities
):
4399 entities : typing.Sequence[~Entity]
4400 Returns -> typing.Sequence[~NotifyWatchResult]
4402 # map input types to rpc msg
4404 msg
= dict(type='Uniter',
4408 _params
['entities'] = entities
4409 reply
= await self
.rpc(msg
)
4414 @ReturnMapping(NotifyWatchResult
)
4415 async def WatchAPIHostPorts(self
):
4418 Returns -> typing.Union[str, _ForwardRef('Error')]
4420 # map input types to rpc msg
4422 msg
= dict(type='Uniter',
4423 request
='WatchAPIHostPorts',
4427 reply
= await self
.rpc(msg
)
4432 @ReturnMapping(StringsWatchResults
)
4433 async def WatchActionNotifications(self
, entities
):
4435 entities : typing.Sequence[~Entity]
4436 Returns -> typing.Sequence[~StringsWatchResult]
4438 # map input types to rpc msg
4440 msg
= dict(type='Uniter',
4441 request
='WatchActionNotifications',
4444 _params
['entities'] = entities
4445 reply
= await self
.rpc(msg
)
4450 @ReturnMapping(StringsWatchResults
)
4451 async def WatchApplicationRelations(self
, entities
):
4453 entities : typing.Sequence[~Entity]
4454 Returns -> typing.Sequence[~StringsWatchResult]
4456 # map input types to rpc msg
4458 msg
= dict(type='Uniter',
4459 request
='WatchApplicationRelations',
4462 _params
['entities'] = entities
4463 reply
= await self
.rpc(msg
)
4468 @ReturnMapping(NotifyWatchResults
)
4469 async def WatchConfigSettings(self
, entities
):
4471 entities : typing.Sequence[~Entity]
4472 Returns -> typing.Sequence[~NotifyWatchResult]
4474 # map input types to rpc msg
4476 msg
= dict(type='Uniter',
4477 request
='WatchConfigSettings',
4480 _params
['entities'] = entities
4481 reply
= await self
.rpc(msg
)
4486 @ReturnMapping(NotifyWatchResult
)
4487 async def WatchForModelConfigChanges(self
):
4490 Returns -> typing.Union[str, _ForwardRef('Error')]
4492 # map input types to rpc msg
4494 msg
= dict(type='Uniter',
4495 request
='WatchForModelConfigChanges',
4499 reply
= await self
.rpc(msg
)
4504 @ReturnMapping(NotifyWatchResults
)
4505 async def WatchLeadershipSettings(self
, entities
):
4507 entities : typing.Sequence[~Entity]
4508 Returns -> typing.Sequence[~NotifyWatchResult]
4510 # map input types to rpc msg
4512 msg
= dict(type='Uniter',
4513 request
='WatchLeadershipSettings',
4516 _params
['entities'] = entities
4517 reply
= await self
.rpc(msg
)
4522 @ReturnMapping(NotifyWatchResults
)
4523 async def WatchMeterStatus(self
, entities
):
4525 entities : typing.Sequence[~Entity]
4526 Returns -> typing.Sequence[~NotifyWatchResult]
4528 # map input types to rpc msg
4530 msg
= dict(type='Uniter',
4531 request
='WatchMeterStatus',
4534 _params
['entities'] = entities
4535 reply
= await self
.rpc(msg
)
4540 @ReturnMapping(RelationUnitsWatchResults
)
4541 async def WatchRelationUnits(self
, relation_units
):
4543 relation_units : typing.Sequence[~RelationUnit]
4544 Returns -> typing.Sequence[~RelationUnitsWatchResult]
4546 # map input types to rpc msg
4548 msg
= dict(type='Uniter',
4549 request
='WatchRelationUnits',
4552 _params
['relation-units'] = relation_units
4553 reply
= await self
.rpc(msg
)
4558 @ReturnMapping(NotifyWatchResults
)
4559 async def WatchStorageAttachments(self
, ids
):
4561 ids : typing.Sequence[~StorageAttachmentId]
4562 Returns -> typing.Sequence[~NotifyWatchResult]
4564 # map input types to rpc msg
4566 msg
= dict(type='Uniter',
4567 request
='WatchStorageAttachments',
4570 _params
['ids'] = ids
4571 reply
= await self
.rpc(msg
)
4576 @ReturnMapping(NotifyWatchResults
)
4577 async def WatchUnitAddresses(self
, entities
):
4579 entities : typing.Sequence[~Entity]
4580 Returns -> typing.Sequence[~NotifyWatchResult]
4582 # map input types to rpc msg
4584 msg
= dict(type='Uniter',
4585 request
='WatchUnitAddresses',
4588 _params
['entities'] = entities
4589 reply
= await self
.rpc(msg
)
4594 @ReturnMapping(StringsWatchResults
)
4595 async def WatchUnitStorageAttachments(self
, entities
):
4597 entities : typing.Sequence[~Entity]
4598 Returns -> typing.Sequence[~StringsWatchResult]
4600 # map input types to rpc msg
4602 msg
= dict(type='Uniter',
4603 request
='WatchUnitStorageAttachments',
4606 _params
['entities'] = entities
4607 reply
= await self
.rpc(msg
)
4612 @ReturnMapping(StringResults
)
4613 async def WorkloadVersion(self
, entities
):
4615 entities : typing.Sequence[~Entity]
4616 Returns -> typing.Sequence[~StringResult]
4618 # map input types to rpc msg
4620 msg
= dict(type='Uniter',
4621 request
='WorkloadVersion',
4624 _params
['entities'] = entities
4625 reply
= await self
.rpc(msg
)