blob: bfa9e6f0f4ad81345d2a8bb91a48588cdc8c9489 [file] [log] [blame]
Adam Israeldcdf82b2017-08-15 15:26:43 -04001# DO NOT CHANGE THIS FILE! This file is auto-generated by facade.py.
2# Changes will be overwritten/lost when the file is regenerated.
3
4from juju.client._definitions import *
5
Adam Israelb8a82812019-03-27 14:50:11 -04006from juju.client import _client2, _client1, _client3, _client4, _client5, _client8, _client7, _client9
Adam Israeldcdf82b2017-08-15 15:26:43 -04007
8
9CLIENTS = {
Adam Israeldcdf82b2017-08-15 15:26:43 -040010 "2": _client2,
Adam Israelb8a82812019-03-27 14:50:11 -040011 "1": _client1,
Adam Israeldcdf82b2017-08-15 15:26:43 -040012 "3": _client3,
13 "4": _client4,
Adam Israelb8a82812019-03-27 14:50:11 -040014 "5": _client5,
15 "8": _client8,
16 "7": _client7,
17 "9": _client9
Adam Israeldcdf82b2017-08-15 15:26:43 -040018}
19
20
Adam Israeldcdf82b2017-08-15 15:26:43 -040021def lookup_facade(name, version):
Adam Israelb8a82812019-03-27 14:50:11 -040022 """
23 Given a facade name and version, attempt to pull that facade out
24 of the correct client<version>.py file.
Adam Israeldcdf82b2017-08-15 15:26:43 -040025
Adam Israelb8a82812019-03-27 14:50:11 -040026 """
27 for _version in range(int(version), 0, -1):
Adam Israeldcdf82b2017-08-15 15:26:43 -040028 try:
Adam Israelb8a82812019-03-27 14:50:11 -040029 facade = getattr(CLIENTS[str(_version)], name)
30 return facade
31 except (KeyError, AttributeError):
32 continue
33 else:
34 raise ImportError("No supported version for facade: "
35 "{}".format(name))
Adam Israeldcdf82b2017-08-15 15:26:43 -040036
37
38class TypeFactory:
39 @classmethod
40 def from_connection(cls, connection):
41 """
42 Given a connected Connection object, return an initialized and
43 connected instance of an API Interface matching the name of
44 this class.
45
46 @param connection: initialized Connection object.
47
48 """
Adam Israelc3e6c2e2018-03-01 09:31:50 -050049 facade_name = cls.__name__
50 if not facade_name.endswith('Facade'):
51 raise TypeError('Unexpected class name: {}'.format(facade_name))
52 facade_name = facade_name[:-len('Facade')]
53 version = connection.facades.get(facade_name)
54 if version is None:
Adam Israelb8a82812019-03-27 14:50:11 -040055 raise Exception('No facade {} in facades {}'.format(facade_name,
56 connection.facades))
Adam Israeldcdf82b2017-08-15 15:26:43 -040057
58 c = lookup_facade(cls.__name__, version)
59 c = c()
60 c.connect(connection)
61
62 return c
63
64
65class ActionFacade(TypeFactory):
66 pass
67
68
Adam Israelb8a82812019-03-27 14:50:11 -040069class ActionPrunerFacade(TypeFactory):
70 pass
71
72
Adam Israeldcdf82b2017-08-15 15:26:43 -040073class AgentFacade(TypeFactory):
74 pass
75
76
77class AgentToolsFacade(TypeFactory):
78 pass
79
80
81class AllModelWatcherFacade(TypeFactory):
82 pass
83
84
85class AllWatcherFacade(TypeFactory):
86 pass
87
88
89class AnnotationsFacade(TypeFactory):
90 pass
91
92
93class ApplicationFacade(TypeFactory):
94 pass
95
96
Adam Israelb8a82812019-03-27 14:50:11 -040097class ApplicationOffersFacade(TypeFactory):
98 pass
99
100
Adam Israeldcdf82b2017-08-15 15:26:43 -0400101class ApplicationRelationsWatcherFacade(TypeFactory):
102 pass
103
104
105class ApplicationScalerFacade(TypeFactory):
106 pass
107
108
109class BackupsFacade(TypeFactory):
110 pass
111
112
113class BlockFacade(TypeFactory):
114 pass
115
116
117class BundleFacade(TypeFactory):
118 pass
119
120
Adam Israelb8a82812019-03-27 14:50:11 -0400121class CAASAgentFacade(TypeFactory):
122 pass
123
124
125class CAASFirewallerFacade(TypeFactory):
126 pass
127
128
129class CAASOperatorFacade(TypeFactory):
130 pass
131
132
133class CAASOperatorProvisionerFacade(TypeFactory):
134 pass
135
136
137class CAASUnitProvisionerFacade(TypeFactory):
138 pass
139
140
Adam Israeldcdf82b2017-08-15 15:26:43 -0400141class CharmRevisionUpdaterFacade(TypeFactory):
142 pass
143
144
145class CharmsFacade(TypeFactory):
146 pass
147
148
149class CleanerFacade(TypeFactory):
150 pass
151
152
153class ClientFacade(TypeFactory):
154 pass
155
156
157class CloudFacade(TypeFactory):
158 pass
159
160
161class ControllerFacade(TypeFactory):
162 pass
163
164
Adam Israelb8a82812019-03-27 14:50:11 -0400165class CredentialManagerFacade(TypeFactory):
166 pass
167
168
169class CredentialValidatorFacade(TypeFactory):
170 pass
171
172
173class CrossControllerFacade(TypeFactory):
174 pass
175
176
177class CrossModelRelationsFacade(TypeFactory):
178 pass
179
180
Adam Israeldcdf82b2017-08-15 15:26:43 -0400181class DeployerFacade(TypeFactory):
182 pass
183
184
185class DiscoverSpacesFacade(TypeFactory):
186 pass
187
188
189class DiskManagerFacade(TypeFactory):
190 pass
191
192
193class EntityWatcherFacade(TypeFactory):
194 pass
195
196
Adam Israelb8a82812019-03-27 14:50:11 -0400197class ExternalControllerUpdaterFacade(TypeFactory):
198 pass
199
200
201class FanConfigurerFacade(TypeFactory):
202 pass
203
204
Adam Israeldcdf82b2017-08-15 15:26:43 -0400205class FilesystemAttachmentsWatcherFacade(TypeFactory):
206 pass
207
208
Adam Israelb8a82812019-03-27 14:50:11 -0400209class FirewallRulesFacade(TypeFactory):
210 pass
211
212
Adam Israeldcdf82b2017-08-15 15:26:43 -0400213class FirewallerFacade(TypeFactory):
214 pass
215
216
217class HighAvailabilityFacade(TypeFactory):
218 pass
219
220
221class HostKeyReporterFacade(TypeFactory):
222 pass
223
224
225class ImageManagerFacade(TypeFactory):
226 pass
227
228
229class ImageMetadataFacade(TypeFactory):
230 pass
231
232
233class InstancePollerFacade(TypeFactory):
234 pass
235
236
237class KeyManagerFacade(TypeFactory):
238 pass
239
240
241class KeyUpdaterFacade(TypeFactory):
242 pass
243
244
245class LeadershipServiceFacade(TypeFactory):
246 pass
247
248
249class LifeFlagFacade(TypeFactory):
250 pass
251
252
253class LogForwardingFacade(TypeFactory):
254 pass
255
256
257class LoggerFacade(TypeFactory):
258 pass
259
260
261class MachineActionsFacade(TypeFactory):
262 pass
263
264
265class MachineManagerFacade(TypeFactory):
266 pass
267
268
269class MachineUndertakerFacade(TypeFactory):
270 pass
271
272
273class MachinerFacade(TypeFactory):
274 pass
275
276
277class MeterStatusFacade(TypeFactory):
278 pass
279
280
281class MetricsAdderFacade(TypeFactory):
282 pass
283
284
285class MetricsDebugFacade(TypeFactory):
286 pass
287
288
289class MetricsManagerFacade(TypeFactory):
290 pass
291
292
293class MigrationFlagFacade(TypeFactory):
294 pass
295
296
297class MigrationMasterFacade(TypeFactory):
298 pass
299
300
301class MigrationMinionFacade(TypeFactory):
302 pass
303
304
305class MigrationStatusWatcherFacade(TypeFactory):
306 pass
307
308
309class MigrationTargetFacade(TypeFactory):
310 pass
311
312
313class ModelConfigFacade(TypeFactory):
314 pass
315
316
317class ModelManagerFacade(TypeFactory):
318 pass
319
320
Adam Israelb8a82812019-03-27 14:50:11 -0400321class ModelUpgraderFacade(TypeFactory):
322 pass
323
324
Adam Israeldcdf82b2017-08-15 15:26:43 -0400325class NotifyWatcherFacade(TypeFactory):
326 pass
327
328
Adam Israelb8a82812019-03-27 14:50:11 -0400329class OfferStatusWatcherFacade(TypeFactory):
330 pass
331
332
Adam Israeldcdf82b2017-08-15 15:26:43 -0400333class PayloadsFacade(TypeFactory):
334 pass
335
336
337class PayloadsHookContextFacade(TypeFactory):
338 pass
339
340
341class PingerFacade(TypeFactory):
342 pass
343
344
345class ProvisionerFacade(TypeFactory):
346 pass
347
348
349class ProxyUpdaterFacade(TypeFactory):
350 pass
351
352
353class RebootFacade(TypeFactory):
354 pass
355
356
Adam Israelb8a82812019-03-27 14:50:11 -0400357class RelationStatusWatcherFacade(TypeFactory):
358 pass
359
360
Adam Israeldcdf82b2017-08-15 15:26:43 -0400361class RelationUnitsWatcherFacade(TypeFactory):
362 pass
363
364
365class RemoteApplicationWatcherFacade(TypeFactory):
366 pass
367
368
Adam Israelb8a82812019-03-27 14:50:11 -0400369class RemoteRelationsFacade(TypeFactory):
370 pass
371
372
Adam Israeldcdf82b2017-08-15 15:26:43 -0400373class RemoteRelationsWatcherFacade(TypeFactory):
374 pass
375
376
377class ResourcesFacade(TypeFactory):
378 pass
379
380
381class ResourcesHookContextFacade(TypeFactory):
382 pass
383
384
385class ResumerFacade(TypeFactory):
386 pass
387
388
389class RetryStrategyFacade(TypeFactory):
390 pass
391
392
393class SSHClientFacade(TypeFactory):
394 pass
395
396
397class SingularFacade(TypeFactory):
398 pass
399
400
401class SpacesFacade(TypeFactory):
402 pass
403
404
405class StatusHistoryFacade(TypeFactory):
406 pass
407
408
409class StorageFacade(TypeFactory):
410 pass
411
412
413class StorageProvisionerFacade(TypeFactory):
414 pass
415
416
417class StringsWatcherFacade(TypeFactory):
418 pass
419
420
421class SubnetsFacade(TypeFactory):
422 pass
423
424
425class UndertakerFacade(TypeFactory):
426 pass
427
428
429class UnitAssignerFacade(TypeFactory):
430 pass
431
432
433class UniterFacade(TypeFactory):
434 pass
435
436
Adam Israelb8a82812019-03-27 14:50:11 -0400437class UpgradeSeriesFacade(TypeFactory):
438 pass
439
440
Adam Israeldcdf82b2017-08-15 15:26:43 -0400441class UpgraderFacade(TypeFactory):
442 pass
443
444
445class UserManagerFacade(TypeFactory):
446 pass
447
448
Adam Israelb8a82812019-03-27 14:50:11 -0400449class VolumeAttachmentPlansWatcherFacade(TypeFactory):
450 pass
451
452
Adam Israeldcdf82b2017-08-15 15:26:43 -0400453class VolumeAttachmentsWatcherFacade(TypeFactory):
454 pass