示例#1
0
    def test_edit_managed_through_session(self):
        # Create a session with the edit_managed flag set to True
        session = utils.get_session(auth_url='Anything',
                                    endpoint='Anything',
                                    domain_id='Anything',
                                    domain_name='Anything',
                                    project_id='Anything',
                                    project_name='Anything',
                                    project_domain_name='Anything',
                                    project_domain_id='Anything',
                                    username='******',
                                    user_id='Anything',
                                    password='******',
                                    user_domain_id='Anything',
                                    user_domain_name='Anything',
                                    token=None,
                                    insecure=False,
                                    cacert=None,
                                    edit_managed=True)

        # Create a client using the pre-created session
        client = v1.Client(session=session)

        # Verify the edit_managed flag has been picked up
        self.assertTrue(client.edit_managed)
    def test_edit_managed_through_session(self):
        # Create a session with the edit_managed flag set to True
        session = utils.get_session(
            auth_url='Anything',
            endpoint='Anything',
            domain_id='Anything',
            domain_name='Anything',
            project_id='Anything',
            project_name='Anything',
            project_domain_name='Anything',
            project_domain_id='Anything',
            username='******',
            user_id='Anything',
            password='******',
            user_domain_id='Anything',
            user_domain_name='Anything',
            token=None,
            insecure=False,
            cacert=None,
            edit_managed=True)

        # Create a client using the pre-created session
        client = v1.Client(session=session)

        # Verify the edit_managed flag has been picked up
        self.assertTrue(client.edit_managed)
示例#3
0
 def initialize_app(self, argv):
     super(DesignateShell, self).initialize_app(argv)
     self.session = utils.get_session(
         auth_url=self.options.os_auth_url,
         endpoint=self.options.os_endpoint,
         domain_id=self.options.os_domain_id,
         domain_name=self.options.os_domain_name,
         project_id=self.options.os_project_id or self.options.os_tenant_id,
         project_name=(self.options.os_project_name
                       or self.options.os_tenant_name),
         project_domain_name=self.options.os_project_domain_name,
         project_domain_id=self.options.os_project_domain_id,
         username=self.options.os_username,
         user_id=self.options.os_user_id,
         password=self.options.os_password,
         user_domain_id=self.options.os_user_domain_id,
         user_domain_name=self.options.os_user_domain_name,
         token=self.options.os_token,
         insecure=self.options.insecure,
         cacert=self.options.os_cacert)
 def initialize_app(self, argv):
     super(DesignateShell, self).initialize_app(argv)
     self.session = utils.get_session(
         auth_url=self.options.os_auth_url,
         endpoint=self.options.os_endpoint,
         domain_id=self.options.os_domain_id,
         domain_name=self.options.os_domain_name,
         project_id=self.options.os_project_id or self.options.os_tenant_id,
         project_name=(self.options.os_project_name or
                       self.options.os_tenant_name),
         project_domain_name=self.options.os_project_domain_name,
         project_domain_id=self.options.os_project_domain_id,
         username=self.options.os_username,
         user_id=self.options.os_user_id,
         password=self.options.os_password,
         user_domain_id=self.options.os_user_domain_id,
         user_domain_name=self.options.os_user_domain_name,
         token=self.options.os_token,
         insecure=self.options.insecure,
         cacert=self.options.os_cacert
     )
示例#5
0
    def __init__(self, endpoint=None, username=None, user_id=None,
                 user_domain_id=None, user_domain_name=None, password=None,
                 tenant_name=None, tenant_id=None, domain_name=None,
                 domain_id=None, project_name=None,
                 project_id=None, project_domain_name=None,
                 project_domain_id=None, auth_url=None, token=None,
                 endpoint_type='publicURL', region_name=None,
                 service_type='dns', insecure=False, session=None,
                 cacert=None):
        """
        :param endpoint: Endpoint URL
        :param token: A token instead of username / password
        :param insecure: Allow "insecure" HTTPS requests
        """

        if endpoint:
            endpoint = endpoint.rstrip('/')
            if not endpoint.endswith('v1'):
                endpoint = "%s/v1" % endpoint

        # Compatibility code to mimic the old behaviour of the client
        if session is None:
            session = utils.get_session(
                auth_url=auth_url,
                endpoint=endpoint,
                domain_id=domain_id,
                domain_name=domain_name,
                project_id=project_id or tenant_id,
                project_name=project_name or tenant_name,
                project_domain_name=project_domain_name,
                project_domain_id=project_domain_id,
                username=username,
                user_id=user_id,
                password=password,
                user_domain_id=user_domain_id,
                user_domain_name=user_domain_name,
                token=token,
                insecure=insecure,
                cacert=cacert,
            )

        # Since we have to behave nicely like a legacy client/bindings we use
        # an adapter around the session to not modify it's state.
        interface = endpoint_type.rstrip('URL')

        self.session = adapter.Adapter(
            session,
            auth=session.auth,
            endpoint_override=endpoint,
            region_name=region_name,
            service_type=service_type,
            interface=interface,
            user_agent='python-designateclient-%s' % version.version_info,
            version='1'
        )

        def _load_controller(ext):
            controller = ext.plugin(client=self)
            setattr(self, ext.name, controller)

        # Load all controllers
        mgr = extension.ExtensionManager('designateclient.v1.controllers')
        mgr.map(_load_controller)
