X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=modules%2Flibjuju%2Fjuju%2Fclient%2F_client.py;h=bfa9e6f0f4ad81345d2a8bb91a48588cdc8c9489;hp=d510e1145cd226f47ee9a50ccbbf9a52b1b61011;hb=b2a07f566be558a8b59b8b5dedfe8da5ae1b0132;hpb=68858c1915122c2dbc8999a5cd3229694abf5f3a diff --git a/modules/libjuju/juju/client/_client.py b/modules/libjuju/juju/client/_client.py index d510e11..bfa9e6f 100644 --- a/modules/libjuju/juju/client/_client.py +++ b/modules/libjuju/juju/client/_client.py @@ -3,34 +3,36 @@ from juju.client._definitions import * -from juju.client import _client1, _client2, _client3, _client4, _client5 +from juju.client import _client2, _client1, _client3, _client4, _client5, _client8, _client7, _client9 CLIENTS = { - "1": _client1, "2": _client2, + "1": _client1, "3": _client3, "4": _client4, - "5": _client5 + "5": _client5, + "8": _client8, + "7": _client7, + "9": _client9 } - def lookup_facade(name, version): - """ - Given a facade name and version, attempt to pull that facade out - of the correct client.py file. + """ + Given a facade name and version, attempt to pull that facade out + of the correct client.py file. - """ + """ + for _version in range(int(version), 0, -1): try: - facade = getattr(CLIENTS[str(version)], name) - except KeyError: - raise ImportError("No facades found for version {}".format(version)) - except AttributeError: - raise ImportError( - "No facade with name '{}' in version {}".format(name, version)) - return facade - + facade = getattr(CLIENTS[str(_version)], name) + return facade + except (KeyError, AttributeError): + continue + else: + raise ImportError("No supported version for facade: " + "{}".format(name)) class TypeFactory: @@ -44,7 +46,14 @@ class TypeFactory: @param connection: initialized Connection object. """ - version = connection.facades[cls.__name__[:-6]] + facade_name = cls.__name__ + if not facade_name.endswith('Facade'): + raise TypeError('Unexpected class name: {}'.format(facade_name)) + facade_name = facade_name[:-len('Facade')] + version = connection.facades.get(facade_name) + if version is None: + raise Exception('No facade {} in facades {}'.format(facade_name, + connection.facades)) c = lookup_facade(cls.__name__, version) c = c() @@ -57,6 +66,10 @@ class ActionFacade(TypeFactory): pass +class ActionPrunerFacade(TypeFactory): + pass + + class AgentFacade(TypeFactory): pass @@ -81,6 +94,10 @@ class ApplicationFacade(TypeFactory): pass +class ApplicationOffersFacade(TypeFactory): + pass + + class ApplicationRelationsWatcherFacade(TypeFactory): pass @@ -101,6 +118,26 @@ class BundleFacade(TypeFactory): pass +class CAASAgentFacade(TypeFactory): + pass + + +class CAASFirewallerFacade(TypeFactory): + pass + + +class CAASOperatorFacade(TypeFactory): + pass + + +class CAASOperatorProvisionerFacade(TypeFactory): + pass + + +class CAASUnitProvisionerFacade(TypeFactory): + pass + + class CharmRevisionUpdaterFacade(TypeFactory): pass @@ -125,6 +162,22 @@ class ControllerFacade(TypeFactory): pass +class CredentialManagerFacade(TypeFactory): + pass + + +class CredentialValidatorFacade(TypeFactory): + pass + + +class CrossControllerFacade(TypeFactory): + pass + + +class CrossModelRelationsFacade(TypeFactory): + pass + + class DeployerFacade(TypeFactory): pass @@ -141,10 +194,22 @@ class EntityWatcherFacade(TypeFactory): pass +class ExternalControllerUpdaterFacade(TypeFactory): + pass + + +class FanConfigurerFacade(TypeFactory): + pass + + class FilesystemAttachmentsWatcherFacade(TypeFactory): pass +class FirewallRulesFacade(TypeFactory): + pass + + class FirewallerFacade(TypeFactory): pass @@ -253,10 +318,18 @@ class ModelManagerFacade(TypeFactory): pass +class ModelUpgraderFacade(TypeFactory): + pass + + class NotifyWatcherFacade(TypeFactory): pass +class OfferStatusWatcherFacade(TypeFactory): + pass + + class PayloadsFacade(TypeFactory): pass @@ -281,6 +354,10 @@ class RebootFacade(TypeFactory): pass +class RelationStatusWatcherFacade(TypeFactory): + pass + + class RelationUnitsWatcherFacade(TypeFactory): pass @@ -289,6 +366,10 @@ class RemoteApplicationWatcherFacade(TypeFactory): pass +class RemoteRelationsFacade(TypeFactory): + pass + + class RemoteRelationsWatcherFacade(TypeFactory): pass @@ -353,6 +434,10 @@ class UniterFacade(TypeFactory): pass +class UpgradeSeriesFacade(TypeFactory): + pass + + class UpgraderFacade(TypeFactory): pass @@ -361,7 +446,9 @@ class UserManagerFacade(TypeFactory): pass -class VolumeAttachmentsWatcherFacade(TypeFactory): +class VolumeAttachmentPlansWatcherFacade(TypeFactory): pass +class VolumeAttachmentsWatcherFacade(TypeFactory): + pass