示例#6
0
    def __init__(self,
                 endpoint=None,
                 username=None,
                 user_id=None,
                 user_domain_id=None,
                 user_domain_name=None,
                 password=None,
                 tenant_name=None,
                 tenant_id=None,
                 domain_name=None,
                 domain_id=None,
                 project_name=None,
                 project_id=None,
                 project_domain_name=None,
                 project_domain_id=None,
                 auth_url=None,
                 token=None,
                 endpoint_type='publicURL',
                 region_name=None,
                 service_type='dns',
                 insecure=False,
                 session=None,
                 cacert=None,
                 all_tenants=None,
                 edit_managed=None,
                 timeout=None):
        """
        :param endpoint: Endpoint URL
        :param token: A token instead of username / password
        :param insecure: Allow "insecure" HTTPS requests
        """

        if endpoint:
            endpoint = endpoint.rstrip('/')
            if not endpoint.endswith('v1'):
                endpoint = "%s/v1" % endpoint

        # Compatibility code to mimic the old behaviour of the client
        if session is None:
            session = utils.get_session(
                auth_url=auth_url,
                endpoint=endpoint,
                domain_id=domain_id,
                domain_name=domain_name,
                project_id=project_id or tenant_id,
                project_name=project_name or tenant_name,
                project_domain_name=project_domain_name,
                project_domain_id=project_domain_id,
                username=username,
                user_id=user_id,
                password=password,
                user_domain_id=user_domain_id,
                user_domain_name=user_domain_name,
                token=token,
                insecure=insecure,
                cacert=cacert,
            )

        # NOTE: all_tenants and edit_managed are pulled from the session for
        #       backwards compat reasons, do not pull additional modifiers from
        #       here. Once removed, the kwargs above should default to False.
        if all_tenants is None:
            self.all_tenants = getattr(session, 'all_tenants', False)
        else:
            self.all_tenants = all_tenants

        if edit_managed is None:
            self.edit_managed = getattr(session, 'edit_managed', False)
        else:
            self.edit_managed = edit_managed

        # Since we have to behave nicely like a legacy client/bindings we use
        # an adapter around the session to not modify it's state.
        interface = endpoint_type.rstrip('URL')

        self.session = utils.AdapterWithTimeout(
            session,
            auth=session.auth,
            endpoint_override=endpoint,
            region_name=region_name,
            service_type=service_type,
            interface=interface,
            user_agent='python-designateclient-%s' % version.version_info,
            version='1',
            timeout=timeout,
        )

        def _load_controller(ext):
            controller = ext.plugin(client=self)
            setattr(self, ext.name, controller)

        # Load all controllers
        mgr = extension.ExtensionManager('designateclient.v1.controllers')
        mgr.map(_load_controller)
    def __init__(self, endpoint=None, username=None, user_id=None,
                 user_domain_id=None, user_domain_name=None, password=None,
                 tenant_name=None, tenant_id=None, domain_name=None,
                 domain_id=None, project_name=None,
                 project_id=None, project_domain_name=None,
                 project_domain_id=None, auth_url=None, token=None,
                 endpoint_type='publicURL', region_name=None,
                 service_type='dns', insecure=False, session=None,
                 cacert=None, all_tenants=None, edit_managed=None,
                 timeout=None):
        """
        :param endpoint: Endpoint URL
        :param token: A token instead of username / password
        :param insecure: Allow "insecure" HTTPS requests
        """

        if endpoint:
            endpoint = endpoint.rstrip('/')
            if not endpoint.endswith('v1'):
                endpoint = "%s/v1" % endpoint

        # Compatibility code to mimic the old behaviour of the client
        if session is None:
            session = utils.get_session(
                auth_url=auth_url,
                endpoint=endpoint,
                domain_id=domain_id,
                domain_name=domain_name,
                project_id=project_id or tenant_id,
                project_name=project_name or tenant_name,
                project_domain_name=project_domain_name,
                project_domain_id=project_domain_id,
                username=username,
                user_id=user_id,
                password=password,
                user_domain_id=user_domain_id,
                user_domain_name=user_domain_name,
                token=token,
                insecure=insecure,
                cacert=cacert,
            )

        # NOTE: all_tenants and edit_managed are pulled from the session for
        #       backwards compat reasons, do not pull additional modifiers from
        #       here. Once removed, the kwargs above should default to False.
        if all_tenants is None:
            self.all_tenants = getattr(session, 'all_tenants', False)
        else:
            self.all_tenants = all_tenants

        if edit_managed is None:
            self.edit_managed = getattr(session, 'edit_managed', False)
        else:
            self.edit_managed = edit_managed

        # Since we have to behave nicely like a legacy client/bindings we use
        # an adapter around the session to not modify it's state.
        interface = endpoint_type.rstrip('URL')

        self.session = utils.AdapterWithTimeout(
            session,
            auth=session.auth,
            endpoint_override=endpoint,
            region_name=region_name,
            service_type=service_type,
            interface=interface,
            user_agent='python-designateclient-%s' % version.version_info,
            version='1',
            timeout=timeout,
        )

        def _load_controller(ext):
            controller = ext.plugin(client=self)
            setattr(self, ext.name, controller)

        # Load all controllers
        mgr = extension.ExtensionManager('designateclient.v1.controllers')
        mgr.map(_load_controller)